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