]> git.vpit.fr Git - perl/modules/indirect.git/blob - Changes
This is 0.27
[perl/modules/indirect.git] / Changes
1 Revision history for indirect
2
3 0.27    2013-01-30 19:00 UTC
4         + Fix : [RT #82562] : indirect/Devel::CallParser interaction
5                 indirect has been taught to play nicely with Devel::CallParser.
6                 Thanks Andrew Main for the patch.
7         + Tst : Author tests overhaul.
8
9 0.26    2011-10-23 14:25 UTC
10         + Add : "no indirect 'global'" enables the pragma for the whole program,
11                 except for lexical scopes that "use indirect" explicitely.
12         + Chg : Passing both the 'fatal' and 'hook' options to unimport() is
13                 now considered an error, and will result in an exception.
14                 unimport() used to consider only the first passed option of
15                 those two, and silently ignored the other.
16         + Tst : Test failures of t/41-threads-teardown.t and t/50-external.t on
17                 Cygwin should have been addressed.
18         + Tst : Threads tests will not fail anymore if resources constraints
19                 prevent the system from creating all the required threads.
20
21 0.25    2011-08-24 15:40 UTC
22         + Fix : RT #69291 is now also fixed for perl 5.8. The pragma will no
23                 longer vivify the "indirect" entry in the hints hash %^H on
24                 perl 5.8.
25         + Tst : Attempt to make t/50-external.t pass on Cygwin.
26
27 0.24    2011-07-17 23:15 UTC
28         + Fix : [RT #64521] : "no indirect" leaking into eval.
29                 This is currently only fixed for perl 5.10 (perl 5.12 and
30                 higher were never affected). It was caused by a very stupid
31                 mistake of mine that was introduced in indirect version 0.23.
32                 Thanks Michael G Schwern for reporting.
33         + Fix : [RT #69291] : indirect.pm breaks %^H.
34                 This was caused by the same mistake as for the previous bug,
35                 and as such it is also only fixed for perl 5.10 (and never
36                 affected perl 5.12).
37                 Thanks Andrew Main for reporting.
38         + Doc : C++ compilers are officially NOT supported.
39
40 0.23    2010-10-03 00:15 UTC
41         + Fix : Some indirect constructs could be incorrectly reported when
42                 several modules were used in the same scope. This caused
43                 t/30-scope.t to fail randomly.
44         + Tst : Threads tests are now only run on perl 5.13.4 and higher.
45                 They could segfault randomly because of what seems to be an
46                 internal bug of Perl, which has been addressed in 5.13.4.
47                 There is also an environment variable that allows you to
48                 forcefully run those tests, but it should be set only for
49                 author testing and not for end users.
50
51 0.22    2010-08-16 16:00 UTC
52         + Add : Indirect constructs are now reported for code interpolated
53                 in quote-like environments, like "${\( ... )}", "@{[ ... ]}",
54                 s/pattern/ ... /e, qr/(?{ ... })/ or qr/(??{ ... })/.
55         + Add : You can now make the pragma lethal by passing anything matching
56                 /^:?fatal$/i to import(), including "FATAL" and ":Fatal".
57         + Fix : [RT #60378] : segmentation fault on indirect_ck_method.
58                 This caused constructs like "@{[ $obj->$meth ]}" to segfault
59                 when $meth was a lexical.
60                 Thanks Tokuhiro Matsuno for reporting.
61
62 0.21    2010-05-31 23:10 UTC
63         + Chg : perl 5.8.1 is now required (instead of 5.8.0).
64         + Fix : [RT #57699] : indirect fail with 64-bit int on 5.13.1.
65                 It was actually a problem with thread destructors segfaulting
66                 because they weren't called at the right time anymore.
67                 Thanks Andrew Main for reporting.
68         + Tst : A few more regression tests about the scope leak bug.
69
70 0.20    2010-04-18 21:25 UTC
71         + Fix : [RT #50570] : "indirect" leaking into LWP.
72                 Thanks Andrew Main for reporting.
73                 More generally, the require propagation workaround on 5.8-5.10.0
74                 has been overhauled, and other scope leaks should be fixed.
75         + Fix : Test failures with 5.12 on Windows where Strawberry Perl crashes
76                 because the SystemRoot environment variable is missing.
77         + Fix : Work around Kwalitee test misfailures.
78
79 0.19    2009-08-28 18:40 UTC
80         + Add : The new constant I_FORKSAFE can be tested to know whether the
81                 module will behave nicely when fork()ing. It's currently always
82                 true except on Windows where you need perl 5.10.1 for it to be
83                 true.
84         + Fix : I_THREADSAFE and I_FORKSAFE ought to be true when
85                 PERL_INDIRECT_PM_DISABLE is set.
86         + Fix : The pragma could still leak if you passed to the "hook" option
87                 a reference to the same (named) subroutine from two different
88                 require scopes. The fix also provides a better solution for
89                 RT #47902.
90         + Fix : Segfaults when indirect is loaded for the first time from
91                 inside a thread.
92         + Fix : Leaks of memory associated with the root interpreter.
93         + Opt : Less memory will be used for non-threaded perls version 5.10.0
94                 and below, and for threaded perls from version 5.10.1.
95
96 0.18    2009-08-23 16:15 UTC
97         + Add : When set, the PERL_INDIRECT_PM_DISABLE environment variable
98                 disables the pragma globally.
99
100 0.17    2009-07-16 12:10 UTC
101         + Fix : [RT #47902] : "no indirect" leaking again.
102                 This actually turned out to be a bug in how the hook coderefs
103                 were stored in the hints hash.
104                 Thanks Andrew Main for reporting once again.
105         + Fix : t/80-regressions.t failing on Windows.
106         + Tst : Yet more cleanups.
107
108 0.16    2009-07-14 16:50 UTC
109         + Add : Indirect calls on blocks are now reported. For those, '{' is
110                 passed to the hook as the object description.
111         + Add : The new indirect::msg() function publicizes the default
112                 warning/exception message.
113         + Fix : [RT #47866] : Segfault with UTF-8 regexps.
114                 Thanks Andrew Main for reporting.
115         + Tst : Cleanups.
116
117 0.15    2009-07-08 22:55 UTC
118         + Fix : Invalid constructs with the same method and package name were
119                 not reported.
120         + Fix : The error line number used to point to the end of the expression
121                 instead of its beginning.
122
123 0.14    2009-06-04 21:55 UTC
124         + Fix : Prevent bogus invalid syntaxes caused by reallocated memory
125                 chunks. Thanks Andrew Main for reporting with a reproducible
126                 test case.
127
128 0.13    2009-05-24 18:50 UTC
129         + Add : The hook now receives the file name and the line where the
130                 error happened in respectively $_[2] and $_[3].
131         + Fix : Pass mortalized copies of the method name and object to the
132                 hook. This seems to fix some rare crashes.
133         + Fix : Work around a bug in perl 5.10.0 and lower. Thanks Andrew Main
134                 for teaching me about this issue.
135         + Fix : Report the correct file in error messages (a regression from the
136                 previous version).
137
138 0.12    2009-05-03 14:30 UTC
139         + Add : You can specify the action to execute for each indirect
140                 construct encountered with the new "hook => $coderef" unimport()
141                 option.
142         + Chg : A ptable is now used internally for the op => position mapping.
143         + Fix : The pragma is now built with thread safety features enabled
144                 whenever possible (a notable exception is perl 5.8.x on Win32,
145                 as something seems wrong with its context handling).
146                 The new indirect::I_THREADSAFE() constant reflects this.
147         + Fix : A negation precedence nit in indirect_ck_entersub().
148         + Tst : "use/no indirect" while parsing an indirect construct.
149         + Tst : Thread safety.
150
151 0.11    2009-02-08 18:35 UTC
152         + Fix : Potential collisions by hashing pointers with a wrong format.
153         + Upd : Resources in META.yml.
154
155 0.10    2009-01-17 12:40 UTC
156         Re-release 0.09_01 as stable.
157
158 0.09_01 2008-12-08 17:55 UTC
159         + Fix : Invalid memory read with "${\(new Foo)}" constructs. The
160                 corresponding test is turned back on.
161         + Tst : Refinements in t/30-scope.t
162
163 0.09    2008-12-05 20:35 UTC
164         + Add : Support for perl 5.8.
165         + Tst : Skip a test in t/10-good.t that randomly segfaults for (I guess)
166                 systems stricter than linux in the way they manage their memory.
167
168 0.08    2008-10-22 14:45 UTC
169         + Fix : A rare edge case for package whose names are prefix of 'main'.
170         + Tst : Test $$ as variable and state variables.
171
172 0.07_03 2008-10-17 20:10 UTC
173         + Add : Support and tests for variables with spaces after the sigil.
174         + Upd : META.yml spec updated to 1.4.
175
176 0.07_02 2008-10-15 21:10 UTC
177         + Add : Support and tests for package variables.
178         + Tst : Coverage improved by removing dead code.
179
180 0.07_01 2008-10-15 16:00 UTC
181         + Fix : [RT #40055] : Not handling RV2SV => GV(SV) correctly, which
182                 could cause 'no indirect; print' segfaults. Thanks Goro Fuji for
183                 reporting.
184
185 0.06    2008-10-11 16:45 UTC
186         + Doc : Nits.
187         + Tst : Test "no indirect 'anything'", "foo Class->bar", and indirect
188                 uses of exec() and system().
189
190 0.05    2008-10-02 14:40 UTC
191         + Chg : Now the old check function is always called before storing an op
192                 into the map.
193         + Fix : Misc code and docs refinements.
194
195 0.04    2008-08-30 19:00 UTC
196         + Fix : Clean up the op->src hash when we're done with an entersub.
197         + Tst : No longer fork for testing. IPC::Cmd isn't required anymore.
198
199 0.03    2008-08-12 15:25 UTC
200         This release is kindly supported by Copenhagen Hotel Centrum WiFi.
201         + Fix : Tests used not to pass PERL5OPTS to their kids. This lead to
202                 failures under CPAN. I think.
203         + Tst : Refinements.
204
205 0.02    2008-08-11 15:55 UTC
206         + Fix : Some building failures with old gcc versions that didn't seem to
207                 like the ((hint == 2) ? croak : warn)(msg) construct. I think.
208         + Rem : Unused cruft from a previous implementation.
209         + Tst : Fail more gracefully when we can't capture buffers or when the
210                 child returned an error.
211
212 0.01    2008-08-10 20:40 UTC
213         First version, released on an unsuspecting world.
214