2014-01-15 John Peacock * .hgtags: Tagging version '0.9907' using shipit. [59f891910a94] [tip] 2014-01-14 John Peacock * Makefile.PL, README, lib/version.pm, vperl/vpp.pm: Stop supporting Perl releases prior to v5.6.2. Tweak the code to prevent locale from causing troubles where it cannot be used, e.g. Android. [0eb90073ce68] [0.9907] * vutil/vutil.c: That is lval not the length of the key [00fff6f82ffd] 2014-01-13 John Peacock * README: Final tweaks before releasing [7b1b98341550] * Makefile.PL, README, t/07locale.t, vperl/vpp.pm: Better way to handle locale under Android [5ba9c78a80f2] 2014-01-13 Piotr Roszatycki * vutil/vutil.h: Check USE_LOCALE [9a4981da2550] 2014-01-13 John Peacock * README: Correct spelling [bb0b009054a5] 2014-01-12 John Peacock * Makefile.PL, vperl/vpp.pm: Isolate the locale testing to make it easier to deal with on Android. On Android, strip out 'use locale' so that it doesn't fall over. [bf28d1047cf5] * README, lib/version.pm, lib/version/regex.pm, t/00impl-pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: $VERSION++ for CPAN release. [bf8d867fdd67] 2014-01-11 John Peacock * vutil/vutil.h: The new macros, and indeed the previous macros, do not work on Perl prior to 5.19.0 because the bug is actually how in Perl itself handles the locale bits. So we just go back to effectively always saving the locale. Resolves: https://rt.cpan.org/Ticket/Display.html?id=91987 [9dc839b97fbb] 2014-01-06 bulk88 * vutil/vutil.c, vutil/vutil.h, vutil/vxs.inc, vutil/vxs.xs: various XS optimizations and a leak fix vutil.h -restore 5.10 and 5.12 compatiblity, S_croak_xs_usage came from Win32::API vutil.c -add PERL_NO_GET_CONTEXT to both translation units -remove all hv_exists/hv_fetchs patterns and replace with 1 hv key getter -remove all SvIV(*av_fetch patterns, av_fetch is called multiple times in the SvIV macro -in new_version, directly use version * directly, savepvn isn't needed and doesn't convert character encoding either -in upg_version, recently this function was converted to use SAVEFREEPV this savesvpv was missed vxs.inc -make xsub details table smaller in the binary by getting rid of the NULL entries, version doesn't use prototypes, but in CORE other xsubs use them in this table -in VXS(version_new) don't read PL_stack_base more than necessary -in VTYPECHECK, make this macro eval the SV* only once. ST(123) was multi evaling/multiple recalcs of it, also this now makes POPs safe to pass. -in VXS(version_vcmp) take advantage of sv_2mortal's return val for smaller machine code -because of XSUB details table, ALIAS:/XSANY can't be used, factor out VXS(version_is_alpha) and VXS(version_is_qv), and make the XS stubs tailcall friendly on regcall ABIs -in S_version_check_key use SP semantics instead of ax, less machine code -in VXS(version_qv) don't read PL_stack_base more than necessary, this fnc could be further cleaned up, since it has obvious signs of xsubpp and hand written portions [f9d01679492f] 2014-01-05 John Peacock * vutil/vutil.c, vutil/vutil.h, vutil/vxs.inc: This was more subtle than I had initially understood [649e700fadae] * vutil/vutil.h: Somewhat faster because we avoid a strlen() call [11fb73b0be3f] * MANIFEST, Makefile.PL, vutil/vxs.xs: Apparently we do still need this, at least for Windows. grrr [b4d4e0057b40] 2014-01-04 John Peacock * vutil/vutil.c: Only need to compare the remaining string [8f1352c79510] * vutil/vutil.c: Use AvFILLp since we know av is not magical [a5367b183ff0] * vutil/vutil.c: Arrange for all saved strings to be cleaned up on scope exit [7a76ab3bbf84] * vutil/vutil.c: Use macro instead of function call for efficiency [d03bfc7f7f0f] * MANIFEST, Makefile.PL, vutil/vxs.xs: Do not need vxs.xs any longer [c2cc74f7ebf4] * vutil/vxs.inc: Remove unnecessary variable. Resolves: https://rt.cpan.org/Ticket/Display.html?id=91867 [190410bc3966] * vutil/vutil.c: Use equivalent macro from Perl [ffc872209ccb] * .hgtags: Tagging version '0.9906' using shipit. [f3985248813a] * README: Update README for new CPAN release. [9f49d95d787c] [0.9906] * lib/version.pm, lib/version/Internals.pod, lib/version/regex.pm, t /00impl-pp.t, t/01base.t, t/02derived.t, t/03require.t, t/04strict_lax.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Restore $version::LAX functionality, resolves: https://rt.cpan.org/Ticket/Display.html?id=91858 [3129d0a133d9] 2014-01-04 Karl Williamson * vutil/vxs.inc: vxs.inc: Move code to after declarations This macro, added in e1c774b6, is actual code, and needs to be after the declarations, so that C89 compilers compile it. [d2ac7d3ab38f] 2014-01-04 John Peacock * .hgtags: Tagging version '0.9905' using shipit. [5b7173e3cf28] * README: Ready to release to CPAN [143beb1ecc7c] [0.9905] * Makefile.PL, lib/version.pm, t/09_list_util.t, vperl/vpp.pm: Finally resolve all test failures going back to 5.005_04 [e291744a1699] * lib/version/typemap: Merge from sprout branch now that it is in the core [414c7e7bdab3] * Ready to merge to default [0e5b9977f472] 2013-12-29 John Peacock * t/coretests.pm, vperl/vpp.pm, vutil/vutil.c: Protect against arrayref/hashref being used to initialize. [cae5dc47e323] * vutil/vxs.inc: Always export version::_VERSION method [3ef36df5fa82] 2013-12-29 Father Chrysostomos * vutil/vxs.inc: Use VXS_ prefix for XSUB bodies in CPAN version The names of the functions in core and in the CPAN version will con- flict otherwise. Since perl versions before 5.16.0 did not have XS_INTERNAL (which could solve this problem another way, making the functions static), it’s easier just to use different names. [e5ff1195df80] 2013-12-29 John Peacock * MANIFEST, Makefile.PL, vutil/vxs.in, vutil/vxs.inc: Revert these changes prior to importing patch from Sprout [aa7f38340804] * lib/version.pm, vutil/lib/version/vxs.pm: Mark block to be deleted when adding to Perl core. Simplify usage of version::regex. [45e5f442c363] 2013-12-26 John Peacock * vutil/vutil.c: Improve upg_version for abusively large NV case. From: Daniel Dragan Date: Thu, 26 Dec 2013 01:09:39 -0500 Subject: [PATCH] remove redundant SV operations from upg_version sv is empty because it is new, setpvf will do useless sv_vsetpvf(sv, "") before calling sv_vcatpvfn_flags, just call sv_catpvf. sv_vcatpvfn_flags does a sv_pvn_force_flags, so sv will always be POK afterwards, so just access members directly and remove SV conversion check and branch. upg_version should be a tiny bit faster in case abusively long versions are parsed. This commit improves the commit 78e230aef1 for perl #112478. [255cc73939b7] 2013-12-25 John Peacock * Makefile.PL: Prevent shadowed version.pm. Resolves https://rt.cpan.org/Ticket/Display.html?id=88909 [234d5fe16460] * MANIFEST, t/09_list_util.t, vutil/vutil.c, vutil/vxs.in: Don't steal SV's when you can help it. Resolves https://rt.cpan.org/Ticket/Display.html?id=91323 [87b481c20881] * t/coretests.pm, vutil/vutil.c: Need to handle [unsigned] integers differently. [1f178af738e5] 2013-12-22 Karl Williamson * t/07locale.t: t/07locale.t: 'use locale' needs to be moved A test that is supposed to be outside the scope of 'use locale' is instead within the scope. [e9c9b887a74b] * t/07locale.t: t/07locale.t: Tests were likely skipped The logic was wrong in the loop exit, so that on the many machines that don't have an Afghan locale, most tests in the file are skipped. The problem is that it wasn't testing if changing to the trial locale actually worked. [7b9d5921f6dd] 2013-12-07 John Peacock * t/coretests.pm, vperl/vpp.pm: Do not hardcode 'version' when $CLASS is correct [b1f2e197e70e] 2013-11-30 John Peacock * vperl/vpp.pm: Go back to the old style since we need to still support older Perls [8c3dd9b09c8c] * lib/version.pm, lib/version/regex.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Be consistent about what minimum Perl version we support [3a1ba8a49521] * MANIFEST, Makefile.PL, README, lib/version.pm, lib/version/typemap, t/00impl-xs.t, vutil/lib/version/vxs.pm, vutil/vxs.in: Complete exercise to make version:vpp independent. Deprecate XS code in all Perl releases prior to v5.10 [e8095080969c] 2013-11-19 John Peacock * lib/version.pm, lib/version/regex.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Finally have all tests passing [6e0377fec777] 2013-11-17 John Peacock * MANIFEST, Makefile.PL, lib/version.pm, lib/version/regex.pm, t/02derived.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Move regexes to independent class and make both implementation class completely standalone [192ce2309a99] 2013-11-12 John Peacock * t/coretests.pm: Do not assume what the class is here [2caf7c7a3b12] 2013-11-03 Father Chrysostomos * vutil/vxs.in: vxs.inc: Fix thinko This was causing test failures after rebasing against blead. [886acc1dc1c9] 2013-11-03 John Peacock * MANIFEST, Makefile.PL, vutil/vxs.in, vutil/vxs.inc: Rename vxs.inc to vxs.in so we can edit on the fly out-of-core [dab16fd6384e] 2013-10-23 John Peacock * MANIFEST: Add new implementation class tests to MANIFEST. [88bf30fb7335] * Makefile.PL: Need to rename XS_UNIVERSAL_VERSION as well. [ec99e6586265] 2013-10-22 John Peacock * vperl/vpp.pm: Merge from default [e61323b2f598] * Makefile.PL, t/00impl-pp.t, t/00impl-xs.t, vperl/vpp.pm: Dupe the import() routine so that version:vpp is standalone [8464fd2353e7] * Makefile.PL: Need to rename the XS functions outside of the core [2b38b93a93d9] 2013-10-18 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/08_corelist.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Bump $VERSION. Make version::vpp a completely standalone class and test it. [68da07b3d1d1] 2013-10-16 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/08_corelist.t, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vxs.xs: Bump $VERSION everywhere. Make details[] static array [0303b632df78] 2013-10-08 Father Chrysostomos * vutil/vxs.inc: vxs.inc: qv: Backport perl 5.16's utf8 and null handling ppport.h provides HvNAMELEN_get, but we have to use #ifdefs for HvNAMEUTF8. [35248c2474c9] * t/coretests.pm: Another test for #88495, this time with qv This bug was also caused by perl commit ed1db70e122, the CPAN version being unaffected. [4fa3d433a173] * vutil/vxs.inc: vxs.inc: new: Backport perl 5.16's utf8 and null handling ppport.h provides HvNAMELEN_get, but we have to use #ifdefs for HvNAMEUTF8. [24a3f9dc48f1] * vutil/vxs.inc: vxs.inc: new: Don't hard-code class name [e761e21c1db2] * t/coretests.pm: Test rt.cpan.org #88495 This string comparison bug has only ever existed in the perl core. It was ed1db70e1224 in 5.16 that introduced it [8c74c593ab60] * vutil/vxs.inc: vxs.inc: new: Avoid Perl_sv_setpvf_nocontext sv_setpvf expands to Perl_sv_setpvf_nocontext under threaded builds starting from 5.6. Perl_sv_setpvf_nocontext is slow because it has to call a special OS-provided function to fetch the interpreter object associated with the current thread. Just passing the interpreter through is faster. This is what the blead version of this routine already does. perl 5.005 does not have long Perl_* names, so we have to do it the old way for that version. [5ffa46f7c2d6] * vutil/vxs.inc: vxs.inc: new: check arglist first, don't read beyond Check the number of arguments before reading any. Using ST(1) when items == 1 *shouldn’t* cause any problems if the value returned is never used, but it could theoretically read into unallocated memory. Also, don’t bother with get-magic if we are going to croak anyway (>3 args). [77e4604d43f1] * vutil/vxs.inc: vxs.inc: Remove use of Null(...) This is not defined under PERL_CORE. [ccb2049fc81c] * vutil/vxs.inc: vxs.inc:VERSION: backport utf8 and null handling from blead Since older perls than 5.16 didn’t have HEKf and 5.8 not even HvNAME_HEK, we need an #ifdef maze. [d1b03ff71c8d] * vutil/vxs.inc: RT #88572: Better usage msg for UNIVERSAL::VERSION() I.e., mention UNIVERSAL::VERSION rather than version::vxs::_VERSION. [89e6712c44cf] * MANIFEST, Makefile.PL, vutil/vxs.inc, vutil/vxs.xs: Extract XS routines into a separate file This way the same vxs.inc can be included by the perl’s universal.c and by our vxs.xs. [e42f0b6eee81] * vutil/vutil.c, vutil/vutil.h: Make vutil.* meet the Perl core's needs This brings version.pm and perl’s copies of vutil.* into synch. [de6daa4fa5f0] 2013-09-23 John Peacock * vutil/vutil.c: Handle integer-only versions that overflow either UV or IV [57698e44e5ee] 2013-09-05 John Peacock * vutil/vutil.c: Use savepvn() for efficiency [96ed7a4be81e] 2013-09-02 John Peacock * .hgtags: Tagging version '0.9904' using shipit. [4fab8f3e7a2c] * t/08_corelist.t: Almost forgot to add this [4e3713e87478] [0.9904] * vutil/vxs.xs: Delete this useless code path [5effc1d02853] * README: Fixup typo in README [7b9cc580738a] * MANIFEST, Makefile.PL, README, t/07locale.t, vutil/vutil.c, vutil/vxs.xs: A couple subtle changes from bleadperl. Also, require parent to be installed even if it should have been installed already (Thanks RHEL!). Handle magical initializers (like tied hash elements), but only test where we can do it easily. [6fd396e1006b] 2013-08-20 John Peacock * README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/04strict_lax.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Final sync with bleadperl [4d748bda798b] 2013-08-18 John Peacock * .hgtags: Tagging version '0.9903' using shipit. [02af417226b0] * vutil/lib/version/vxs.pm: Missed one VERSION++ [8c04e6e6f195] [0.9903] * README: Final tweaks before release to CPAN [a63c5368dbae] 2013-08-16 John Peacock * lib/version.pod: More whitespace normalization [bebbe00cbd68] 2013-08-15 John Peacock * lib/version.pm, lib/version/Internals.pod, t/01base.t, t/02derived.t, t/03require.t, t/04strict_lax.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/coretests.pm, vperl/vpp.pm: Merge with core perl changes and bump $VERSION for release. [cf81a9587bf2] 2013-07-06 John Peacock * lib/version/Internals.pod: Resolve https://rt.cpan.org/Ticket/Display.html?id=86582 [f831a867b6be] * Makefile.PL: Always install version::vpp even when installing XS code Resolves https://rt.cpan.org/Ticket/Display.html?id=84616 [e983c52f6935] * Makefile.PL: Require the correct minimum version of "parent" [1aa33af2f954] * Makefile.PL, t/coretests.pm: Eliminate "use base" usage [ffee69e907be] 2013-03-06 John Peacock * .hgtags: Tagging version '0.9902' using shipit. [5c6574976e24] * lib/version.pm: Make sure to create &version::new alias with all Perls [9fc95f57161a] [0.9902] 2013-03-05 John Peacock * README: Ready for release to CPAN [e8829f2f8800] 2013-03-03 John Peacock * vperl/vpp.pm: Pure Perl version::new() should also croak if called as function. Resolves: https://rt.cpan.org/Ticket/Display.html?id=81085 [823994482617] * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Cope with hashkey ordering changes. Resolves: https://rt.cpan.org/Public/Bug/Display.html?id=81708 [3c49b0c9c7d6] * Makefile.PL: Implement PERL_ONLY environment variable. Resolves: https://rt.cpan.org/Public/Bug/Display.html?id=83509 [be18a6913e9d] * .hgignore, vutil/vutil.c, vutil/vxs.xs: Don't create object structure until after prescanning, resolves: https://rt.cpan.org/Public/Bug/Display.html?id=81086 [50e4af5e81ce] 2012-11-15 John Peacock * t/01base.t, vutil/vxs.xs: Resolve https://rt.cpan.org/Ticket/Display.html?id=81085 [38f2fe7b96fd] 2012-09-10 John Peacock * .hgtags: Tagging version '0.9901' using shipit. [4ede6195fa54] 2012-09-09 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Fix problem with short floating point alpha versions (e.g. 0.52_0). Resolves: https://rt.cpan.org/Ticket/Display.html?id=79259 [d0e1d933089b] [0.9901] 2012-04-26 John Peacock * .hgtags: Tagging version '0.99' using shipit. [5b92453596f4] * README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Missed a patch from bleadperl. [47af644a41f0] [0.99] 2012-04-25 John Peacock * .hgtags: Tagging version '0.98' using shipit. [f2b560650d71] * README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Final prep for release to CPAN [9b2b10192e6d] [0.98] * t/coretests.pm: And apply test for overflowing versions... [428561b08acb] * vutil/vutil.c: Apply changes from Perl core to prevent buffer overflow with ludicrous version objects. [dda581b33ebb] 2012-03-26 John Peacock * .hgtags: Tagging version '0.97' using shipit. [b92630594a52] 2012-02-28 John Peacock * README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Prep for 0.97 release to CPAN [40481a8c9961] [0.97] 2012-02-27 John Peacock * t/07locale.t: Need to actually check to make sure we have a comma locale. [01831906b0fc] 2012-02-06 John Peacock * .hgtags: Tagging version '0.96' using shipit. [869515de8517] * lib/version.pod, vutil/vutil.c: Final merge from bleadperl plus whitespace cleanup [6cfe8a913105] [0.96] 2012-02-05 John Peacock * t/07locale.t: Wrong skip count and extra whitespace [eec6bacab6ae] * MANIFEST, lib/version.pm, t/07locale.t, t/comma_locale.pl, vperl/vpp.pm: Eliminate comma_locale helper script after all, since we don't really need it with only one locale test file. [b8f4bc01a4cb] 2012-02-04 John Peacock * lib/version/typemap, vutil/vutil.c, vutil/vxs.xs: Sync with Perl core, especially not leaking scalars during boolean. [5849413db03c] 2012-02-02 John Peacock * lib/version.pm, t/comma_locale.pl, t/coretests.pm: Figured out what I was missing on Perl > 5.9 tests. [02cc6870927d] 2011-12-26 John Peacock * MANIFEST, t/coretests.pm: For some reason, the pure Perl test fails otherwise. [957517cbd08f] * t/08locale-105784.t: Turns out this isn't a bug in version but in Perl, so we cannot test it here. [4e1e1ce197b9] 2011-12-20 John Peacock * MANIFEST, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/06noop.t, t/07locale.t, t/08locale-105784.t, t/comma_locale.pl, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Merge changes from bleadperl. Split out locale testing to two files. Prep for releasing 0.96 to CPAN. [c1267228d702] 2011-12-01 John Peacock * lib/version.pod: No longer recommend 0.77 in the use line. [cbc5615a685d] 2011-11-12 John Peacock * .hgtags: Tagging version '0.95' using shipit. [f76612f96814] * README, t/coretests.pm, vutil/vxs.xs: Turns out the XS code didn't prevent the math ops from working after all. Add a test to make sure we catch that and update README for release. [9f4e1ff7704c] [0.95] * t/06noop.t: Forgot to add test file for math noop methods [ca0bc8526ea5] * MANIFEST, vperl/vpp.pm: Restore 5.14.x behavior of UNIVERSAL::VERSION to pure Perl code [1dd0281f09b8] * t/coretests.pm, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Fix segfault with versions that start with 'v', especially 'version'. [868edaf0223b] 2011-10-30 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, t/coretests.pm, vutil/lib/version/vxs.pm: Bump $VERSION in preparation for eventual release. [3bcfd3008cbc] * vutil/vxs.xs: Revert change to UNIVERSAL::VERSION replacement, pending ruling from the bench. [d5c1282dfe13] * vperl/vpp.pm: For some reason, nomethod doesn't work in pure Perl code, so be explicit about ops that are not allowed. [5cad9cde035e] 2011-08-21 John Peacock * .hgtags: Tagging version '0.94' using shipit. [743538f58cb7] * Makefile.PL, lib/version.pod, lib/version/Internals.pod: Tweak POD and add LICENSE to Makefile.PL. Resolves: https://rt.cpan.org/Public/Bug/Display.html?id=70120 [3a4fae29c763] [0.94] * MANIFEST, t/05sigdie.t: Add test to confirm that the $SIG{__DIE__} handling is correct. [4a421bba05c9] * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Prevent DIE handlers in user code from tripping up loading version. Don't know how this hasn't shown up until now. Resolves: https://rt.cpan.org/Ticket/Display.html?id=70260 [754fd86858af] 2011-07-27 John Peacock * .hgtags: Tagging version '0.93' using shipit. [1fb9bb0676db] * t/coretests.pm: Reorder tests and include both positive and negative test for exception. [758140b17786] [0.93] * README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vxs.xs: Fix problem with UNIVERSAL::VERSION spotted by Father Chrysostomos. [2a7768a85f8b] 2011-07-26 John Peacock * .hgtags: Tagging version '0.92' using shipit. [8dc71db60aaa] * README: Remember to update README for a change [23c8ac5df1db] [0.92] * lib/version.pm: Forgot to update the logic for the pure Perl version [6b616b3cf67d] * t/coretests.pm: Plus Tests for UNIVERSAL::VERSION! [bdcc02a495da] * vperl/vpp.pm: Forbid negative version in pure Perl and update UNIVERSAL::VERSION replacement. Plus Tests! [3e6273e898c4] * vutil/vxs.xs: In UNIVERSAL::VERSION, don't convert the package $VERSION into a version object unless you need to actually compare it; return the original $VERSION scalar in any case. [573e3dacc865] * vutil/vxs.xs: Eliminate tab characters [b81f8f7ddc53] * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/coretests.pm, vutil/lib/version/vxs.pm, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Rewrite overriding logic to just bulk replace the core code after the point where version.pm was assimilated. Also correct handling of negative versions (and add tests), to mirror what was done in core. [b1774b895712] 2011-06-06 John Peacock * .hgtags: Tagging version '0.91' using shipit. [d9305ef3630f] * .hgtags: Removed tag 0.91 [089ab8b080ba] [0.91] * .hgtags: Tagging version '0.91' using shipit. [749088e4a014] 2011-06-05 John Peacock * README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Protect the Perl core functions introduced in 5.11.4, which only apparently causes problems with Strawberry Perl. Bump $VERSION everwhere and even remember to update README. [b65d7a359ae6] 2011-06-01 John Peacock * .hgtags: Tagging version '0.90' using shipit. [30cea8f2eac2] * README: Remember to edit README this time [137df6eaa22c] [0.90] * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Sloppy release for 0.89; I forgot to bump all of the release tests. Do this now and resolve: https://rt.cpan.org/Ticket/Display.html?id=68588 [e7b1d5a01256] 2011-05-31 John Peacock * .hgtags: Tagging version '0.89' using shipit. [5cf121b754b6] * vperl/vpp.pm: Act like vxs version and always use version->new method for qv/declare, then rebless into inherited class [1eb73dd9059b] [0.89] * t/02derived.t, t/coretests.pm: Failing test case with version::vpp only [7dedb7cb50d0] * t/03require.t: More bumping [131ed8486036] * lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Bump $VERSION prior to testing new changes. [d38b0fc42650] * README: Remove discussion of Build.PL (no longer supported) Resolves https://rt.cpan.org/Ticket/Display.html?id=66206 [4a16bc27cffa] 2010-12-20 John Peacock * .hgtags: Tagging version '0.88' using shipit. [a1d7151ace67] 2010-12-19 John Peacock * Makefile.PL, README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Tweak Makefile.PL to make Strawberry Perl happy. [36b62c0768b4] [0.88] 2010-12-09 John Peacock * .hgtags: Tagging version '0.87' using shipit. [f8caa8f3a657] * Build.PL, MANIFEST, Makefile.PL, README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Remove support for Build.PL to keep from introducing circular dependencies. [1d290fc3106c] [0.87] 2010-11-27 John Peacock * lib/version.pod: Apply misc POD cleanup. Resolves: https://rt.cpan.org/Ticket/Display.html?id=57950 https://rt.cpan.org/Ticket/Display.html?id=56737 [afc2d76243df] 2010-11-26 John Peacock * .hgtags: Tagging version '0.86' using shipit. [7c17b9c1c275] * MANIFEST, README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/04strict_lax.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Fix export of is_strict/is_lax and add strict/lax tests from core [db0bb33d2774] [0.86] 2010-10-25 John Peacock * .hgtags: Tagging version '0.85' using shipit. [b1a798a38d69] * MANIFEST, MANIFEST.SKIP, README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Don't ship MYMETA.yml file in distro. [bb855abc0625] [0.85] 2010-10-24 John Peacock * .hgtags: Tagging version '0.84' using shipit. [b8782eba0763] * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Restore public API broken by 0.83 [a475d9c09d66] [0.84] 2010-10-17 John Peacock * .hgtags: Tagging version '0.83' using shipit. [e25cf06d69ff] * MANIFEST: Checking in changes prior to tagging of version 0.83. Changelog diff is: [383db44a8de3] [0.83] 2010-10-12 John Peacock * vperl/vpp.pm: Fixup support for non-magical v-strings in 5.6.2-5.8.0 [e5860248010f] * vutil/ppport.h, vutil/vutil.c, vutil/vutil.h: XS code finally passes on all support Perl releases! [7f8a96283d17] 2010-10-10 John Peacock * t/coretests.pm, vperl/vpp.pm, vutil/vutil.c, vutil/vutil.h: Change vverify API (David Golden) and simplify usage. [ba0f930f83c4] 2010-09-28 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vutil/lib/version/vxs.pm, vutil/vxs.xs: First pass at merging in changes from bleadperl. [b2b70ee7b7c6] 2010-05-02 John Peacock * lib/version.pm, vutil/vutil.c, vutil/vutil.h: Apply patch from Zefram to build correctly with Perl dev releases in the 5.9.{3..5} and 5.11.{0..4} ranges. [7384ae8a7947] * Build.PL, Makefile.PL: Apply patch from Todd Rinaldo (modified) to install dual-lifed modules into the correct post-@INC reordering location (basically site instead of core). Only applies to Perl >= 5.9.1 and < 5.11.0. [7de0686270a3] 2010-04-19 John Peacock * .hgtags: Tagging version '0.82' using shipit. [76eac991d1ab] * README, lib/version.pm, lib/version.pod, lib/version/Internals.pod, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/ppport.h, vutil/vutil.c, vutil/vutil.h: Merge all changes from 5.12.0 into the CPAN release. Fix up compilation so the CPAN release works with 5.12.0 too. Tests work from 5.005_04 to 5.12.0 [8648e6e4d9d4] [0.82] 2010-02-01 John Peacock * .hgtags: Tagging version '0.81' using shipit. [3bd3e49d505b] * lib/version.pm, lib/version.pod, lib/version/Internals.pod: Merge in documentation and whitespace changes from bleadperl [3e764e7fdd39] [0.81] * lib/version.pm: More consistent formatting and program flow. Now 5.10.1 passes with pure Perl version too. [d2869cfa8443] * lib/version.pm: Restore compatibility with Perl v5.10.1 [f5fb5ff1fe50] 2010-01-31 John Peacock * vperl/vpp.pm, vutil/vutil.c: Check for empty before testing residual text. Tests fail with 5.10.1 [8f97e44fb308] * vperl/vpp.pm, vutil/vutil.c: Better heuristics for guessing v-strings. [d504b73d828a] * vperl/vpp.pm: DTRT for boolean operation (which only freaks on 5.6.2). [efeb8205d6de] 2010-01-30 John Peacock * vperl/vpp.pm: Need to have two independent constant calls to make 5.005_04 happy. [871d9d322f6a] * vperl/vpp.pm: All tests pass with pure Perl version! [e8e8f781ffd7] 2010-01-29 John Peacock * vperl/vpp.pm: Closer and closer to functionality. [b54b50a597c8] 2010-01-28 John Peacock * vperl/vpp.pm: Much cleanup so that it actually compiles and mostly works. Not getting the correct original string (probably because of overloading confusion). [4d4e91a0c198] * vperl/vpp.pm: Remove duplicated code from new() and rename helper class [f44107a742bd] 2010-01-27 John Peacock * lib/version.pm, vperl/vpp.pm: This almost certainly doesn't work, but commit it now before cleaning up [7ea2e86e2eb9] 2010-01-21 John Peacock * released to CPAN so close [d718924a70dd] * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.h: Merge in the changes from version-0.80 feature branch [6c7bf1b4df86] * vutil/vxs.xs: Missed these changes when merging from bleadperl. [25c41c1c4fff] * .hgtags: Tagging version '0.80' using shipit. [895ef02e8ccc] * .hgignore: No, really, ignore existing tarballs [144c85b7c4ec] [0.80] * .hgignore: Ignore previous tarballs [50e19235090e] * README, vutil/vutil.h: Release to CPAN with just the assertion fix for older compilers. [e50ae7f5c829] * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Bump $VERSION in all files in preparation for quick CPAN release [c3e609936451] * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Currently failed attempt to merge with bleadperl [b973a2052a49] 2010-01-12 John Peacock * lib/version.pm: Revise grouped regex again for better clarity. [c9c0417e00a2] * lib/version.pm: Anchor all regexes and bump $VERSION [ecd8c9c85418] * lib/version.pm, vutil/vutil.c, vutil/vutil.h: Merge back changes from bleadperl enhancements. [353cd4fe59e1] 2010-01-10 John Peacock * .hgtags: Tagging version '0.79' using shipit. [ec386b00d27a] * .hgtags: Removed tag 0.79 [824035a0f02a] [0.79] * vutil/vutil.c, vutil/vutil.h: Take the easy road to restore compatibility with Perl v5.10.1 [4ce98cb6eba3] 2010-01-09 John Peacock * .hgtags: Tagging version '0.79' using shipit. [87475097cea8] * .hgignore: tweaks to make mercurial happy [7c5fd8f32175] * .shipit, Build.PL: Fixup to make shipit happy [3dbce4937c28] * .hgtags: Rename all of the tags to be consistent [2c38a17bfdec] 2010-01-06 John Peacock * .shipit, Build.PL, MANIFEST, MANIFEST.SKIP, README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/04lax.t, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/ppport.h: Restore compatibility with Perl 5.00505 (finally). Bump all VERSION references. [05d5b8b44166] 2009-12-27 John Peacock * vutil/ppport.h, vutil/vutil.c, vutil/vutil.h: Merge in changes from bleadperl. Tests do not pass with 5.005. [0b19155e8e21] 2009-12-22 John Peacock * vutil/ppport.h: Resolves https://rt.cpan.org/Ticket/Display.html?id=52439 [c7fc26126a1d] 2009-12-20 John Peacock * t/coretests.pm, vutil/vutil.c, vutil/vutil.h: All tests passing except the VERSION_MAX ones. [912515d937e8] * lib/version.pm, vutil/vutil.c, vutil/vutil.h: Almost completely transfer the code from scan_version to prescan_version. Still failing some tests. [ecd415561454] 2009-12-19 John Peacock * t/04lax.t, vutil/vutil.c: Now handles decimal versions, too [a1138d18495e] * vutil/vutil.c, vutil/vutil.h: isVERSION handles dotted-decimal version format [8d994d73689b] * MANIFEST, lib/version.pm, t/04lax.t: New regexes that define the legal version strings under both $LAX, (current code) and $STRICT (new feature for Perl 5.12.0). [46076dadb3fb] 2010-01-02 John Peacock * .hgtags: Removed tag trunk [b0d50d9f1a11] 2010-01-03 convert-repo * .hgtags: update tags [f173c486b889] 2009-10-23 John Peacock * README: Forgot to edit the README [2d4a0ce8a432] [0.78] 2009-10-16 John Peacock * Build.PL: Make sure we override the system version.pm in the core for perl5.10.x [b14a586bc973] * README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Bump $VERSION in all files and add README text [3769cd2104e4] * t/coretests.pm, vperl/vpp.pm, vutil/vutil.c: Smarter handling of non-magic v-strings. Resolves https://rt.cpan.org/Ticket/Display.html?id=50347 [eef6bc4dfe66] 2009-09-07 John Peacock * Build.PL, MANIFEST.SKIP, Makefile.PL, README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Tighten up un_vstring code to limit the number of false positives. Bump $VERSION in anticipation of release to CPAN. [99a5b00b1322] [0.7702] * vutil/vxs.xs: Stop leaking SV's. Thanks to Goro Fuji for patch [b7971e698393] 2009-07-29 John Peacock * lib/version.pm: Little jog to make sure META.yml does't contain UNIVERSAL [d8be3ffd4f0e] [0.7701] * t/01base.t, t/02derived.t, t/03require.t, t/coretests.pm: Only replace use_ok() if running with Test::More < 0.48 [abbb0f538f09] * t/01base.t, t/02derived.t, t/03require.t, t/coretests.pm: Provide replacement use_ok to make the 02derived.t tests pass. [b68f7b3b45a3] * README, lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Fix for https://rt.cpan.org/Ticket/Display.html?id=48268 [2451e01d2bb0] 2009-07-26 John Peacock * MANIFEST.SKIP, t/test-all: Script to run through all of the Perl releases in one go [2f70ab72fce5] [0.77] * lib/version.pm, lib/version.pod, t/03require.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Release 0.77 to CPAN without the warning change, for release with 5.10.1 [2dd1f289b9d6] 2009-07-25 John Peacock * lib/version.pm, lib/version.pod, lib/version/Internals.pod, t/03require.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Finally complete the POD rewrite. Change the behavior to throw a warning if you try and use a v-string without a leading 'v' in a version object declaration (this may get pulled) and rewrite the POD to follow the New World Order. [a1d00623599f] [0.76_06] 2009-07-24 John Peacock * vutil/vxs.xs: Resolves https://rt.cpan.org/Public/Bug/Display.html?id=48135 [c6faa44298a4] 2009-07-23 John Peacock * t/03require.t: Forgot to bump this. Always run tests before committing! [9c337e8cb52b] [0.76_05] * lib/version.pm, lib/version/Internals.pod, vperl/vpp.pm, vutil/lib/version/vxs.pm: Revised version::Internals POD; bump $VERSION for potential last CPAN release. [7b670b5d6ea9] 2009-07-22 John Peacock * lib/version/Internals.pod: WIP for version::Internals [8297110f2601] 2009-07-21 John Peacock * vperl/vpp.pm: Don't need to load the class in order to check whether it contains package or assignments. [06243347218c] 2009-07-18 John Peacock * lib/version/Internals.pod: Rename Extended to Dotted-Decimal [dc359eae7e2a] * lib/version/Internals.pod: Rename "Numeric" to "Decimal" [b6b50a5daa42] * t/01base.t, vperl/vpp.pm: Fix for RT#47980. Don't check $@ if you haven't actually done the eval(). [acb920d7cef0] 2009-07-16 John Peacock * lib/version.pod: Apply David Golden's suggested changes with some minor massaging. [e9512a15a222] 2009-07-15 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm: Another CPAN alpha release. [e26574a18138] * lib/version/Internals.pod: Start reworking the Internals documentation into something useful. [8e9ab213ca71] 2009-07-14 John Peacock * lib/version.pod: Tweakage of POD [f4b255271dea] 2009-07-10 John Peacock * Neglected to delete this directory from the repo [c15753ca26a4] 2009-06-29 John Peacock * lib/version.pm: Allow the pure Perl version module to be installed on Perl 5.10.0, and trump the core code. [66b7fe42bb1c] * vutil/vxs.xs: Better heuristic for deciding when to rebless [b1047051f49d] 2009-06-28 John Peacock * MANIFEST: Remove old file from MANIFEST [fef46a79d99e] * t/02derived.t: Convert this test to make its own Empty class [512119966626] * t/01base.t, t/02derived.t: Missed a couple more MAGIC NUMBERS in the tests. [de9b1f70035c] [0.76_03] * t/03require.t, vutil/ppport.h, vutil/vxs.xs: Tests all pass now in 5.005_04 in XS mode too! Need to adapt the pure Perl release to work with 5.10.0 as well. [d87810010af2] 2009-06-27 John Peacock * vutil/vutil.c: Whitespace differences from blead [11d9d5aa14e5] * lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/ppport.h, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Sync changes from bleadperl to vutil.c [06a791415f60] 2009-06-26 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Finally have all tests passing in 5.10.0! [12e2c2734df2] [0.76_02] 2009-06-23 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/coretests.pm, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Disable all tests for 5.10.0 for the moment, so we can release as an alpha and not falsely claim success or failure. [117cf7bc318c] [0.76_01] 2009-06-13 John Peacock * MANIFEST, lib/version.pm, lib/version.pod, t/coretests.pm, t/survey_locales, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Fix RT#46921 - locale and eval action at a distance. All tests pass except on 5.10.0 (because the core code is broken). [62418faea5c1] * vperl/vpp.pm: Fix mistaken regex to convert large exponential numbers to non- exponential form before scanning. Resolves: https://rt.cpan.org/Ticket/Display.html?id=45241 [5715905cff8e] 2009-05-27 John Peacock * lib/version.pod: More fiddling with the revised POD. [21ade06134cf] 2009-05-21 John Peacock * t/coretests.pm, vperl/vpp.pm: Resolve some more misleading warnings from vpp.pm in 5.005 and 5.6 [ed2fef63bcd5] * lib/version.pod, vutil/vxs.xs: Misplaced #endif caused 5.005_04 and 5.6.x to fail tests. Add documentation for is_qv. [ff49d875d4db] 2009-05-18 John Peacock * Build.PL, MANIFEST, Makefile.PL, lib/version.pm, t/02derived.t, t/coretests.pm, vperl/vpp.pm, vutil/vxs.xs: Make all test pm files use File::Temp. Change qv() to be both method and function. All tests pass using Build.PL from perl 5.6.x forward, but a couple of test failures using Makefile.PL in 5.6.x and 5.005_04. [ed43ca29ece0] 2009-05-16 John Peacock * lib/version.pm, lib/version.pod, lib/version/Internals.pod, t/01base.t, t/02derived.t, t/coretests.pm: Tests pass but POD is incomplete [11254dcab7d9] 2009-05-10 John Peacock * lib/version.pm, t/01base.t, t/coretests.pm, vperl/vpp.pm, vutil/vxs.xs: All tests pass in all Perl's and in XS and pure Perl. Perl 5.005_04 still throws lots of stupid warnings in pure Perl; can't help it apparently. [9a918d58dade] * lib/version.pm: Now tests all pass on 5.005 as well (two warnings I can't prevent) [5a39adbf0540] * lib/version.pm, t/02derived.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Now all three test files are 100% for 5.8.x and 5.10.x, but 01 and 02 fail with 5.6.x and 5.005 [a4752ce2b56f] 2009-05-09 John Peacock * lib/version.pm, t/01base.t, t/02derived.t, t/03require.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/ppport.h, vutil/vxs.xs: Begin massive reorg/redesign. Tests 01 and 03 are 100%; 02 needs work. [a3753d1d5cce] 2008-07-19 John Peacock * Build.PL, README, t/coretests.pm, vperl/vpp.pm, vutil/vutil.c: Fix segfault with core version stringification of serialized version objects without an 'original' entry. See http://rt.perl.org/rt3/Public/Bug/Display.html?id=56606 [16daa88f2678] [0.76] 2008-07-09 John Peacock * lib/version.pm, vperl/vpp.pm, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Only need to rev the underlying vstringify2() function. [23e9f4481634] * Build.PL, Makefile.PL, lib/version.pm, t/01base.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Commit working implementation to handle badly formed version objects thanks to Data::Dumper. :( [6050e0da2b4c] 2008-06-15 John Peacock * Build.PL, Makefile.PL, README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Interim release to correctly install under Perl v5.10.0. [c4aa055ccd98] [0.7501] 2008-06-07 John Peacock * lib/version.pm: Forgot to bump the $VERSION. Go figure. [dbbecb65c4d0] [0.75] * README, lib/version.pod: Improve POD to clarify usage and prevent confusion. [eee5ab6de8f5] 2008-04-02 John Peacock * README, vperl/vpp.pm, vutil/lib/version/vxs.pm: Optionally use the more efficient XSLoader instead of DynaLoader. Resolves http://rt.cpan.org//Ticket/Display.html?id=34590 [a5523907ee11] 2007-10-25 John Peacock * lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Data::Dumper is sometimes too clever for its (and our) own good. When copying an existing version object, directly set newSViv instead of using &PL_sv_yes, since the latter has a PV slot which looks shared to D::D's jaundiced eye. Resolves: http://rt.cpan.org/Public/Bug/Display.html?id=30004 [5aca82860f43] [0.74] 2007-09-21 John Peacock * Makefile.PL, README, lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: New code to handle versions too large to fit into an IV slot. Both the pure Perl and XS code are now safe to use with ~0 Test new functionality. [f4568009efad] [0.73] 2007-04-18 John Peacock * README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Neglected to delete or comment out a $DB::single (again). [2d253bf649ea] [0.7203] * vutil/vutil.c: One last place that needed a leading 'v' (for non-magic v-strings). [a04ee2c3f3c7] [0.7202] * lib/version.pod, t/coretests.pm, vperl/vpp.pm, vutil/vutil.c: v-string created version objects always stringify with a leading 'v' for consistency's sake, since we have no way of knowing whether one was present for 5.6.0 <= Perl < 5.8.1 (non-magic v-strings). [0a54f4c303f8] 2007-04-17 John Peacock * README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: When copying an existing version object, forgot to copy the original string representation. [c31baa71e540] 2007-04-15 John Peacock * README, lib/version.pm, lib/version.pod, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c, vutil/vxs.xs: Return original string value for all stringification cases except for qv(1.2) which returns 'v1.2' for roundtrip purposes. [1db9ee5c5e4d] [0.7201] 2007-04-13 John Peacock * README, lib/version.pm, lib/version.pod, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c, vutil/vutil.h: Output the original string form for numeric versions for XS code now. Ready to release to CPAN. [b27f4db6e569] [0.72] * t/coretests.pm, vperl/vpp.pm: It will be less surprising to overload string comparisons (now that the default stringification is identical to the initializer) than it would be to not overload them. [54757ab1ca1e] 2007-04-12 John Peacock * vperl/vpp.pm: Better way to handle the undef initialization case. [0e12a1371bc4] * t/02derived.t, t/coretests.pm, vperl/vpp.pm: Disallow string comparisons with version objects. Tests adjusted to use numeric comparisons only. [5b139b397196] 2007-04-11 John Peacock * t/coretests.pm, vperl/vpp.pm: Cache the original string used to initialize the version object and return that when stringifying. Only works with pure Perl class for the moment. [dd91c0a7f5a5] 2007-03-18 John Peacock * README: Add more text to README on v-string support. [82012647bf75] [0.71] * README, t/coretests.pm, vutil/vutil.c, vutil/vutil.h, vutil/vxs.xs: Now supports non-magical v-strings (Perl 5.6.0-5.8.0)! Polymorphic error messages from 5.6.0 onwards. [793bfbb79168] 2007-03-10 John Peacock * lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vxs.xs: Polymorphic error messages work everywhere except XS under 5.6.2. :( [c2c671acf8cb] * lib/version.pm, t/coretests.pm, vperl/vpp.pm: Polymorphic error messages now working (and tested) in pure Perl module. [2c6a018178a6] 2007-02-14 John Peacock * Makefile.PL, t/coretests.pm: Don't need to explicitely specify the MAN3POD stuff, since EU::MM will now do that automatically (since the POD is mentioned in PM). Actually, magic v-strings came in at 5.8.1, not 5.8.0 (spotted in the bleadperl variant). [9b1a9191d7e9] 2007-02-13 John Peacock * README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Final 0.70 release to CPAN. [fb8101f7bc22] [0.70] 2007-02-09 John Peacock * README, lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: Error out on malformed input 1._1 (Andy Armstrong ). [ceb5da0ea0ad] [0.69_06] 2007-02-08 John Peacock * vutil/vutil.c: Backport bleadperl changes. [496fa7a3c79a] * README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Prepare for another alpha release to CPAN [c936864d4dbf] [0.69_05] * lib/version/typemap, vutil/ppport.h, vutil/vxs.xs: Apply more const'ifying and code cleanup from bleadperl. [c04919f382ed] * README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Better regex to handle weird exponential notation under 5.6.x on OSX. [cd765f85311a] [0.69_04] 2007-02-05 John Peacock * Build.PL, Makefile.PL, README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Suppress installation (but test anyways) in bleadperl or better. [052939a746ec] [0.69_03] 2007-01-31 John Peacock * README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Bump $VERSION's and update README for another dev release [0.69_02] [43bf88ffe737] [0.69_02] * vutil/vxs.xs: XS UNIVERSAL::VERSION code now emits error messages just like the release of Perl it is compiled against. [e7d638fe99e4] * t/coretests.pm: Need to limit the effects of the WARN handler. Stop testing v-strings in Perl 5.6.x until XS code is up to snuff. [15b8fc47ffb8] * t/coretests.pm, vperl/vpp.pm: Complete rewrite of tests to confirm that version::vpp mirrors the different Perl releases' error messages. [32f086418c9a] * vperl/vpp.pm: Carefully replicate [almost] all error messages exactly as different Perl releases would otherwise report. Resolves RT#24675 (once the tests are adjusted). [d277c7a45f69] 2007-01-27 John Peacock * lib/version.pod: Improve documentation of v-strings as version initializers. [49d42e51c0d4] * vperl/vpp.pm: Testing with Module::Build revealed problems with the boolean overload. [87ddff040b7d] * Makefile.PL, lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Fix Makefile.PL to work correctly with 5.6.x and 5.005x. Tests with bare v-strings can now handle 5.6.x releases. Pure Perl release now includes same overloading as XS. [f7289e57f4b4] 2007-01-10 John Peacock * Makefile.PL: Rewrite Makefile.PL again before releasing 0.69 to CPAN. [4fb1f8249790] [0.68] * Makefile.PL: Before releasing to CPAN, make sure to remove stale Makefile.* remnants from previous runs (in case someone tries to rebuild with the pure Perl release after building the XS release). [a7fbbf5a21ef] 2007-01-09 John Peacock * lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Release 0.69 to CPAN [3681a7ecc575] * Makefile.PL, vperl/vpp.pm, vutil/ppport.h, vutil/vxs.xs: Try to make the Makefile.PL more forgiving about evil compilers (RT#24283). Eliminate Scalar::Util from pure Perl version (for Jos ). Latest ppport.h (newer is better, right?). Resolve RT#24239 and 24244, related to PERL_DONT_CREATE_GVSV. [5db624a53702] 2006-11-23 John Peacock * lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Replace checks with Test::More with a custom module (so the tests won't break when Test::More gets updated). [d2082e19d1c3] 2006-10-29 John Peacock * README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Release 0.68 to CPAN with locale tests. [b4bf1792d63b] 2006-10-08 John Peacock * vperl/vpp.pm: I was wrong. Apparently all releases of Perl require you to force the PV to be regenerated after changing the locale. [2e99ac0ef2b6] * Makefile.PL, README, lib/version.pm, t/01base.t, t/02derived.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c, vutil/vxs.xs: Lots of changes. Problems noted in bleadperl because of locales which use commas for the decimal point. Both XS and Perl code updated to handle this, which was tricky for the latter because locale handling was so bad prior to 5.8.0. Harmless warning during testing caused by bad interaction between POSIX and Test::More's AUTOLOAD (no idea how to fix it). Also bumped up required versions in tests and updated Makefile.PL to correctly install the POD file. [162884e9f3f2] 2006-08-16 John Peacock * Build.PL, README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Use default subclass name in Build.PL, since M::B nukes the version:: namespace during its own initialization. [1a3b365bb27a] 2006-08-08 John Peacock * vperl/vpp.pm: Revert accidental whitespace change [fe39cc294c91] [0.67] * MANIFEST.SKIP: One more regex to prevent patch files being added to MANIFEST [73ed61789941] * Makefile.PL: Dependency on changelog not in correct order with dist [85b15a2ec4fe] * Makefile.PL: Yet another way to structure Makefile.PL so that it autogenerates Changes. [a46bb6a79d8d] * README, lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Once again, fix very small version handling in pure Perl release (globally this time). [b46a5eea2055] 2006-07-31 John Peacock * t/02derived.t, t/coretests.pm: Property change (don't need these to be executable). [2b0ab71d3483] [0.662] * MANIFEST, MANIFEST.SKIP, Makefile.PL, vutil/Makefile.PLz: Add MANIFEST.SKIP so Module::Release will be happy. Hide vutil/Makefile.PL inside top level Makefile.PL (__DATA__). [285f5a279300] 2006-07-30 John Peacock * Makefile.PL, README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Force MSVC to only compile, not link, by default. Generate manified PODs in Makefile.PL. Autogenerate 'Changes' from Makefile.PL. [694aaacf2694] 2006-07-26 John Peacock * README, lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: Pure Perl UNIVERSAL::VERSION was throwing undef warnings when called without a req, e.g. MODULE->VERSION. [6f91dc9d0eac] [0.661] * Build.PL, Makefile.PL, README, lib/version.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: More compatibility for inclusion in Module::Build. Remove dependency to Scalar::Util (just guess if it is a v-string). [7421baeeb766] [0.66] 2006-07-19 John Peacock * Makefile.PL, README, lib/version.pm, vperl/vpp.pm, vutil/Makefile.PLz, vutil/lib/version/vxs.pm: More Makefile tweakage. Can't use warnings in Perl < v5.6.0 and need to protect Build.PL from being run by Makefile.PL being a little too helpful. [35592dc8515b] [0.652] 2006-07-17 John Peacock * Makefile.PL, README, lib/version.pm, lib/version.pod, vperl/vpp.pm, vutil/lib/version/vxs.pm: Custom Makefile.PL left debris around if ExtUtils::CBuilder, confusing the Makefile into trying to compile/link something that wasn't there. Also, take out the "0+" numification, which didn't work in vpp.pm, and which I don't want to support with this module anyway. [21e44a14b00e] [0.651] * Build.PL, MANIFEST, Makefile.PL, README, lib/version.pm, vperl/vpp.pm, vutil/Makefile.PLz, vutil/lib/version/vxs.pm, vutil/vxs.pm: Reorganize structure and provide a fully EU::MM compatible Makefile.PL for, among other cases, bootstrap installing of Module::Build (which now depends on version.pm). No new tests, no change to core code. Resolves RT#20493. [50aa186f745f] [0.65] 2006-06-08 John Peacock * README, lib/version.pm, vperl/vpp.pm, vutil/vxs.pm: Bump version in preparation for release to CPAN as 0.64. [e7655fa68ea5] [0.64] 2006-05-30 John Peacock * lib/version.pm, lib/version.pod, t/02derived.t, t/coretests.pm: As it turns out, the import() method *can* be inherited and DTRT. POD adjusted to reflect the current reality. [dba2e3756277] * lib/version.pm, lib/version.pod, t/02derived.t, vperl/vpp.pm, vutil/vxs.pm: Based on a suggestion by David Wheeler, test for already exported qv() in a more inheritance friendly fashion. Create a way to call the base import() from a subclass and have it DTRT and provide documentation for doing so. Ready to release to CPAN as 0.63_01. [73c89d155c52] 2006-05-27 John Peacock * lib/version.pm: Release to CPAN as 0.63 (no really!). [80bdf3fed41a] [0.63] * README, t/coretests.pm, vperl/vpp.pm, vutil/vxs.pm, vutil/vxs.xs: Prevent XS from issuing warnings when initializing with undef or no parameter at all. Release to CPAN as 0.63. [55bb2211d808] * README, lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/vutil.c, vutil/vxs.pm: Fix RT 19517 - need to handle 'undef' as a string. Release to CPAN as 0.62. TODO - leaking undef warnings from the XS code [d9f011d31242] [0.62] 2006-05-23 John Peacock * lib/version.pm, vperl/vpp.pm, vutil/ppport.h, vutil/vxs.pm: Use even newer ppport.h, per Marcus Holland-Moritz. Bump $VERSION for release to CPAN as 0.61. [575ef1b58332] [0.61] 2006-05-22 John Peacock * lib/version.pm, t/01base.t, t/coretests.pm: In my haste to jettison Exporter, I neglected to consider that someone might try and load version.pm twice. Fixed (and tested). [9ad5578e76e3] 2006-05-20 John Peacock * README, lib/version.pm, vperl/vpp.pm, vutil/ppport.h, vutil/vutil.c, vutil/vutil.h, vutil/vxs.pm, vutil/vxs.xs: Replace ppport.h with much improved version. Strip out my pathetic compatibility code (see above). Add dependency to ppport.h to each file with appropriate #define's. Release to CPAN as 0.60. [c0d805c8ba0e] [0.60] 2006-05-18 John Peacock * README, lib/version.pm, vperl/vpp.pm, vutil/vxs.pm: Prep for another beta to CPAN [b45cdced4e56] [0.59_05] * t/coretests.pm, vperl/vpp.pm, vutil/ppport.h, vutil/vutil.c, vutil/vutil.h: Integrate upstream bleadperl changes. Add compatibility code to vutil.h until ppport.h catches up. Fix (and test for) the case where class->VERSION is called [09ff96d23972] 2006-05-16 John Peacock * MANIFEST, README, lib/version.pm, t/03require.t, t/coretests.pm, vperl/vpp.pm, vutil/vxs.pm: Now works with 'require version' and not just 'use version' (with tests). Pure Perl UNIVERSAL::VERSION now operates correctly when used as a fallback inherited class method, e.g. class->VERSION or $obj->VERSION. [9151f4544773] [0.59_04] 2006-05-14 John Peacock * README, lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/vxs.pm: Fix reported failures with UNIVERSAL::VERSION as fallback method in vpp.pm. Augment new() to try and spot non-magic v-strings for v5.6.2 - v5.8.1. [aae55a10164e] [0.59_03] 2006-05-05 John Peacock * Build.PL, README, lib/version.pm, lib/version.pod, t/coretests.pm, vperl/vpp.pm, vutil/vxs.pm: Prep beta release to CPAN. Improve POD on using modules that use version.pm. New tests. Require pure Perl module for 5.005_03 (for now). [ff2d6e8e71c5] [0.59_02] * vutil/ppport.h, vutil/vxs.xs: Tweak ppport.h #define's to support 5.0005_04 [9ab000d902a6] * README, lib/version.pm, t/02derived.t, t/coretests.pm, vperl/vpp.pm, vutil/vutil.c, vutil/vxs.pm, vutil/vxs.xs: Rewrite to remove dependency on Exporter. Fix RT#19017 - problems related to very small version numbers. [87e5e51a0271] 2006-04-07 John Peacock * lib/version.pm, t/coretests.pm: Not sure if this works on 5.005_03 after all [4ace64ebdc62] 2006-03-28 John Peacock * Build.PL, README, lib/version.pm, lib/version/typemap, t/01base.t, t/02derived.t, t/coretests.pm, vperl/vpp.pm, vutil/vutil.c, vutil/vxs.pm: Complete compatibility with Perl 5.005_0x as well as 5.6.2. Remove the compatibility warnings.pm (since it was a bad idea). Release to CPAN. [ba2b5ed61bca] [0.59] 2006-03-27 John Peacock * Build.PL, README, vperl/vpp.pm: Fix the pure Perl release for 5.005_0x (thanks to Nick Ing-Simmons). Ready for release to CPAN. [7f31577fa67f] [0.58] * Build.PL, README, lib/version.pm, t/01base.t, t/02derived.t, t/coretests.pm, vperl/vpp.pm, vutil/ppport.h, vutil/vutil.h, vutil/vxs.pm: Restore compatibility with Perl 5.6.x (though not with 5.005_x yet). [f39cec03cf70] 2006-03-09 John Peacock * lib/version.pod, t/01base.t, t/02derived.t, t/coretests.pm: * lib/version.pod Minor POD fixup (revealed by pod2html). * t/coretests.pm t/01base.t t/02derived.t Suppress status messages except when --verbose is used. [d56f87b98787] 2006-02-26 John Peacock * Build.PL, README, lib/version.pm, vperl/vpp.pm, vutil/vxs.pm: Release 0.57 to CPAN. Only bumps $VERSION and slightly improve Build.PL. [f6b6c84402f2] [0.57] 2006-02-20 John Peacock * Build.PL, README, lib/version.pm, vperl/vpp.pm, vutil/vxs.pm: Next beta release to CPAN. * Build.PL Subclass Module::Build and override have_c_compiler() with one that fails without die'ing. * README lib/version.pm vperl/vpp.pm vutil/vxs.pm $VERSION++. [c3f3788e4619] [0.56_03] * README, lib/version.pm, t/coretests.pm, vperl/vpp.pm, vutil/vxs.pm: Beta release to CPAN. * README lib/version.pm Bump $VERSION for new release. * vperl/vpp.pm Fully implemented UNIVERSAL::VERSION in the pure Perl module. Set explicit $VERSION so that correct module gets loaded during testing. * vutil/vxs.pm Set explicit $VERSION so that correct module gets loaded during testing. * t/coretests.pm Additional tests (based on bleadperl t/op/use.t). [d6427d31c3fc] [0.56_02] 2006-02-19 John Peacock * Build.PL, README, lib/version.pm: Another workaround for incomplete testing [bc127e964dda] [0.56] 2006-02-18 John Peacock * Build.PL, lib/version.pm: Emergency release to fix up M::B 0.2611 problem [94917cf31263] [0.55] 2006-02-17 John Peacock * Build.PL: Neglected to clean up after XS code (since we are playing games). [c255e7db0d3b] [0.54] * README: No, really, the final changes before releasing to CPAN. :( [e4f63e8cc148] * lib/version.pm, vperl/vpp.pm, vutil/vxs.pm, vutil/vxs.xs: Final updates for 0.54 release to CPAN. [4ada50af160d] 2006-02-15 John Peacock * Build.PL, MANIFEST, README, lib/version.pm, lib/version.pod, lib/version/vxs.pm, lib/version/vxs.xs, t/coretests.pm, vperl/vpp.pm: Merge from version-combined branch. Equivalent to RELEASE_0_53_03. [12eebfc27a98] 2006-02-12 John Peacock * Build.PL, README, lib/version.pm, lib/version.pod, vperl/vpp.pm, vutil/vxs.pm: Ready for CPAN release as beta module. * vutil/vxs.pm vperl/vpp.pm lib/version.pm Backrev to a beta release. * README lib/version.pod Document changes in interface of $obj->new(). * Build.PL Make Scalar::Util requirement optional based both on Perl version and on whether vpp.pm is being installed. [dc5177e9c787] [0.53_03] * t/coretests.pm, vperl/vpp.pm, vutil/vxs.xs: Working pure Perl version objects (but relies on Scalar::Util). Change behavior of XS model too (see below). All tests pass. * vutil/vxs.xs $v2 = $v1->new() shouldn't clone original value. * t/coretests.pm Make sure obj->new() doesn't clone value. * vperl/vpp.pm Implement CVS-style (evil) initialization. Add _verify() sub to make sure derived classes don't break things. Add test for vstring (uses Scalar::Util) and DTRT. [e52565977ef4] * lib/version.pm, vperl/vpp.pm, vutil/vxs.pm: Nearly working pure Perl version objects. A couple of tests still fail. * lib/version.pm Bump version. Re-enable vpp.pm support * vperl/vpp.pm Bump version. Completely rewrite new() to exactly mirror what the XS code does. Support swapped comparisons. Correct $v->normal() code for short decimal versions. * vutil/vxs.pm Bump version. [b17e3fd4647e] 2006-02-09 John Peacock * Build.PL, MANIFEST, t/01base.t, t/01base.t.PL: Complete merge with version/trunk (all tests pass). [3d0b79179484] * Build.PL, README, lib/version.pm, lib/version.pod, t/02derived.t, t/coretests.pm, vutil/vutil.c, vutil/vxs.pm: Merge from version/trunk [b361d26556a3] * Build.PL, lib/version.pod, vutil/vutil.c: Commit changes prior to push to implement pure Perl alternative. * Build.PL Need to exclude building on all 5.9.x bleadperl releases. * lib/version.pod Forgot a quote in one of the example code fragments. * vutil/vutil.c Sync with bleadperl. Only warn if 'use warnings' is set. [3edcd94d655e] 2006-01-10 John Peacock * README, lib/version.pm, lib/version/vxs.pm, t/coretests.pm, vutil/vutil.c: Release 0.53 to CPAN. * vutil/vutil.c warn() when initialization string contains trailing characters (rather than silently ignoring them). Suggested by David Wheeler. * t/coretests.pm Test the above change. * README Document the above. * lib/version.pm lib/version/vxs.pm Bump $VERSION. [6c80dfddbbae] [0.53] 2006-01-06 John Peacock * README, lib/version.pm, lib/version/vxs.pm, t/01base.t, t/02derived.t, t/coretests.pm, vutil/vutil.c: New version to deal with malformed input data that came up in bleadperl: sprintf of version objects * README lib/version/vxs.pm lib/version.pm Bump version. * vutil/vutil.c Die if input value has underscore but no decimal. * t/01base.t t/02derived.t Use no_plan so I don't need to increment tests any more. * t/coretests.pm Check for malformed input. [befad918782c] [0.52] * README, lib/version.pm, lib/version/vxs.pm, vutil/vutil.c: Ready for new release to CPAN with minor changes. * README Describe minor changes * lib/version/vxs.pm lib/version.pm Bump $VERSION. * vutil/vutil.c Eliminate code I'm never going to use. [5d451682eb1e] [0.51] * lib/version.pm: this still does not work [f2bf12c6b92b] 2005-12-13 John Peacock * lib/version.pm: this doesn't work either [86c7d3977d59] 2005-12-09 John Peacock * lib/version.pm: Thist doesn't actually work, but let's save it for later, just in case. [317bd847d6bb] * t/coretests.pm: use the correct path to perl, not that it matters [fd702b4928f5] * a new start [e854d5f1583e] 2005-12-03 John Peacock * lib/version.pod: * lib/version.pod PAUSE does so support version objects. Elaborate on support for Module::Build and lack thereof for ExtUtils::MakeMaker. [a1ef1dd2300d] 2005-12-02 John Peacock * lib/version/vxs.pm: * version/vxs.pm Forgot to bump this. When am I going to have inherited props? [1c6d537e5f5f] [0.50] * Build.PL, README, lib/version.pm, lib/version.pod: * Build.PL Explicit minimum version of Module::Build. Fixes * README Whoo-hoo! Remember to update this the first time. * lib/version.pm Make sure that there is no possible way that Perl will try to include the non-existant pure Perl vpp.pm * lib/version.pod Complete rewrite that is hopefully easier to understand. [77e2dc4f6adc] 2005-11-01 John Peacock * t/02derived.t, vutil/vutil.c: * vutil/vutil.c Use trinary operator to choose power of 10, rather than pow(), which caused some problem with AIX 5.1. Resolves: * t/02derived.t Suppress unnecessary warning when overriding qv() sub. [aa151d606d89] 2005-10-10 John Peacock * README: * version/README Remember to update this for 0.49 release. [77a3618909be] 2005-10-09 John Peacock * Build.PL: Fix Build.PL so Win32 will compile properly [a843b743c6ac] 2005-10-06 John Peacock * Build.PL, lib/version.pm, lib/version.pod, lib/version/vxs.pm, t/01base.t, t/02derived.t, t/coretests.pm, vutil/vutil.c: * version/Build.PL Explicit call to dist_name to help Windows DTRT. Resolves ticket: * lib/version/vxs.pm lib/version.pm lib/version.pod t/01base.t t/02derived.t t/coretests.pm vutil/vutil.c Change implementation to return version objects instead of version::vxs object. Document that qv() isn't inherited and give work around. Update tests to no longer test version::vxs class directly (since it doesn't work). Resolves ticket: [d1d72857d535] 2005-09-27 John Peacock * Build.PL, MANIFEST, lib/version.pm, lib/version/vxs.pm, lib/version/vxs.xs, t/01base.t, t/01base.t.PL, t/02derived.t, vperl/vpp.pm, vutil/vxs.pm, vutil/vxs.xs: Check in work so far on combined XS and PP version [3edcf7671ee6] * Branch to develop the combined XS and PP version [2153e5a1c98c] 2005-09-26 John Peacock * lib/version.pod: Start POD rewrite. [faf73bec8ed5] 2005-09-14 John Peacock * MANIFEST, README, lib/typemap, lib/version.pm, lib/version.pod, lib/version.xs, lib/version/typemap, lib/version/vxs.pm, lib/version/vxs.xs, t/01base.t, t/02derived.t, t/coretests.pm, vutil/vutil.c: Significant archectectural change (object hash has to contain reference to array not the array itself); see for details. Initial changes to support pure Perl variant (not included yet), see for more details. All POD moved to seperate file. Tests abstracted out for reuse by different classes. [32b1c7454fd2] * README: Final changes to README before merging back [f0e5937b6b0f] * MANIFEST, lib/version.pm, lib/version.pod: Extract POD into seperate file and re-add version.pm [178da6ad8799] * Build.PL, MANIFEST, lib/typemap, lib/version/typemap, lib/version/vxs.pm, lib/version/vxs.xs, lib/vxs.pm, lib/vxs.xs, t/01base.t, t/02derived.t, t/coretests.pm: Fully working xs base class and derived class [6a5eb5274261] * MANIFEST, lib/typemap, lib/vxs.pm, lib/vxs.xs, t/01base.t, t/02derived.t, vutil/vutil.c: Intermediate commit before rename [3802a826abea] * MANIFEST, lib/vxs.pm, t/01base.t: First working wrapper class [0da6c1445e0f] * lib/version.pm, lib/version_xs.xs, lib/vxs.pm, lib/vxs.xs: Working again as new classname [e332d1afbe87] * Build.PL, MANIFEST, lib/typemap, lib/version.pm, lib/version_xs.xs, t/01base.t, vutil/vutil.c: Interim commit prior to renames [269637fd55a2] * lib/version.xs, lib/version_xs.xs: Another commit but it still doesn't work [234bc2a6cc79] * MANIFEST, lib/version.pm, lib/version.xs: Intermediate commit before renaming file [ef5daf9123d1] 2005-09-10 John Peacock * Branch to begin to split the module to load either XS or pure Perl [4dd58d14600b] 2005-09-07 John Peacock * t/01base.t, vutil/vutil.c: "version" element of hash must be a reference, see: for details. Also, function name changes backported from bleadperl version. [2daa05af0f6a] 2005-08-23 John Peacock * README, lib/version.pm, t/01base.t, vutil/vutil.c, vutil/vutil.h: Badly written subclasses could SEGV (reported by Andreas Koenig). Now all version objects are validated before use. Add vverify() function to validate version objects and include it before each use of a version object. Add tests for poorly written subclass that tickle the above function. Apply const'ifying from bleadperl and reformat calls to sv_[cat|set]pvf to be consistent with bleadperl source. [b0bd46134f4d] 2005-08-22 John Peacock * Build.PL, README, lib/version.pm, t/01base.t, vutil/vutil.c: Leading whitespace or lack of leading zero caused the the object to be initialized incorrectly (reported by Andreas Koenig). Added POD for subclassing. Removed cruft from README file. [ad5d2eed81e1] 2005-08-03 John Peacock * README, lib/version.pm, t/01base.t, vutil/vutil.c: Don't strip trailing zeros unneccesarily [70ae75ded6a9] 2005-08-02 John Peacock * lib/version.pm: Spelling fixes from "Piotr Fusik" [7c3c5e9eb831] 2005-07-24 John Peacock * Build.PL, MANIFEST, README, lib/version.pm, lib/version.xs, util/ppport.h, util/vutil.c, util/vutil.h, vutil/ppport.h, vutil/vutil.c, vutil/vutil.h: Complete rename of files to prevent GCC 4.0 bug [6900db644e53] * util/util.c, util/util.h, util/vutil.c, util/vutil.h: Preliminary commit for rename of util.[ch] [e9e93bc9ae25] 2005-06-06 John Peacock * README, lib/version.pm, t/01base.t, util/util.c, util/util.h: Final changes to release 0.43 to CPAN * README, lib/version.pm Bump $VERSION number * t/01base.t Test that single term version expands to triplet for $v->normal. Eliminate "Exporter" from derived class. * util/util.c Various const'ifying to match Perl's own changes. Handle short and really short array outputs in vnormal(). * util/util.h const'ify Perl_scan_version(). [e024e3970f74] 2005-05-23 John Peacock * lib/version.pm, t/01base.t, util/util.c: Complete rewrite of parser to handle CPAN-style (two significant decimal) versions, as well as finish documenting the changes. * util/util.c Simplify parser to just count digits when parsing numeric versions. * lib/version.pm Rewrite documentation on Numeric Alpha Versions and make all examples consistent. * t/01base.t Add additional tests for CPAN-style alphas as well as object->new(). [c26b2ad4d80f] 2005-05-20 John Peacock * lib/version.pm, lib/version.xs: * lib/version.pm Revised POD to correspond to new behavior with regards to both Quoted Versions and Alpha Versions. * lib/version.xs Extend new() to be callable as an object method. Copy existing object if called as object method with no parameter. [37ccec7cf023] 2005-05-17 John Peacock * Build.PL, README, lib/version.pm, t/01base.t, util/util.c: Working towards a release to CPAN. * README lib/version.pm First pass at documenting the external changes. * t/01base.t Since vcmp() is working again, can restore the minimum to the use line. * util/util.c Finish up handling for vcmp to deal with alpha versions. [0e18349632ef] * lib/version.xs, util/util.c: Almost completely working; only the comparison tests with non- objects is still failing. * lib/version.xs Simplify is_alpha() now that it is just as hash flag. * util/util.c Manually create and copy the hash elements when creating new object from old object. Forgot to make sure to display all subversion from short numeric versions. [5b742513620e] 2005-05-15 John Peacock * MANIFEST, lib/typemap, lib/version.xs, ppport.h, typemap, util.c, util.h, util/ppport.h, util/util.c, util/util.h, version.xs: Completed (?) to move to Module::Build * lib/typemap lib/version.xs Move XS and support files to lib/ * util/ppport.h util/util.c util/util.h Move utility functions in their own directory (c_source) * MANIFEST Updated to reflect new file locations Add additional files that were originally left out of file Alphabetize this listing (for compulsiveness) [d3f75de8d860] * Build.PL, Makefile.PL, t/01base.t, util.c, version.xs: Intermediate commit to facilitate move to Module::Build as well as work on new hash-based object (all tests do not suceed) * Makefile.PL Replace ExtUtils::MakeMaker with Module::Build wrapper * Build.PL New M::B file * version.xs Try and deal with case where no parameter was passed to new() * util.c Changes to access hash-based object (vcmp still busted) * t/01base.t Changed to prevent core dump (temporarily) [47aeafff343b] 2005-05-09 John Peacock * util.c: Implement alpha versions using secret array zero slot to differentiate between two place alphas (1.02_03) and three place alphas (1.002_03) so that versions which only use two significant places normally will still sort correctly with their alpha versions. * util.c (Perl_scan_version): Somehow manage to both simplify and complicate the code at the same time. (Perl_vnumify): use the new zero'th array element to distinguish between 2 and 3 significant decimal places for printing. [ef0f99d37a37] 2005-04-22 John Peacock * t/01base.t, util.c: * util.c Handle two digit alpha versions Once a v-style or FP, always a v-style or FP * t/01base.t Altered tests to match new expectations [c6b16a7f9cfe] 2005-02-07 John Peacock * Makefile.PL, README, lib/version.pm, t/01base.t, util.c, version.xs: * Makefile.PL Windows doesn't understand the braces for shell expansion * README, lib/version.pm Change $VERSION string * t/01base.t Correctly compare to numified version (instead of stringified) * util.c Use same code as bleadperl AvReal_on required to fix problems under threaded Perl Slight rewrite of loop code to fix compiler bug on OS X Display alpha versions properly * version.xs new() returns void since it actual returns on the stack [ae634dc379af] [0.42] 2004-07-13 John Peacock * README, lib/version.pm, t/01base.t, util.c: * util.c Fix infinite loop for CVS-style versions of more than 3 decimal places. Thanks to Richard Evans * t/01base.t Test to make sure above doesn't happen again. * lib/version.pm Increment the $VERSION again. * README Remember to update this before releasing (for a change). [1b7ab2af9364] [0.41] 2004-07-11 John Peacock * lib/version.pm, version.xs: * lib/version.pm Increment $VERSION number; have to quote to get the tgz file named correctly (isn't that what this module is supposed to fix?) * version.xs:UNIVERSAL_VERSION() Check for null sv before attempting sv_derived_from() Thanks to Marcus Holland-Moritz for finding this. [beaac28edd99] [0.40] 2004-04-14 John Peacock * MANIFEST, README, lib/version.pm, lib/version/AlphaBeta.pm, ppport.h, t/01base.t, t/02AlphaBeta.t, util.c, util.h, version.xs: Merge changes from version-0.39 back to trunk [9ffe6daf8ff0] 2004-01-07 John Peacock * MANIFEST, Makefile.PL, lib/version.pm, t/01base.t, t/02AlphaBeta.t, util.c: * t/02AlphaBeta.t * t/01base.t Update tests to require newer version. Change test for CPAN-Style version behavior. * MANIFEST Delete 'Changes' from repository since it will now be autogenerated. * lib/version.pm Clean up POD to reflect actual behavior of code. * Makefile.PL Add new target to automatically generate the 'Changes' file. * util.c (Perl_scan_version): rewrite code to use AV * instead of SV * for internal representation; trigger CPAN-style only for second term. [1c588fb86973] 2004-01-04 John Peacock * Ignore MakeMaker-generated files in svn status [506090c733c8] * Ignore MakeMaker-generated files in svn status [bbd9ed305fd9] * Ignore MakeMaker-generated files in svn status [e0ea9551cd7b] 2004-01-02 John Peacock * lib/version.pm, util.c: * lib/version.pm (POD): Initial documentation of CPAN-Style versions. * util.c (Perl_scan_version): Try and handle CPAN versions (two decimal places) differently from Perl-style (three or more decimal places). [f8f05480690b] 2003-12-29 John Peacock * README, lib/version.pm, typemap, util.c, version.xs: * typemap Stop automatically dereferencing input variable * lib/version.pm Update $VERSION for a change * README Include warning on memory leaks * util.c (new_version): use upg_version exclusively (upg_version): move code from new_version here * version.xs Stop dereferencing input variables Stop assuming that the PV has a value [df739f393e0a] [0.34] * t/01base.t, util.c, version.xs: * t/01base.t Replace postfix increment with prefix increment to prevent erroneous "Attempt to free..." errors Add test of CVS $Revision: $ style versions * util.c Rewrite new_version to free temporary string variable * version.xs Rewrite version->new() to eliminate temp string for CVS $Revision: $ Rewrite version->qv() to use scan_version instead of new_version [5cc05e7606a8] 2003-12-21 John Peacock * lib/version.pm, version.xs: M version.xs Go through code to ensure that there are no leaking scalars Sadly, there are still leaks from version::VERSION of unknown origins [24b98fd1a0a8] [0.33] * lib/version/AlphaBeta.pm, t/02AlphaBeta.t: M t/02AlphaBeta.t M lib/version/AlphaBeta.pm Implement an alternate object representation Overload stringify() with custom function [19b66371282f] 2003-10-26 John Peacock * t/01base.t, t/02AlphaBeta.t: M t/02AlphaBeta.t Add empty derived class and modify tests to run M t/01base.t Work around bug with postfix increment under all Perl < bleadperl [473e143b1e01] 2003-09-10 John Peacock * MANIFEST, lib/version.pm, t/01base.t, util.c, util.h, version.xs: Fix for Ticket #3764 - need to strip final term before chop() Implement qv() function and document/test [788e7b71b497] [0.32] * Changes: Remove the changes file from the repository. Generate it before release: svn log file:///var/svn/modules/version/trunk and eventually by 'release.pl --changes' [0eb3a94ffca5] [0.31] * ppport.h, t/01base.t, util.h: Finish backporting bleadperl changes Special case test for 5.005_03 Patch ppport.h to support IVSIZE for 5.005_03 [6febfec130a2] * MANIFEST, lib/version.pm: No, really delete the lines from MANIFEST Last bit of clean up in the POD [1a4f9ba9d385] * MANIFEST, lib/version.pm, lib/version/Empty.pm, ppport.h, t/01base.t, util.c: Delete version::Empty module and include in t/01base.t instead Correct MANIFEST (delete missing files and add ppport.h) Make version::stringify() return at least three subversions [9ecd20ec017c] 2003-09-09 John Peacock * lib/version/Empty.pm, t/01base.t, t/03emptyclass.t, t/basetests.inc, util.c, util.h, version.xs: Integrate changes from bleadperl Combine emptyclass.t test into 01base.t Use ppport.h instead of homebrewed #define's [a58c0d99ded0] 2003-09-07 John Peacock * MANIFEST, lib/version.pm, lib/version/Empty.pm, t/01base.t, t/03emptyclass.t, t/basetests.inc, version.xs: Extend version::new() to handle derived classes Abstract t/01base.t into external file Create and test empty derived class FIX: "attempt to free unreferenced scalar" during testing [de022ab51681] 2003-08-08 John Peacock * MANIFEST, Makefile.PL, lib/version.pm, lib/version/overloaded.pm, overloaded.xs, t/01base.t, typemap, util.c, version.xs: Change the overloaded class to version::overload Add the code (but don't implement yet) for version::tied Change the test to use version::overloaded (though it will be changed back) [35bb2adf4ba9] 2003-07-09 John Peacock * Copy off a branch to work on Damian-inspired lunacy [7053382ad592] * Start working on version objects with math ops [7b6882da276f] * Changes, MANIFEST, lib/version/AlphaBeta.pm, t/01base.t, t/02AlphaBeta.t, t/1.t, t/2.t: Merge changes made accidently on branch back to head [e7c224441166] 2003-06-14 John Peacock * Changes: Forgot to commit this before releasing. [ba53302707ce] 2003-06-13 John Peacock * lib/version.pm: Correct the example code (again) to correct for CVS update problems [e2cb0b698fa6] [0.29] * lib/version.pm: Reformatted POD's from [84c56b8d9713] * README, lib/version.pm, t/1.t, util.c, version.xs: Change reference from "beta" to "alpha" to follow PAUSE convention Add new function ->is_alpha() to test for alpha versions Add docs for all logical operations on version objects Fix example to have matching versions (old CVS issue) [c0af15499271] * MANIFEST, Makefile.PL, README, lib/version.pm, lib/version/AlphaBeta.pm, t/2.t: Implement version::AlphaBeta module Copy repository history from CVS into subversion [935e2da3f52a] * lib/version.pm, t/1.t, t/version.t, version.pm: To prepare to load /home/jpeacock/tmp/version-0.28 into version/trunk, perform 2 renames. * version/trunk/t/1.t: Renamed from version/trunk/t/version.t. * version/trunk/lib/version.pm: Renamed from version/trunk/version.pm. [cdc4742b8b90] 2003-01-05 John Peacock * Changes: Extract most recent log messages for main file [0fbc1dba9567] * version.pm: Rewrite POD to call a v-string a v-string Reformat POD to look nicer [a014fed09b37] * util.c: Make vnumify return an actual NV (instead of an SV which looks like one) [0a2fed058c27] * README: Make warnings even more dire [bf993fd59ec4] * t/version.t: change comment message to more accurately reflect the test [9a5815cece40] 2002-12-27 John Peacock * README, util.c, version.pm, version.xs: Rewrite to support new model of "Numeric Versions" and "String Versions" [000c8b44ac4b] 2002-12-18 John Peacock * Changes, t/version.t, util.c, util.h, version.pm, version.xs: New version to cope with GSAR's vision of bare number versions [82b1817d713a] 2002-12-05 John Peacock * t/version.t: Make -w clean tests [aae69baccb71] * util.c: Bring into sync with perl-current [bb2a04ec56eb] 2002-11-18 John Peacock * Changes: Bring current with repository version [5cfee41009bd] * version.pm: Fix compile errors under threaded Perl's Supress {Unquoted string version} warnings [8bd93dd3c0ee] * version.xs: Fix compile errors under threaded Perls [d377ef35118a] * typemap, util.c, util.h, version.xs: Fix compile errors under threaded Perl's Supress {Unquoted string "version"} warnings [3d4f35748f92] 2002-10-15 John Peacock * typemap, util.c, version.pm, version.xs: Fix typos Fix handling of null versions [39105137e896] 2002-10-11 John Peacock * util.c: use Perl_croak from C code [ebc39c798544] 2002-10-09 John Peacock * t/version.t: Recover gracefully to null versions (rather than core) [7980b02f30ee] * Changes, util.c, version.pm: Recover gracefully to null versions (rather than core) [b6245e0abb31] 2002-10-05 John Peacock * version.pm: Document extended decimal version parsing [1717167152b9] * t/version.t, version.pm, version.xs: Force all files to next major revision (so the version works) [9c8c77f45216] * t/version.t: Add tests for 1.002003 => 1.2.3 [54ebc42d651a] * util.c: Add support for 1.002003 => 1.2.3 [ceea5218722f] * version.pm: Remove dependency on Exporter.pm [f513eb72eb51] 2002-09-29 John Peacock * t/version.t: Update with version from perl-current [cf58a334294b] * util.c, util.h, version.pm, version.xs: Change vstringify and vnumify Reword main POD slightly [292739d73b7b] 2002-09-28 John Peacock * t/version.t, util.c, util.h, version.xs: Final changes to release to CPAN Merged code into perl-current [7c2f94f078c4] * README: Ready to release to CPAN [0fafa807f6d4] * version.pm: POD changes [78e52ec26d01] * version.xs: Cannot use SvPV_nolen in 5.005_03 [fc0f47b36657] 2002-09-23 John Peacock * version.pm: Document the UNIVERSAL::VERSION replacement [6caf25d88244] * util.c, version.xs: Successfully create and test my own UNIVERSAL::VERSION replacement [5dbcd61397a3] 2002-09-16 John Peacock * util.c: Improve the testing of beta versions [0e7738ce7237] * version.pm: More POD changes [e9041204d8ea] * version.pm: Add additional testing Add POD [f9ef01c0f23e] * t/version.t, util.c, util.h, version.pm: Finally works in 5.005_03, 5.6.1, and 5.8.0 [ead841f2b5e4] 2002-09-15 John Peacock * Makefile.PL, util.c, util.h, version.xs: Doesn't work any more? [d96b34598ae6] 2002-09-14 John Peacock * version.pm: working AV objects in 5.6.x only [50a0bab92cb6] * MANIFEST, Makefile.PL, util.c, util.h, version.xs: *** empty log message *** [9b189b4d19a5] * util.c, util.h, version.xs: Finished for the night [57988a3ce962] * util.c, version.pm, version.xs: almost working AV style version objects [9bb8a3441bf7] * Changes, MANIFEST, Makefile.PL, README, t/version.t, typemap, util.c, util.h, version.pm, version.xs: Initial revision [2be9f1b1e843]