X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=blobdiff_plain;f=Changes;h=8500f5c1047e0be6d7894a34ce88498b021d3db0;hp=affc106e0af22dc4f53bd16cc6e6e2f593121683;hb=7f2abe70c4334df1462a163d36bd809dd21d915e;hpb=d4d9cefeb432c16bc7994c784bed08b6b17f2b25 diff --git a/Changes b/Changes index affc106..8500f5c 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,123 @@ Revision history for indirect +0.23 2010-10-03 00:15 UTC + + Fix : Some indirect constructs could be incorrectly reported when + several modules were used in the same scope. This caused + t/30-scope.t to fail randomly. + + Tst : Threads tests are now only run on perl 5.13.4 and higher. + They could segfault randomly because of what seems to be an + internal bug of Perl, which has been addressed in 5.13.4. + There is also an environment variable that allows you to + forcefully run those tests, but it should be set only for + author testing and not for end users. + +0.22 2010-08-16 16:00 UTC + + Add : Indirect constructs are now reported for code interpolated + in quote-like environments, like "${\( ... )}", "@{[ ... ]}", + s/pattern/ ... /e, qr/(?{ ... })/ or qr/(??{ ... })/. + + Add : You can now make the pragma lethal by passing anything matching + /^:?fatal$/i to import(), including "FATAL" and ":Fatal". + + Fix : [RT #60378] : segmentation fault on indirect_ck_method. + This caused constructs like "@{[ $obj->$meth ]}" to segfault + when $meth was a lexical. + Thanks Tokuhiro Matsuno for reporting. + +0.21 2010-05-31 23:10 UTC + + Chg : perl 5.8.1 is now required (instead of 5.8.0). + + Fix : [RT #57699] : indirect fail with 64-bit int on 5.13.1. + It was actually a problem with thread destructors segfaulting + because they weren't called at the right time anymore. + Thanks Andrew Main for reporting. + + Tst : A few more regression tests about the scope leak bug. + +0.20 2010-04-18 21:25 UTC + + Fix : [RT #50570] : "indirect" leaking into LWP. + Thanks Andrew Main for reporting. + More generally, the require propagation workaround on 5.8-5.10.0 + has been overhauled, and other scope leaks should be fixed. + + Fix : Test failures with 5.12 on Windows where Strawberry Perl crashes + because the SystemRoot environment variable is missing. + + Fix : Work around Kwalitee test misfailures. + +0.19 2009-08-28 18:40 UTC + + Add : The new constant I_FORKSAFE can be tested to know whether the + module will behave nicely when fork()ing. It's currently always + true except on Windows where you need perl 5.10.1 for it to be + true. + + Fix : I_THREADSAFE and I_FORKSAFE ought to be true when + PERL_INDIRECT_PM_DISABLE is set. + + Fix : The pragma could still leak if you passed to the "hook" option + a reference to the same (named) subroutine from two different + require scopes. The fix also provides a better solution for + RT #47902. + + Fix : Segfaults when indirect is loaded for the first time from + inside a thread. + + Fix : Leaks of memory associated with the root interpreter. + + Opt : Less memory will be used for non-threaded perls version 5.10.0 + and below, and for threaded perls from version 5.10.1. + +0.18 2009-08-23 16:15 UTC + + Add : When set, the PERL_INDIRECT_PM_DISABLE environment variable + disables the pragma globally. + +0.17 2009-07-16 12:10 UTC + + Fix : [RT #47902] : "no indirect" leaking again. + This actually turned out to be a bug in how the hook coderefs + were stored in the hints hash. + Thanks Andrew Main for reporting once again. + + Fix : t/80-regressions.t failing on Windows. + + Tst : Yet more cleanups. + +0.16 2009-07-14 16:50 UTC + + Add : Indirect calls on blocks are now reported. For those, '{' is + passed to the hook as the object description. + + Add : The new indirect::msg() function publicizes the default + warning/exception message. + + Fix : [RT #47866] : Segfault with UTF-8 regexps. + Thanks Andrew Main for reporting. + + Tst : Cleanups. + +0.15 2009-07-08 22:55 UTC + + Fix : Invalid constructs with the same method and package name were + not reported. + + Fix : The error line number used to point to the end of the expression + instead of its beginning. + +0.14 2009-06-04 21:55 UTC + + Fix : Prevent bogus invalid syntaxes caused by reallocated memory + chunks. Thanks Andrew Main for reporting with a reproducible + test case. + +0.13 2009-05-24 18:50 UTC + + Add : The hook now receives the file name and the line where the + error happened in respectively $_[2] and $_[3]. + + Fix : Pass mortalized copies of the method name and object to the + hook. This seems to fix some rare crashes. + + Fix : Work around a bug in perl 5.10.0 and lower. Thanks Andrew Main + for teaching me about this issue. + + Fix : Report the correct file in error messages (a regression from the + previous version). + +0.12 2009-05-03 14:30 UTC + + Add : You can specify the action to execute for each indirect + construct encountered with the new "hook => $coderef" unimport() + option. + + Chg : A ptable is now used internally for the op => position mapping. + + Fix : The pragma is now built with thread safety features enabled + whenever possible (a notable exception is perl 5.8.x on Win32, + as something seems wrong with its context handling). + The new indirect::I_THREADSAFE() constant reflects this. + + Fix : A negation precedence nit in indirect_ck_entersub(). + + Tst : "use/no indirect" while parsing an indirect construct. + + Tst : Thread safety. + +0.11 2009-02-08 18:35 UTC + + Fix : Potential collisions by hashing pointers with a wrong format. + + Upd : Resources in META.yml. + +0.10 2009-01-17 12:40 UTC + Re-release 0.09_01 as stable. + 0.09_01 2008-12-08 17:55 UTC + Fix : Invalid memory read with "${\(new Foo)}" constructs. The corresponding test is turned back on.