]> git.vpit.fr Git - perl/modules/autovivification.git/blob - Changes
ec1ca15938b2e9fbcccbaf52fe50aa1b90e5cbd7
[perl/modules/autovivification.git] / Changes
1 Revision history for autovivification
2
3 0.17    2017-07-31 17:15 UTC
4         + Chg : A large chunk of boilerplate XS code, which is also used in
5                 other XS modules, has been factored out of the main .xs file
6                 to a collection of .h files in the xsh subdirectory.
7         + Fix : The new optimization in perl 5.27.3 for scalar(keys(%$hashref))
8                 is now correcty supported.
9
10 0.16    2015-07-01 14:30 UTC
11         + Fix : Broken linkage on Windows.
12
13 0.15    2015-05-14 20:35 UTC
14         + Chg : The new environment variable to enable thread tests on older
15                 perls is PERL_FORCE_TEST_THREADS. Note that this variable
16                 should only be turned on by authors.
17         + Fix : The module has been taught about the new multideref
18                 optimization, and will function properly on perl 5.21.11 and
19                 above.
20         + Fix : The module will no longer crash or behave erratically when it
21                 is loaded by several threads (or Windows emulated processes)
22                 ran in parallel.
23         + Fix : Update the Windows ActivePerl + gcc 3.4 workaround for
24                 ExtUtils::MakeMaker 7.04. Thanks Christian Walde for reporting
25                 and feedback on this issue.
26         + Fix : Be really compatible with the optional OP_PARENT feature.
27         + Tst : $ENV{$Config{ldlibpthname}} is now preserved on all platforms,
28                 which will address failures of t/43-peep.t and
29                 t/51-threads-teardown.t with unusual compilers (like icc) that
30                 link all their compiled objects to their own libraries.
31
32 0.14    2014-11-01 22:25 UTC
33         + Fix : [RT #99458] : AnyEvent::Loop hangs if autovivification 0.13 is
34                 loaded
35                 [RT #99904] : 'no autovivification' breaks Lingua::EN::Inflect
36                 from a distance
37                 This was a regression in 0.13 which caused the peephole
38                 optimizer to loop infinitely on "... while 1" constructs.
39                 However, the Lingua::EN::Inflect problem only occured in perl
40                 5.20 and above.
41                 Thanks Toshio Ito and Kent Fredric for reporting.
42
43 0.13    2014-10-04 16:55 UTC
44         This release contains a change that, while being very likely to be safe,
45         can potentially cause freezes during code compilation. Every release
46         should be carefully tested before being put in production, but this is
47         especially true for this one.
48         + Add : Support for the PERL_OP_PARENT optional feature introduced in
49                 perl 5.21.2.
50         + Doc : The CAVEATS section now warns about the global slowdown during
51                 compilation caused by this pragma.
52         + Fix : [RT #97703] : Android support
53                 t/51-threads-teardown.t will no longer fail on Android.
54                 Thanks Brian Fraser for reporting.
55         + Fix : Segfaults in eval in an END block of a Win32 pseudo-fork.
56         + Fix : Segfaults during global destruction of a thread or a
57                 pseudo-fork.
58         + Opt : The global slowdown caused by this module has been greatly
59                 reduced.
60                 Thanks Ævar Arnfjörð Bjarmason for reporting and testing the
61                 change.
62
63 0.12    2013-09-05 17:20 UTC
64         + Fix : Check functions are now replaced and restored in a thread-safe
65                 manner, either by using the wrap_op_checker() function from perl
66                 when it is available (starting from perl 5.16) or by taking the
67                 OP_REFCNT mutex on older perls.
68         + Tst : Author tests are no longer bundled with this distribution.
69                 They are only made available to authors in the git repository.
70
71 0.11    2013-02-08 19:25 UTC
72         This is a maintenance release. The code contains no functional change.
73         Satisfied users of version 0.10 can skip this update.
74         + Doc : POD tweaks and clarifications.
75         + Tst : Threads tests will not fail anymore if resources constraints
76                 prevent the system from creating all the required threads.
77         + Tst : Author tests overhaul.
78
79 0.10    2011-08-24 15:00 UTC
80         + Fix : The pragma no longer vivifies the "autovivification" entry
81                 in the hints hash %^H on perl 5.8.
82
83 0.09    2011-01-05 18:40 UTC
84         + Fix : [RT #64435] : Hangs with File::Copy in Config.pm.
85                 This was actually a regression introduced together with the new
86                 peephole optimizer strategy, and that caused the pragma to hang
87                 on constructs like "for (;;) { ... }".
88                 Thanks Michael Schilli for reporting.
89
90 0.08    2011-01-03 21:00 UTC
91         + Fix : Building on Windows.
92
93 0.07    2010-12-31 16:20 UTC
94         + Chg : perl 5.8.3 is required.
95         + Doc : Complements and clarifications.
96         + Fix : Segmentation faults and misbehaviours in threaded applications.
97         + Fix : Compatibility with perl 5.13.7.
98                 Thanks Andreas J. König for reporting and Andrew Main for
99                 providing a fix.
100         + Fix : Broken linkage on Windows with gcc 3.4, which appears in
101                 particular when using ActivePerl's default compiler suite.
102                 For those setups, the autovivification shared library will now
103                 be linked against the perl dll directly (instead of the import
104                 library).
105         + Opt : The pragma takes slightly more time at compile-time, but is
106                 slightly faster at run-time.
107         + Tst : Lengthy tests have been ported to Test::Leaner, making the
108                 whole test suite about 50% faster.
109         + Tst : Threads tests are now only run on perl 5.13.4 and higher.
110                 They could segfault randomly because of what seems to be an
111                 internal bug of Perl, which has been addressed in 5.13.4.
112                 There is also an environment variable that allows you to
113                 forcefully run those tests, but it should be set only for
114                 author testing and not for end users.
115
116 0.06    2010-04-24 17:40 UTC
117         + Add : The A_THREADSAFE and A_FORKSAFE constants.
118         + Fix : [RT #56870] : "no autovivification" vs Regexp::Common.
119                 This was a bug in how tied arrays and hashes were handled.
120                 Thanks Michael G. Schwern for reporting.
121         + Fix : Scope leaks under perl 5.8-5.10.0.
122         + Fix : Segfaults when first loading the pragma from inside a thread.
123
124 0.05    2010-03-05 23:15 UTC
125         + Fix : [RT #55154] : Crashes and assertion failures when deparsing and
126                 re-eval-uating some code compiled while autovivification was in
127                 use.
128                 Thanks Michael G. Schwern for reporting.
129         + Fix : [RT #53647] : "leys" typo in pod.
130                 Thanks Hinrik Orn Sigurdsson for reporting.
131
132 0.04    2010-01-10 00:30 UTC
133         + Add : Array and hash slices are now handled by the pragma.
134         + Fix : Work around Kwalitee test misfailures.
135
136 0.03    2009-06-23 22:20 UTC
137         + Add : Handle old-fashion dereferencing (like $$hashref{key}).
138         + Chg : Aliasing constructs (for ($x{foo}) { ... }) are now covered by
139                 the 'store' category (and no longer the 'fetch' one). This is
140                 because there's no way to know at compile-time if the alias
141                 will be assigned to.
142         + Fix : Quadratic complexity at compile-time.
143         + Fix : Segfaults when dereferencing globals.
144         + Fix : Segfaults on big-endian systems.
145         + Tst : Really test plain arrays and hashes.
146         + Tst : Improved coverage.
147
148 0.02    2009-06-17 18:05 UTC
149         + Add : 'fetch' also applies to aliasing ("for ($hashref->{key}) { }").
150         + Fix : Don't segfault on "keys/values %$hashref", and don't vivify if
151                 'fetch' is set.
152         + Fix : Plain dereferencing shouldn't have a different behaviour when
153                 the pragma is in use.
154         + Tst : Improved coverage.
155
156 0.01    2009-06-14 20:10 UTC
157         First version, released on an unsuspecting world.
158