X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Fautovivification.git;a=blobdiff_plain;f=Changes;h=9c8033d467b51d2576cbe75cd5b8668157f09f1e;hp=6edb3f05b85f1104ed8953ad128f761eaa49b908;hb=HEAD;hpb=029cd913066b88040c4efaa966c96bf2d4e584d9 diff --git a/Changes b/Changes index 6edb3f0..9c8033d 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,159 @@ Revision history for autovivification +0.18 2017-11-04 15:30 UTC + + Fix : [RT #123411] : Compatibility with CV-in-stash optimisation + Thanks Father Chrysostomos for reporting and contributing a + patch. + + Fix : [RT #122956] : strict/warn flags seem to simply do nothing + The documentation has been amended to clarify how these two + options are supposed to be used. + Thanks Christian Walde for reporting. + +0.17 2017-07-31 17:15 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 : The new optimization in perl 5.27.3 for scalar(keys(%$hashref)) + is now correcty supported. + +0.16 2015-07-01 14:30 UTC + + Fix : Broken linkage on Windows. + +0.15 2015-05-14 20:35 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 : The module has been taught about the new multideref + optimization, and will function properly on perl 5.21.11 and + above. + + Fix : The module will no longer crash or behave erratically when it + is loaded by several threads (or Windows emulated processes) + ran in parallel. + + Fix : Update the Windows ActivePerl + gcc 3.4 workaround for + ExtUtils::MakeMaker 7.04. Thanks Christian Walde for reporting + and feedback on this issue. + + Fix : Be really compatible with the optional OP_PARENT feature. + + Tst : $ENV{$Config{ldlibpthname}} is now preserved on all platforms, + which will address failures of t/43-peep.t and + t/51-threads-teardown.t with unusual compilers (like icc) that + link all their compiled objects to their own libraries. + +0.14 2014-11-01 22:25 UTC + + Fix : [RT #99458] : AnyEvent::Loop hangs if autovivification 0.13 is + loaded + [RT #99904] : 'no autovivification' breaks Lingua::EN::Inflect + from a distance + This was a regression in 0.13 which caused the peephole + optimizer to loop infinitely on "... while 1" constructs. + However, the Lingua::EN::Inflect problem only occured in perl + 5.20 and above. + Thanks Toshio Ito and Kent Fredric for reporting. + +0.13 2014-10-04 16:55 UTC + This release contains a change that, while being very likely to be safe, + can potentially cause freezes during code compilation. Every release + should be carefully tested before being put in production, but this is + especially true for this one. + + Add : Support for the PERL_OP_PARENT optional feature introduced in + perl 5.21.2. + + Doc : The CAVEATS section now warns about the global slowdown during + compilation caused by this pragma. + + Fix : [RT #97703] : Android support + t/51-threads-teardown.t will no longer fail on Android. + Thanks Brian Fraser for reporting. + + Fix : Segfaults in eval in an END block of a Win32 pseudo-fork. + + Fix : Segfaults during global destruction of a thread or a + pseudo-fork. + + Opt : The global slowdown caused by this module has been greatly + reduced. + Thanks Ævar Arnfjörð Bjarmason for reporting and testing the + change. + +0.12 2013-09-05 17:20 UTC + + Fix : Check functions are now replaced and restored in a thread-safe + manner, either by using the wrap_op_checker() function from perl + when it is available (starting from perl 5.16) or by taking the + OP_REFCNT mutex on older perls. + + Tst : Author tests are no longer bundled with this distribution. + They are only made available to authors in the git repository. + +0.11 2013-02-08 19:25 UTC + This is a maintenance release. The code contains no functional change. + Satisfied users of version 0.10 can skip this update. + + Doc : POD tweaks and clarifications. + + Tst : Threads tests will not fail anymore if resources constraints + prevent the system from creating all the required threads. + + Tst : Author tests overhaul. + +0.10 2011-08-24 15:00 UTC + + Fix : The pragma no longer vivifies the "autovivification" entry + in the hints hash %^H on perl 5.8. + +0.09 2011-01-05 18:40 UTC + + Fix : [RT #64435] : Hangs with File::Copy in Config.pm. + This was actually a regression introduced together with the new + peephole optimizer strategy, and that caused the pragma to hang + on constructs like "for (;;) { ... }". + Thanks Michael Schilli for reporting. + +0.08 2011-01-03 21:00 UTC + + Fix : Building on Windows. + +0.07 2010-12-31 16:20 UTC + + Chg : perl 5.8.3 is required. + + Doc : Complements and clarifications. + + Fix : Segmentation faults and misbehaviours in threaded applications. + + Fix : Compatibility with perl 5.13.7. + Thanks Andreas J. König for reporting and Andrew Main for + providing a fix. + + Fix : Broken linkage on Windows with gcc 3.4, which appears in + particular when using ActivePerl's default compiler suite. + For those setups, the autovivification shared library will now + be linked against the perl dll directly (instead of the import + library). + + Opt : The pragma takes slightly more time at compile-time, but is + slightly faster at run-time. + + Tst : Lengthy tests have been ported to Test::Leaner, making the + whole test suite about 50% faster. + + 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.06 2010-04-24 17:40 UTC + + Add : The A_THREADSAFE and A_FORKSAFE constants. + + Fix : [RT #56870] : "no autovivification" vs Regexp::Common. + This was a bug in how tied arrays and hashes were handled. + Thanks Michael G. Schwern for reporting. + + Fix : Scope leaks under perl 5.8-5.10.0. + + Fix : Segfaults when first loading the pragma from inside a thread. + +0.05 2010-03-05 23:15 UTC + + Fix : [RT #55154] : Crashes and assertion failures when deparsing and + re-eval-uating some code compiled while autovivification was in + use. + Thanks Michael G. Schwern for reporting. + + Fix : [RT #53647] : "leys" typo in pod. + Thanks Hinrik Orn Sigurdsson for reporting. + +0.04 2010-01-10 00:30 UTC + + Add : Array and hash slices are now handled by the pragma. + + Fix : Work around Kwalitee test misfailures. + +0.03 2009-06-23 22:20 UTC + + Add : Handle old-fashion dereferencing (like $$hashref{key}). + + Chg : Aliasing constructs (for ($x{foo}) { ... }) are now covered by + the 'store' category (and no longer the 'fetch' one). This is + because there's no way to know at compile-time if the alias + will be assigned to. + + Fix : Quadratic complexity at compile-time. + + Fix : Segfaults when dereferencing globals. + + Fix : Segfaults on big-endian systems. + + Tst : Really test plain arrays and hashes. + + Tst : Improved coverage. + 0.02 2009-06-17 18:05 UTC + Add : 'fetch' also applies to aliasing ("for ($hashref->{key}) { }"). + Fix : Don't segfault on "keys/values %$hashref", and don't vivify if