Revision history for Variable-Magic
+0.55 2014-10-20 23:45 UTC
+ + Fix : [RT #99319] : t/18-opinfo.t: test failure due to change in
+ perl 5 blead
+ The new METHOP op class added in perl 5.21.5 is now supported.
+ Thanks James E Keenan for reporting.
+
+0.54 2014-09-22 17:30 UTC
+ + Add : The new constant VMG_COMPAT_CODE_COPY_CLONE evaluates to true
+ if your perl calls 'copy' magic when a magical code prototype
+ is cloned, which is currently the case for perl 5.17.0 and
+ above.
+ + Fix : [RT #90205] : copy magic on subs puts raw CV in $_[3]
+ $_[3] will now contain a reference to the cloned code when
+ 'copy' magic is called for a coderef.
+ Thanks Lukas Mai for reporting.
+ + Fix : t/35-stash.t has been taught about perl 5.21.4.
+ + Fix : Tests using run_perl() in t/17-ctl.t will no longer fail on
+ Android.
+
+0.53 2013-09-01 17:50 UTC
+ This is a maintenance release. The code contains no functional change.
+ Satisfied users of version 0.52 can skip this update.
+ + Fix : [RT #86338] : typo fix.
+ Thanks dsteinbrunner@pobox.com for the patch.
+ + Tst : Author tests are no longer bundled with this distribution.
+ They are only made available to authors in the git repository.
+
+0.52 2012-11-05 02:30 UTC
+ + Add : The new constant VMG_COMPAT_SCALAR_NOLEN evaluates to true
+ when your perl does not call 'len' magic for scalars, which
+ is the case for perl 5.17.4 and above.
+ This fixes RT #80388.
+ + Tst : t/35-stash.t has been taught about perl 5.17.4.
+ + Tst : Author tests overhaul.
+
+0.51 2012-08-18 15:00 UTC
+ + Fix : It is now safe to call dispell() from inside 'free', 'copy' and
+ 'uvar' callbacks to dispell the magic currently in use.
+ Thanks Clinton Gormley for reporting.
+ + Fix : Exceptions thrown from inside a 'free' callback are now always
+ consistently propagated outside of the callback. They used to
+ be lost when the 'free' callback was invoked at the end of an
+ eval block or string.
+ + Fix : The 'reset RMG flag' workaroundn used to allow wizards with
+ both 'uvar' and 'clear' magics to be cast onto a hash, has been
+ made thread-safe.
+
+0.50 2012-06-24 23:00 UTC
+ + Fix : Less memory is leaked when a wizard is freed during global
+ destruction, or when an exception is thrown from a 'free'
+ callback.
+ + Fix : [RT #77991] : t/17-ctl.t fails on perl 5.14 and 5.16.
+ This was actually an issue with ActivePerl, and this test
+ has learned to cope with it.
+ Thanks Gisle Aas for reporting.
+ + Tst : t/35-stash.t has been taught about perl 5.17.1.
+ + Doc : Many clarifications.
+
+0.49 2012-06-05 21:40 UTC
+ This is a maintenance release. The code contains no functional change.
+ Satisfied users of version 0.48 can skip this update.
+ + Fix : [RT #77644] : t/17_ctl.t fails in test 44 since 5.17.0.
+ This test has been taught about perl 5.17.0.
+ Thanks Reini Urban for reporting.
+ + Tst : t/99-kwalitee.t will be skipped when only problematic versions
+ of its dependencies are available.
+
+0.48 2012-02-17 23:40 UTC
+ + Add : You can now pass a reference to undef as the magic callback in
+ order to install a no-op callback.
+ Thanks Florian Ragwitz for the suggestion.
+
+0.47 2011-10-27 16:55 UTC
+ + Add : The new constant VMG_COMPAT_HASH_DELETE_NOUVAR_VOID evaluates
+ to true when "delete $hash{key}" does not call 'delete' uvar
+ magic in void context.
+ + Chg : The MAGIC tokens created by this module no longer use the
+ mg_private member for storing a "magical" signature.
+ + Fix : Triggering magic in a thread on a variable cloned from the main
+ interpreter, and when the wizard already went out of scope,
+ will not segfault anymore.
+ + Opt : The pointer table is no longer needed to ensure thread safety.
+ The size of the object code is about 8% smaller for threaded
+ perls.
+ + Tst : Threads tests will not fail anymore if resources constraints
+ prevent the system from creating all the required threads.
+
+0.46 2011-01-23 16:45 UTC
+ + Fix : [RT #64866] : Assertion failure with perl 5.13.9.
+ The real problem was that dispell() wasn't properly resetting
+ the magical sv flags, which became visible in the test suite
+ only with perl 5.13.9.
+ Thanks Joshua ben Jore for reporting.
+
+0.45 2010-11-21 23:15 UTC
+ This is a maintenance release. The code contains no functional change.
+ Users of 0.44 can skip this update.
+ + Doc : C++ compilers are officially NOT supported.
+ + Doc : The minimum perl 5.10.0 requirement for uvar magic has been
+ made more explicit.
+ Thanks Peter Rabbitson for pointing this out and contributing a
+ patch.
+ + Tst : Tune for perl 5.13.7.
+ + Tst : Capture::Tiny will be used in t/17-ctl.t if and only if it can
+ capture a simple run.
+
+0.44 2010-09-24 19:10 UTC
+ + Fix : Broken linkage on Windows with gcc 3.4, which appears in
+ particular when using ActivePerl's default compiler suite.
+ For those setups, the Variable::Magic shared library will now
+ be linked against the perl dll directly (instead of the import
+ library). This (should) fix RT #51483.
+ Thanks Christian Walde for helping to reproduce this failure
+ and extra testing.
+ + Rem : Support for development perls from the 5.11 branch but older
+ than the 5.11.0 release was removed. This could cause more
+ recent setups to fail.
+ + Tst : Threads tests are now only run on perl 5.13.4 and higher.
+ They could segfault randomly because of what seems to be an
+ internal bug of Perl, which has been addressed in 5.13.4.
+ There is also an environment variable that allows you to
+ forcefully run those tests, but it should be set only for
+ author testing and not for end users.
+
+0.43 2010-06-25 23:35 UTC
+ + Add : The new constant VMG_COMPAT_GLOB_GET tells you whether get magic
+ is called for globs. It's true starting perl 5.13.2.
+ + Chg : All callbacks are now called within an eval-like context.
+ Only free callbacks used to be called that way.
+ + Fix : Some exceptions thrown from a free callback could be lost.
+ + Fix : Croak messages could sometimes be repeated several times.
+ + Fix : t/41-clone.t segfaulting with perl 5.13.2.
+
+0.42 2010-05-19 00:15 UTC
+ This is a maintenance release. The code contains no functional change.
+ Users of 0.41 can skip this update.
+ + Fix : Test failures with perl 5.13.
+ + Tst : Improve coverage.
+
+0.41 2010-03-15 17:35 UTC
+ + Doc : Tweaks and fixups.
+ Thanks Shlomi Fish.
+ + Fix : Compatibility with the soon-to-be-released perl 5.12.0.
+ + Fix : Correctly propagate the errors thrown when variable destruction
+ happens at compile-time and not from inside eval STRING.
+ Thanks Florian Ragwitz and Ash Berlin for reporting.
+
+0.40 2010-01-06 23:20 UTC
+ + Fix : Possible memory miswrites when passing data arguments to cast().
+ + Fix : Minor C portability tweaks.
+
+0.39 2009-12-01 00:05 UTC
+ + Add : You can use a function name as a callback by passing a string
+ reference to wizard() instead of a code reference.
+ + Fix : Compatiblity with perl 5.11.1 and 5.11.2.
+ + Fix : Scalars stored into the data slot no longer leak.
+ + Fix : Thread destruction should not segfault anymore.
+ + Opt : As a result of removing the deprecated features, less memory is
+ used for both threaded (a pointer table is used instead of a
+ hash) and non-threaded (no global structure is needed anymore)
+ perls.
+ + Rem : As advertised in the precendent version, all the signature
+ related features were removed. This includes the 'sig' option
+ to wizard(), the getsig() and gensig() functions, and the SIG_*
+ constants.
+
+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