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