Revision history for autovivification
+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