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