X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FVariable-Magic.git;a=blobdiff_plain;f=Changes;h=c7cd521d6cf1aa12c892055a5813ce60ed6407fa;hp=b97a2e2abce5b8b34fb5344428f7910d11fab82a;hb=2a7199760cc1080be8e62e425d74a85f4eebcdfc;hpb=cc99f7f4711b525f7d3b7c4480528b480eac0a48 diff --git a/Changes b/Changes index b97a2e2..c7cd521 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,164 @@ Revision history for Variable-Magic +0.60 2016-09-06 22:30 UTC + + Chg : A large chunk of boilerplate XS code, which is also used in + other XS modules, has been factored out of the main .xs file + to a collection of .h files in the xsh subdirectory. + + Fix : [RT #128989] : Bleadperl v5.25.3-266-g1d7e644 breaks V::M. + Len magic is no longer called for negative array indices + fetches, so the relevant tests are now skipped. + Thanks Andreas Koenig for reporting. + +0.59 2015-10-05 19:05 UTC + + Chg : The magic callbacks are now always executed in a new stack. + This should have no negative impact (performance-wise or + behaviour-wise) on your code, but may actually fix some obscure + bugs. + + Fix : [RT #107294] : Crash during install of Variable-Magic-0.58 + running "t\18-opinfo.t". + A recent change in the core implementation of transliterations + caused an undefined behaviour when it interacted with this + module, which resulted in visible stack corruption on Win32 + perls compiled with MSVC when the op_info feature was enabled. + This was fixed by using a separate stack for the magic + callbacks. + Thanks Peter Stokes for reporting and providing greatly + helpful feedback. + + Fix : The object op_info feature will now handle correctly Unicode + transliteration, multideref and custom ops. + +0.58 2015-07-21 16:00 UTC + + Add : If a non-len magic callback returns a reference, it will now + only be freed at the end of the statement that caused the + magic to trigger. This allows the user to attach free magic + (or a plain destructor) to a token returned from the callbacks + in order to defer an action after the magic is processed by + perl. + + Fix : Test failures of threads tests on systems with harsh resource + constraints causing the threads to exit() during run. + +0.57 2015-04-17 15:20 UTC + + Chg : The new environment variable to enable thread tests on older + perls is PERL_FORCE_TEST_THREADS. Note that this variable + should only be turned on by authors. + + Fix : Segfaults when the module is loaded by several threads (or + Windows emulated processes) ran in parallel. + + Fix : Segfaults when the module is loaded in a thread, which spawns + itself a new thread, and that child thread outlives its parent. + + Fix : Small memory leaks of structures required for thread safety. + + Fix : Update the Windows ActivePerl + gcc 3.4 workaround for + ExtUtils::MakeMaker 7.04. Thanks Christian Walde for reporting + and feedback on this issue. + + Tst : The global destruction test will now be exercised on any perl + that has DEBUGGING set. + + Tst : Optional capturing tests in t/17-ctl.t that were only run when + Capture::Tiny was present were converted to an IPC::Open3 + based helper and will now be run everywhere. + +0.56 2015-03-11 15:15 UTC + + Fix : [RT #101410] : Install fails in blead + Even though the change that caused this error was reverted from + blead, lvalue uses of ERRSV have been removed from this module + so that there will be no breakage when this change is possibly + reintroduced in the following months. + Thanks Dave Rolsky for reporting. + + Tst : $ENV{$Config{ldlibpthname}} is now preserved on all platforms, + which will address failures of t/17-ctl.t with unusual + compilers (like icc) that link all their compiled objects to + their own libraries. + + Tst : The global destruction test is now only run on perl 5.13.4 and + higher, and only if either Perl::Destruct::Level is installed + or PERL_DESTRUCT_LEVEL is set and the perl is a debugging perl. + This will solve rare crashes of t/15-self.t on perl 5.13.3 and + older. + +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