+0.38 2009-10-04 16:10 UTC
+ + Dep : All the signature-related features are DEPRECATED and will be
+ removed in december 2009. This includes the 'sig' option to
+ wizard(), the getsig() and gensig() functions, and the SIG_*
+ constants.
+ Afaik those features were never used in real life, and they make
+ the XS code slow and brittle. If you want your wizards to be
+ globally available, you'll have to handle that yourself by
+ storing them in a hash.
+ + Doc : More examples in a new COOKBOOK section.
+ + Fix : Compatiblity with the 5.11.0 release. The new compatibility
+ constant VMG_COMPAT_ARRAY_PUSH_NOLEN_VOID was added to cover
+ this.
+ + Fix : Work around Kwalitee test misfailures.
+
+0.37 2009-08-25 15:25 UTC
+ + Add : The new constant VMG_FORKSAFE can be tested to know whether the
+ module will behave nicely when fork()ing. It's currently always
+ true except on Windows where you need perl 5.10.1 for it to be
+ true.
+ + Doc : Nits and clarifications.
+
+0.36 2009-07-05 16:30 UTC
+ + Chg : getdata() now returns an empty list when no magic is present.
+ It used to return undef but did not croak as stated in the doc.
+ Thanks Matt S. Trout for pointing this out.
+ + Fix : Building and tests with ActiveState Perl 5.8 build >= 822.
+
+0.35 2009-05-15 20:50 UTC
+ This is a maintenance release. Users of 0.34 can skip this update.
+ + Chg : uvar magic used to be enabled for 5.9.5. It now requires 5.10 or
+ later.
+ + Fix : Silence compilation warnings for cxinc().
+ + Rem : The workaround introduced in 0.31 for the "Unknown errors" issue
+ was removed, as regression tests show that 0.34 provides a
+ better fix.
+ + Tst : Skip t/40-threads.t on 5.8.x with old versions of threads and
+ threads::shared.
+
+0.34 2009-04-19 16:55 UTC
+ + Fix : Destruction of wizards in require.
+ + Fix : "panic: restartop" in 5.10 when dieing at compile time triggers
+ a destructor.
+
+0.33 2009-03-26 00:00 UTC
+ + Chg : cast() and getsig() now croak too when an invalid signature is
+ passed.
+ + Fix : It was possible to generate with gensig() the same signature
+ twice before actually defining the wizards.
+ + Tst : More stash tests.
+ + Tst : Test when the magic takes place in some cases.
+ + Tst : Improved coverage for the op object feature.
+
+0.32 2009-03-01 13:45 UTC
+ + Chg : dispell() and getdata() now croak when an invalid signature is
+ passed.
+ + Doc : More examples and a brand new synopsis.
+ + Fix : The signature is no longer stored in the mg_private member of
+ the MAGIC struct. This fixes possible clashes with magics from
+ other extensions.
+ + Fix : op info objects weren't blessed into the right class.
+ + Fix : Races when initializing the op names cache under threads.
+
+0.31 2009-02-19 23:50 UTC
+ + Doc : A somewhat better introduction. The FUNCTION section was moved
+ before CONSTANTS and HISTORY since it's more important. And
+ 'assignation' is really 'assignment', says Ricardo. :)
+ + Fix : The op_info features are now thread safe.
+ + Fix : Segfaults that occured when trying to get the op name during
+ global destruction.
+ + Fix : Segfaults and wrong "Unknown error" exceptions that happened
+ when dieing in require caused a free callback to fire.
+ Thanks Florian Ragwitz for reporting.
+
+0.30 2009-02-12 17:05 UTC
+ + Add : You can now get in all the callbacks either the name or a B::OP
+ object representing the current op if you pass the new 'op_info'
+ option to wizard() with respective values VMG_OP_INFO_NAME and
+ VMG_OP_INFO_OBJECT.
+ + Doc : Document magic on array/hashes values.
+ + Fix : Completely skip free callbacks during global destruction.
+ + Tst : Tests now pass again on 5.8.3 and lower (they were broken since
+ 0.27).
+ + Tst : Test magic on symbol table and on array/hash values.
+
+0.29 2009-02-08 11:10 UTC
+ + Add : Set $_[2] to the default length for len magic on scalars.
+ + Chg : Perl 5.8 is required.
+ + Chg : The CLONE method will no longer be defined for non-threaded
+ perls.
+ + Doc : Nits.
+ + Fix : The logic for turning off the GMAGICAL flag on hashes when no
+ uvar magic is involved could do nasty things on tied hashes.
+ + Upd : More resources in META.yml.
+
+0.28 2009-01-24 17:05 UTC
+ + Add : The 'copy_key' option to wizard(), that enables the safe edition
+ of $_[2] in uvar callbacks to redirect actions to another key.
+ + Fix : Exception objects thrown from callbacks at compile time were not
+ available in $@.
+ + Fix : free callbacks triggered during global destruction could lead to
+ segfaults because the wizard was already freed.
+ + Fix : Refcount of scalars with free callback.
+ + Fix : Segfaults when using get or uvar magic simultaneously with clear
+ magic.
+ + Doc : The documentation about what the callbacks take and should
+ return is now somewhat clearer.
+
+0.27 2009-01-18 23:40 UTC
+ + Fix : Offset of 1 with len magic on scalars.
+ + Fix : Segfaults that seem to happen when one croak in a callback at
+ compile time (thanks Ash Berlin for the testcase).
+ + Upd : Resources in META.yml (Florian Ragwitz)
+ + Tst : Large cleanup resulting in a wider set of tested behaviours.
+
+0.26 2008-11-29 22:05 UTC
+ + Fix : Leaks of cloned coderefs that access lexicals.
+ + Fix : Building with maint-5.8 and blead (thanks Andreas Koenig).
+
+0.25 2008-11-12 19:40 UTC
+ + Fix : Compatibility with 5.8.9.
+ + Fix : Old Pod::Coverage don't ignore CLONE.
+ + Upd : META.yml spec updated to 1.4.
+
+0.24 2008-10-12 14:55 UTC
+ + Fix : Really fix it.
+
+0.23 2008-10-11 17:25 UTC
+ + Fix : Building on perls with multiplicity but not ithreads.
+
+0.22 2008-09-29 19:40 UTC
+ + Doc : Explain how magic differs from overloading.
+ + Fix : Disable thread safety for perl 5.8 on Windows. If you want it
+ enabled, reliable feedback is welcome.
+
+0.21_02 2008-09-28 23:10 UTC
+ + Fix : Hide previously deleted magic tokens in vmg_svt_free (Yuval
+ Kogman).
+
+0.21_01 2008-09-22 13:25 UTC
+ + Chg : Shrink the context data.
+ + Fix : Enable thread safety features for perls that just lack
+ MY_CXT_CLONE.
+ + Tst : Output threads and threads::shared versions in threads tests.
+
+0.20 2008-09-20 23:35 UTC
+ + Fix : The module is now thread safe. You can test if it had been
+ built with thread safety features enabled through the
+ VMG_THREADSAFE constant.
+ + Fix : Correct backtrace when wizard() croaks.
+ + Fix : 'cast $a, undef' should throw an 'invalid wizard' error instead
+ of an 'invalid signature'.
+
+0.19 2008-07-05 15:05 UTC
+ + Add : The patchlevel with which the module has been built is now
+ exported with the VMG_PERL_PATCHLEVEL constant.
+ + Chg : Version checking macros overhaul.
+ + Fix : 'uvar' magic should only be enabled in maint-5.10 and higher
+ since it's never going to be backported to 5.8.
+ + Fix : Likewise, the copy callback API change should only be enabled in
+ 5.11 and higher.
+ + Fix : Instead of those ackward fake refcount increments in the wizard
+ destructor, flag the wizard with SVf_BREAK and force temps
+ cleanup. This should fix the wizard destruction for all perls,
+ and solves the leak introduced by the previous solution.
+
+0.18 2008-07-04 12:20 UTC
+ + Fix : Enable uvar magic when patchlevel >= 28419.
+ + Fix : Set VMG_COMPAT_ARRAY_PUSH_NOLEN for Windows ActiveState Perl
+ 5.8.x.
+
+0.17 2008-05-11 09:05 UTC
+ + Fix : 5.8.4 and lower don't have mPUSHi. Gah. Yeah, I know, I should
+ use Devel::PPPort.
+
+0.16 2008-05-10 22:05 UTC
+ + Add : The samples/copy.pl script.
+ + Chg : The sv_magical() + vmg_mg_magical() combo was simplified into
+ vmg_sv_magicuvar().
+ + Tst : t/33-code.t was testing scalars, not code.
+ + Tst : is() and like() are better than ok().
+ + Tst : 100% coverage reached.
+
+0.15 2008-04-11 18:25 UTC
+ + Chg : Factor vmg_cb_call{1,2,3}() into one function.
+ + Fix : len magic is no longer called when taking the length() of a
+ magical scalar since p32969. The VMG_COMPAT_SCALAR_LENGTH_NOLEN
+ constant was added to cover this.
+ + Tst : More tests for t/22-len.t.
+
+0.14 2008-03-24 12:35 UTC
+ + Fix : t/16-huf.t failures on Solaris and FreeBSD caused by not
+ updating mg->mg_ptr after Renew-ing it on dispell.
+ + Fix : Undefining MGf_DUP caused the wizard's magic to be wrongly
+ initialized. MGf_DUP now appears as true from the user point of
+ view, but the dup callback isn't actually set.
+ + Fix : Warnings with blead due to copy callbacks now taking an I32 (API
+ change #33256).
+ + Fix : vmg_svt_val() and vmg_uvar_del() aren't required if no uvar
+ magic is available.
+ + Tst : Tests now output the version of optional modules loaded.
+
+0.13 2008-03-19 14:35 UTC
+ + Doc : Link to coverage report.
+ + Fix : Correct dependencies listing in META.yml.
+ + Tst : Improved test coverage.
+ + Tst : Print the patchlevel as a comment.
+ + Tst : Use is() where it's relevant.
+ + Tst : t/16-huf.t now really tests interaction with H::U::FH.
+
+0.12 2008-02-07 18:15 UTC
+ + Fix : POD error. Thanks to Chris Williams (BinGOs) for the quick
+ feedback.
+
+0.11 2008-02-07 17:55 UTC
+ + Add : Copy callbacks now receive the current key/index in $_[2].
+ The current value/element is now in $_[3].
+ + Chg : The trigger of copy magic on list assignment with perls greater
+ than 5.10.0 was caused by uvar magic. Hence,
+ VMG_COMPAT_HASH_LISTASSIGN_COPY was removed. Use VMG_UVAR
+ instead.
+ + Fix : Build failures on patched perls.
+ + Tst : Added missing exported symbols to 01-import.t.
+
+0.10 2008-02-04 11:30 UTC
+ + Add : New script : samples/vm_vs_tie.pl, that benchmarks our uvar
+ magic versus tied hashes.
+ + Add : The VMG_COMPAT_* constants can be used from userspace to check
+ perl magic abilities.
+ + Fix : Callbacks that returned undef made us croak, breaking the
+ variable behaviour (regression test in 14-callbacks.t).
+ + Fix : uvar callbacks weren't tested for non-NULL-ity before being
+ called (regression test in 28-uvar.t).
+ + Tst : Fix typo in 25-copy.t that prevented Tie::Hash tests to be ran.
+
+0.09 2008-02-02 11:30 UTC
+ + Doc : Explicitely say that uvar callbacks are safely ignored for
+ non-hashes.
+ + Doc : Document caveats and fix the usual set of typos.
+ + Fix : vmg_dispell() didn't check if the ext magic were ours when
+ counting wizards that have uvar callbacks, resulting in a
+ possible memory misread.
+ + Fix : getdata() now returns directly the data object, and no longer a
+ copy. This caused a leak.
+ + Tst : Prefix author tests by 9*-.
+ + Tst : New optional author test : 95-portability-files.t, that uses
+ Test::Portability::Files when it's present.
+ + Tst : New test : 14-self.t, that tests application of magic on the
+ wizard itself.
+ + Tst : Move Hash::Util::FieldHash tests out of 11-multiple.t to
+ 15-huf.t.
+
+0.08 2008-02-01 16:55 UTC
+ + Add : copy magic for tied arrays/hashes.
+ + Add : local magic.
+ + Add : uvar magics : fetch, store, exists, delete for hashes.
+
+0.07_* 2008-01
+ Internal development versions.
+
+0.06 2007-11-20 10:10 UTC
+ + Chg : 5.7.3 is now officially required.
+ + Fix : "data" test failures on 5.8.{0,2}.
+ + Fix : Drand01() vs rand().
+
+0.05 2007-11-19 09:10 UTC
+ + Fix : 5.10.0_RC1 compatibility fix.
+
+0.04 2007-08-28 12:25 UTC
+ + Chg : s/require (XSLoader)/use $1/.
+ + Fix : Tests are now strict.
+ + Fix : Complete dependencies.
+