1 Revision history for autovivification
3 0.09 2011-01-05 18:40 UTC
4 + Fix : [RT #64435] : Hangs with File::Copy in Config.pm.
5 This was actually a regression introduced together with the new
6 peephole optimizer strategy, and that caused the pragma to hang
7 on constructs like "for (;;) { ... }".
8 Thanks Michael Schilli for reporting.
10 0.08 2011-01-03 21:00 UTC
11 + Fix : Building on Windows.
13 0.07 2010-12-31 16:20 UTC
14 + Chg : perl 5.8.3 is required.
15 + Doc : Complements and clarifications.
16 + Fix : Segmentation faults and misbehaviours in threaded applications.
17 + Fix : Compatibility with perl 5.13.7.
18 Thanks Andreas J. König for reporting and Andrew Main for
20 + Fix : Broken linkage on Windows with gcc 3.4, which appears in
21 particular when using ActivePerl's default compiler suite.
22 For those setups, the autovivification shared library will now
23 be linked against the perl dll directly (instead of the import
25 + Opt : The pragma takes slightly more time at compile-time, but is
26 slightly faster at run-time.
27 + Tst : Lengthy tests have been ported to Test::Leaner, making the
28 whole test suite about 50% faster.
29 + Tst : Threads tests are now only run on perl 5.13.4 and higher.
30 They could segfault randomly because of what seems to be an
31 internal bug of Perl, which has been addressed in 5.13.4.
32 There is also an environment variable that allows you to
33 forcefully run those tests, but it should be set only for
34 author testing and not for end users.
36 0.06 2010-04-24 17:40 UTC
37 + Add : The A_THREADSAFE and A_FORKSAFE constants.
38 + Fix : [RT #56870] : "no autovivification" vs Regexp::Common.
39 This was a bug in how tied arrays and hashes were handled.
40 Thanks Michael G. Schwern for reporting.
41 + Fix : Scope leaks under perl 5.8-5.10.0.
42 + Fix : Segfaults when first loading the pragma from inside a thread.
44 0.05 2010-03-05 23:15 UTC
45 + Fix : [RT #55154] : Crashes and assertion failures when deparsing and
46 re-eval-uating some code compiled while autovivification was in
48 Thanks Michael G. Schwern for reporting.
49 + Fix : [RT #53647] : "leys" typo in pod.
50 Thanks Hinrik Orn Sigurdsson for reporting.
52 0.04 2010-01-10 00:30 UTC
53 + Add : Array and hash slices are now handled by the pragma.
54 + Fix : Work around Kwalitee test misfailures.
56 0.03 2009-06-23 22:20 UTC
57 + Add : Handle old-fashion dereferencing (like $$hashref{key}).
58 + Chg : Aliasing constructs (for ($x{foo}) { ... }) are now covered by
59 the 'store' category (and no longer the 'fetch' one). This is
60 because there's no way to know at compile-time if the alias
62 + Fix : Quadratic complexity at compile-time.
63 + Fix : Segfaults when dereferencing globals.
64 + Fix : Segfaults on big-endian systems.
65 + Tst : Really test plain arrays and hashes.
66 + Tst : Improved coverage.
68 0.02 2009-06-17 18:05 UTC
69 + Add : 'fetch' also applies to aliasing ("for ($hashref->{key}) { }").
70 + Fix : Don't segfault on "keys/values %$hashref", and don't vivify if
72 + Fix : Plain dereferencing shouldn't have a different behaviour when
74 + Tst : Improved coverage.
76 0.01 2009-06-14 20:10 UTC
77 First version, released on an unsuspecting world.