]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blob - Changes
This is 0.36
[perl/modules/Variable-Magic.git] / Changes
1 Revision history for Variable-Magic
2
3 0.36    2009-07-05 16:30 UTC
4         + Chg : getdata() now returns an empty list when no magic is present.
5                 It used to return undef but did not croak as stated in the doc.
6                 Thanks Matt S. Trout for pointing this out.
7         + Fix : Building and tests with ActiveState Perl 5.8 build >= 822.
8
9 0.35    2009-05-15 20:50 UTC
10         This is a maintenance release. Users of 0.34 can skip this update.
11         + Chg : uvar magic used to be enabled for 5.9.5. It now requires 5.10 or
12                 later.
13         + Fix : Silence compilation warnings for cxinc().
14         + Rem : The workaround introduced in 0.31 for the "Unknown errors" issue
15                 was removed, as regression tests show that 0.34 provides a
16                 better fix.
17         + Tst : Skip t/40-threads.t on 5.8.x with old versions of threads and
18                 threads::shared.
19
20 0.34    2009-04-19 16:55 UTC
21         + Fix : Destruction of wizards in require.
22         + Fix : "panic: restartop" in 5.10 when dieing at compile time triggers
23                 a destructor.
24
25 0.33    2009-03-26 00:00 UTC
26         + Chg : cast() and getsig() now croak too when an invalid signature is
27                 passed.
28         + Fix : It was possible to generate with gensig() the same signature
29                 twice before actually defining the wizards.
30         + Tst : More stash tests.
31         + Tst : Test when the magic takes place in some cases.
32         + Tst : Improved coverage for the op object feature.
33
34 0.32    2009-03-01 13:45 UTC
35         + Chg : dispell() and getdata() now croak when an invalid signature is
36                 passed.
37         + Doc : More examples and a brand new synopsis.
38         + Fix : The signature is no longer stored in the mg_private member of
39                 the MAGIC struct. This fixes possible clashes with magics from
40                 other extensions.
41         + Fix : op info objects weren't blessed into the right class.
42         + Fix : Races when initializing the op names cache under threads.
43
44 0.31    2009-02-19 23:50 UTC
45         + Doc : A somewhat better introduction. The FUNCTION section was moved
46                 before CONSTANTS and HISTORY since it's more important. And
47                 'assignation' is really 'assignment', says Ricardo. :)
48         + Fix : The op_info features are now thread safe.
49         + Fix : Segfaults that occured when trying to get the op name during
50                 global destruction.
51         + Fix : Segfaults and wrong "Unknown error" exceptions that happened
52                 when dieing in require caused a free callback to fire.
53                 Thanks Florian Ragwitz for reporting.
54
55 0.30    2009-02-12 17:05 UTC
56         + Add : You can now get in all the callbacks either the name or a B::OP
57                 object representing the current op if you pass the new 'op_info'
58                 option to wizard() with respective values VMG_OP_INFO_NAME and
59                 VMG_OP_INFO_OBJECT.
60         + Doc : Document magic on array/hashes values.
61         + Fix : Completely skip free callbacks during global destruction.
62         + Tst : Tests now pass again on 5.8.3 and lower (they were broken since
63                 0.27).
64         + Tst : Test magic on symbol table and on array/hash values.
65
66 0.29    2009-02-08 11:10 UTC
67         + Add : Set $_[2] to the default length for len magic on scalars.
68         + Chg : Perl 5.8 is required.
69         + Chg : The CLONE method will no longer be defined for non-threaded
70                 perls.
71         + Doc : Nits.
72         + Fix : The logic for turning off the GMAGICAL flag on hashes when no
73                 uvar magic is involved could do nasty things on tied hashes.
74         + Upd : More resources in META.yml.
75
76 0.28    2009-01-24 17:05 UTC
77         + Add : The 'copy_key' option to wizard(), that enables the safe edition
78                 of $_[2] in uvar callbacks to redirect actions to another key.
79         + Fix : Exception objects thrown from callbacks at compile time were not
80                 available in $@.
81         + Fix : free callbacks triggered during global destruction could lead to
82                 segfaults because the wizard was already freed.
83         + Fix : Refcount of scalars with free callback.
84         + Fix : Segfaults when using get or uvar magic simultaneously with clear
85                 magic.
86         + Doc : The documentation about what the callbacks take and should
87                 return is now somewhat clearer.
88
89 0.27    2009-01-18 23:40 UTC
90         + Fix : Offset of 1 with len magic on scalars.
91         + Fix : Segfaults that seem to happen when one croak in a callback at
92                 compile time (thanks Ash Berlin for the testcase).
93         + Upd : Resources in META.yml (Florian Ragwitz)
94         + Tst : Large cleanup resulting in a wider set of tested behaviours.
95
96 0.26    2008-11-29 22:05 UTC
97         + Fix : Leaks of cloned coderefs that access lexicals.
98         + Fix : Building with maint-5.8 and blead (thanks Andreas Koenig).
99
100 0.25    2008-11-12 19:40 UTC
101         + Fix : Compatibility with 5.8.9.
102         + Fix : Old Pod::Coverage don't ignore CLONE.
103         + Upd : META.yml spec updated to 1.4.
104
105 0.24    2008-10-12 14:55 UTC
106         + Fix : Really fix it.
107
108 0.23    2008-10-11 17:25 UTC
109         + Fix : Building on perls with multiplicity but not ithreads.
110
111 0.22    2008-09-29 19:40 UTC
112         + Doc : Explain how magic differs from overloading.
113         + Fix : Disable thread safety for perl 5.8 on Windows. If you want it
114                 enabled, reliable feedback is welcome.
115
116 0.21_02 2008-09-28 23:10 UTC
117         + Fix : Hide previously deleted magic tokens in vmg_svt_free (Yuval
118                 Kogman).
119
120 0.21_01 2008-09-22 13:25 UTC
121         + Chg : Shrink the context data.
122         + Fix : Enable thread safety features for perls that just lack
123                 MY_CXT_CLONE.
124         + Tst : Output threads and threads::shared versions in threads tests.
125
126 0.20    2008-09-20 23:35 UTC
127         + Fix : The module is now thread safe. You can test if it had been
128                 built with thread safety features enabled through the
129                 VMG_THREADSAFE constant.
130         + Fix : Correct backtrace when wizard() croaks.
131         + Fix : 'cast $a, undef' should throw an 'invalid wizard' error instead
132                 of an 'invalid signature'.
133
134 0.19    2008-07-05 15:05 UTC
135         + Add : The patchlevel with which the module has been built is now
136                 exported with the VMG_PERL_PATCHLEVEL constant.
137         + Chg : Version checking macros overhaul.
138         + Fix : 'uvar' magic should only be enabled in maint-5.10 and higher
139                 since it's never going to be backported to 5.8.
140         + Fix : Likewise, the copy callback API change should only be enabled in
141                 5.11 and higher.
142         + Fix : Instead of those ackward fake refcount increments in the wizard
143                 destructor, flag the wizard with SVf_BREAK and force temps
144                 cleanup. This should fix the wizard destruction for all perls,
145                 and solves the leak introduced by the previous solution.
146
147 0.18    2008-07-04 12:20 UTC
148         + Fix : Enable uvar magic when patchlevel >= 28419.
149         + Fix : Set VMG_COMPAT_ARRAY_PUSH_NOLEN for Windows ActiveState Perl
150                 5.8.x.
151
152 0.17    2008-05-11 09:05 UTC
153         + Fix : 5.8.4 and lower don't have mPUSHi. Gah. Yeah, I know, I should
154                 use Devel::PPPort.
155
156 0.16    2008-05-10 22:05 UTC
157         + Add : The samples/copy.pl script.
158         + Chg : The sv_magical() + vmg_mg_magical() combo was simplified into
159                 vmg_sv_magicuvar().
160         + Tst : t/33-code.t was testing scalars, not code.
161         + Tst : is() and like() are better than ok().
162         + Tst : 100% coverage reached.
163
164 0.15    2008-04-11 18:25 UTC
165         + Chg : Factor vmg_cb_call{1,2,3}() into one function.
166         + Fix : len magic is no longer called when taking the length() of a
167                 magical scalar since p32969. The VMG_COMPAT_SCALAR_LENGTH_NOLEN
168                 constant was added to cover this.
169         + Tst : More tests for t/22-len.t.
170
171 0.14    2008-03-24 12:35 UTC
172         + Fix : t/16-huf.t failures on Solaris and FreeBSD caused by not
173                 updating mg->mg_ptr after Renew-ing it on dispell.
174         + Fix : Undefining MGf_DUP caused the wizard's magic to be wrongly
175                 initialized. MGf_DUP now appears as true from the user point of
176                 view, but the dup callback isn't actually set.
177         + Fix : Warnings with blead due to copy callbacks now taking an I32 (API
178                 change #33256).
179         + Fix : vmg_svt_val() and vmg_uvar_del() aren't required if no uvar
180                 magic is available.
181         + Tst : Tests now output the version of optional modules loaded.
182
183 0.13    2008-03-19 14:35 UTC
184         + Doc : Link to coverage report.
185         + Fix : Correct dependencies listing in META.yml.
186         + Tst : Improved test coverage.
187         + Tst : Print the patchlevel as a comment.
188         + Tst : Use is() where it's relevant.
189         + Tst : t/16-huf.t now really tests interaction with H::U::FH.
190
191 0.12    2008-02-07 18:15 UTC
192         + Fix : POD error. Thanks to Chris Williams (BinGOs) for the quick
193                 feedback.
194
195 0.11    2008-02-07 17:55 UTC
196         + Add : Copy callbacks now receive the current key/index in $_[2].
197                 The current value/element is now in $_[3].
198         + Chg : The trigger of copy magic on list assignment with perls greater
199                 than 5.10.0 was caused by uvar magic. Hence,
200                 VMG_COMPAT_HASH_LISTASSIGN_COPY was removed. Use VMG_UVAR
201                 instead.
202         + Fix : Build failures on patched perls.
203         + Tst : Added missing exported symbols to 01-import.t.
204
205 0.10    2008-02-04 11:30 UTC
206         + Add : New script : samples/vm_vs_tie.pl, that benchmarks our uvar
207                 magic versus tied hashes.
208         + Add : The VMG_COMPAT_* constants can be used from userspace to check
209                 perl magic abilities.
210         + Fix : Callbacks that returned undef made us croak, breaking the
211                 variable behaviour (regression test in 14-callbacks.t).
212         + Fix : uvar callbacks weren't tested for non-NULL-ity before being
213                 called (regression test in 28-uvar.t).
214         + Tst : Fix typo in 25-copy.t that prevented Tie::Hash tests to be ran.
215
216 0.09    2008-02-02 11:30 UTC
217         + Doc : Explicitely say that uvar callbacks are safely ignored for
218                 non-hashes.
219         + Doc : Document caveats and fix the usual set of typos.
220         + Fix : vmg_dispell() didn't check if the ext magic were ours when
221                 counting wizards that have uvar callbacks, resulting in a
222                 possible memory misread.
223         + Fix : getdata() now returns directly the data object, and no longer a
224                 copy. This caused a leak.
225         + Tst : Prefix author tests by 9*-.
226         + Tst : New optional author test : 95-portability-files.t, that uses
227                 Test::Portability::Files when it's present.
228         + Tst : New test : 14-self.t, that tests application of magic on the
229                 wizard itself.
230         + Tst : Move Hash::Util::FieldHash tests out of 11-multiple.t to
231                 15-huf.t.
232
233 0.08    2008-02-01 16:55 UTC
234         + Add : copy magic for tied arrays/hashes.
235         + Add : local magic.
236         + Add : uvar magics : fetch, store, exists, delete for hashes.
237
238 0.07_*  2008-01
239         Internal development versions.
240
241 0.06    2007-11-20 10:10 UTC
242         + Chg : 5.7.3 is now officially required.
243         + Fix : "data" test failures on 5.8.{0,2}.
244         + Fix : Drand01() vs rand().
245
246 0.05    2007-11-19 09:10 UTC
247         + Fix : 5.10.0_RC1 compatibility fix.
248
249 0.04    2007-08-28 12:25 UTC
250         + Chg : s/require (XSLoader)/use $1/.
251         + Fix : Tests are now strict.
252         + Fix : Complete dependencies.
253
254 0.03    2007-08-01 17:20 UTC
255         + Add : Passing the signature of an already defined magic to wizard()
256                 now returns the corresponding magic object.
257         + Add : You can pass the numeric signature as the wizard argument of
258                 cast(), dispell() and getdata().
259         + Add : Any argument specified after the wizard (or the signature) in a
260                 call to cast() is now passed to the private data constructor in
261                 $_[1] and after.
262         + Chg : $_[0] is now always a reference to the magic variable in all
263                 callbacks. The reason for changing from the previous behaviour
264                 is that one may want to apply the same magic to a plain scalar
265                 and to a scalar reference, and needs a way to distinguish
266                 between them in the callback (say, ref()).
267         + Fix : Wizard object destruction used not to free the signature.
268
269 0.02    2007-07-27 13:50 UTC
270         + Fix : In response to test report 548152 :
271                 Newx() and SvMAGIC_set() not present on older perls.
272         + Fix : In response to test report 548275 :
273                 Since perl 5.9.5, 'clear' magic is invoked when an array is
274                 undefined (bug #43357). Moreover, 'len' magic is no longer
275                 called by pushing an element since perl 5.9.3.
276         + Fix : Missing glob test in MANIFEST.
277
278 0.01    2007-07-25 16:15 UTC
279         First version, released on an unsuspecting world.
280