]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blob - Changes
2be8a94bfc7b028d68a853d1ce64aaf25b1739d9
[perl/modules/Variable-Magic.git] / Changes
1 Revision history for Variable-Magic
2
3 0.63    2022-09-20 21:45 UTC
4         This is a maintenance release. The code contains no functional change.
5         Satisfied users of version 0.62 can skip this update.
6         + Fix : [RT #144052] : Add support for 5.37.3s PADSV_STORE optimization
7                 B.pm-related tests have been taught about this new thing.
8                 Thanks Richard Leach for contributing a patch.
9         + Upd : Contact info.
10
11 0.62    2017-11-04 16:35 UTC
12         + Fix : [RT #123314] : Compatibility with CV-in-stash optimisation
13                 Thanks Father Chrysostomos for reporting and contributing a
14                 patch.
15
16 0.61    2017-01-24 15:30 UTC
17         + Fix : [RT #115792] : Latest blead stack unwind work causes infloop
18                 in a test.
19                 A change in how the core frees temporary values after eval
20                 interacted badly with Variable::Magic and caused infinite loops
21                 when a free callback was attached to a wizard. This change was
22                 temporarily reverted, but is going to be reinstated, and
23                 Variable::Magic is now able to play nicely when this happens.
24                 Thanks Peter Rabbitson for reporting and David Mitchell for
25                 providing a fix.
26
27
28 0.60    2016-09-06 22:30 UTC
29         + Chg : A large chunk of boilerplate XS code, which is also used in
30                 other XS modules, has been factored out of the main .xs file
31                 to a collection of .h files in the xsh subdirectory.
32         + Fix : [RT #128989] : Bleadperl v5.25.3-266-g1d7e644 breaks V::M.
33                 Len magic is no longer called for negative array indices
34                 fetches, so the relevant tests are now skipped.
35                 Thanks Andreas Koenig for reporting.
36
37 0.59    2015-10-05 19:05 UTC
38         + Chg : The magic callbacks are now always executed in a new stack.
39                 This should have no negative impact (performance-wise or
40                 behaviour-wise) on your code, but may actually fix some obscure
41                 bugs.
42         + Fix : [RT #107294] : Crash during install of Variable-Magic-0.58
43                 running "t\18-opinfo.t".
44                 A recent change in the core implementation of transliterations
45                 caused an undefined behaviour when it interacted with this
46                 module, which resulted in visible stack corruption on Win32
47                 perls compiled with MSVC when the op_info feature was enabled.
48                 This was fixed by using a separate stack for the magic
49                 callbacks.
50                 Thanks Peter Stokes for reporting and providing greatly
51                 helpful feedback.
52         + Fix : The object op_info feature will now handle correctly Unicode
53                 transliteration, multideref and custom ops.
54
55 0.58    2015-07-21 16:00 UTC
56         + Add : If a non-len magic callback returns a reference, it will now
57                 only be freed at the end of the statement that caused the
58                 magic to trigger. This allows the user to attach free magic
59                 (or a plain destructor) to a token returned from the callbacks
60                 in order to defer an action after the magic is processed by
61                 perl.
62         + Fix : Test failures of threads tests on systems with harsh resource
63                 constraints causing the threads to exit() during run.
64
65 0.57    2015-04-17 15:20 UTC
66         + Chg : The new environment variable to enable thread tests on older
67                 perls is PERL_FORCE_TEST_THREADS. Note that this variable
68                 should only be turned on by authors.
69         + Fix : Segfaults when the module is loaded by several threads (or
70                 Windows emulated processes) ran in parallel.
71         + Fix : Segfaults when the module is loaded in a thread, which spawns
72                 itself a new thread, and that child thread outlives its parent.
73         + Fix : Small memory leaks of structures required for thread safety.
74         + Fix : Update the Windows ActivePerl + gcc 3.4 workaround for
75                 ExtUtils::MakeMaker 7.04. Thanks Christian Walde for reporting
76                 and feedback on this issue.
77         + Tst : The global destruction test will now be exercised on any perl
78                 that has DEBUGGING set.
79         + Tst : Optional capturing tests in t/17-ctl.t that were only run when
80                 Capture::Tiny was present were converted to an IPC::Open3
81                 based helper and will now be run everywhere.
82
83 0.56    2015-03-11 15:15 UTC
84         + Fix : [RT #101410] : Install fails in blead
85                 Even though the change that caused this error was reverted from
86                 blead, lvalue uses of ERRSV have been removed from this module
87                 so that there will be no breakage when this change is possibly
88                 reintroduced in the following months.
89                 Thanks Dave Rolsky for reporting.
90         + Tst : $ENV{$Config{ldlibpthname}} is now preserved on all platforms,
91                 which will address failures of t/17-ctl.t with unusual
92                 compilers (like icc) that link all their compiled objects to
93                 their own libraries.
94         + Tst : The global destruction test is now only run on perl 5.13.4 and
95                 higher, and only if either Perl::Destruct::Level is installed
96                 or PERL_DESTRUCT_LEVEL is set and the perl is a debugging perl.
97                 This will solve rare crashes of t/15-self.t on perl 5.13.3 and
98                 older.
99
100 0.55    2014-10-20 23:45 UTC
101         + Fix : [RT #99319] : t/18-opinfo.t: test failure due to change in
102                 perl 5 blead
103                 The new METHOP op class added in perl 5.21.5 is now supported.
104                 Thanks James E Keenan for reporting.
105
106 0.54    2014-09-22 17:30 UTC
107         + Add : The new constant VMG_COMPAT_CODE_COPY_CLONE evaluates to true
108                 if your perl calls 'copy' magic when a magical code prototype
109                 is cloned, which is currently the case for perl 5.17.0 and
110                 above.
111         + Fix : [RT #90205] : copy magic on subs puts raw CV in $_[3]
112                 $_[3] will now contain a reference to the cloned code when
113                 'copy' magic is called for a coderef.
114                 Thanks Lukas Mai for reporting.
115         + Fix : t/35-stash.t has been taught about perl 5.21.4.
116         + Fix : Tests using run_perl() in t/17-ctl.t will no longer fail on
117                 Android.
118
119 0.53    2013-09-01 17:50 UTC
120         This is a maintenance release. The code contains no functional change.
121         Satisfied users of version 0.52 can skip this update.
122         + Fix : [RT #86338] : typo fix.
123                 Thanks dsteinbrunner@pobox.com for the patch.
124         + Tst : Author tests are no longer bundled with this distribution.
125                 They are only made available to authors in the git repository.
126
127 0.52    2012-11-05 02:30 UTC
128         + Add : The new constant VMG_COMPAT_SCALAR_NOLEN evaluates to true
129                 when your perl does not call 'len' magic for scalars, which
130                 is the case for perl 5.17.4 and above.
131                 This fixes RT #80388.
132         + Tst : t/35-stash.t has been taught about perl 5.17.4.
133         + Tst : Author tests overhaul.
134
135 0.51    2012-08-18 15:00 UTC
136         + Fix : It is now safe to call dispell() from inside 'free', 'copy' and
137                 'uvar' callbacks to dispell the magic currently in use.
138                 Thanks Clinton Gormley for reporting.
139         + Fix : Exceptions thrown from inside a 'free' callback are now always
140                 consistently propagated outside of the callback. They used to
141                 be lost when the 'free' callback was invoked at the end of an
142                 eval block or string.
143         + Fix : The 'reset RMG flag' workaroundn used to allow wizards with
144                 both 'uvar' and 'clear' magics to be cast onto a hash, has been
145                 made thread-safe.
146
147 0.50    2012-06-24 23:00 UTC
148         + Fix : Less memory is leaked when a wizard is freed during global
149                 destruction, or when an exception is thrown from a 'free'
150                 callback.
151         + Fix : [RT #77991] : t/17-ctl.t fails on perl 5.14 and 5.16.
152                 This was actually an issue with ActivePerl, and this test
153                 has learned to cope with it.
154                 Thanks Gisle Aas for reporting.
155         + Tst : t/35-stash.t has been taught about perl 5.17.1.
156         + Doc : Many clarifications.
157
158 0.49    2012-06-05 21:40 UTC
159         This is a maintenance release. The code contains no functional change.
160         Satisfied users of version 0.48 can skip this update.
161         + Fix : [RT #77644] : t/17_ctl.t fails in test 44 since 5.17.0.
162                 This test has been taught about perl 5.17.0.
163                 Thanks Reini Urban for reporting.
164         + Tst : t/99-kwalitee.t will be skipped when only problematic versions
165                 of its dependencies are available.
166
167 0.48    2012-02-17 23:40 UTC
168         + Add : You can now pass a reference to undef as the magic callback in
169                 order to install a no-op callback.
170                 Thanks Florian Ragwitz for the suggestion.
171
172 0.47    2011-10-27 16:55 UTC
173         + Add : The new constant VMG_COMPAT_HASH_DELETE_NOUVAR_VOID evaluates
174                 to true when "delete $hash{key}" does not call 'delete' uvar
175                 magic in void context.
176         + Chg : The MAGIC tokens created by this module no longer use the
177                 mg_private member for storing a "magical" signature.
178         + Fix : Triggering magic in a thread on a variable cloned from the main
179                 interpreter, and when the wizard already went out of scope,
180                 will not segfault anymore.
181         + Opt : The pointer table is no longer needed to ensure thread safety.
182                 The size of the object code is about 8% smaller for threaded
183                 perls.
184         + Tst : Threads tests will not fail anymore if resources constraints
185                 prevent the system from creating all the required threads.
186
187 0.46    2011-01-23 16:45 UTC
188         + Fix : [RT #64866] : Assertion failure with perl 5.13.9.
189                 The real problem was that dispell() wasn't properly resetting
190                 the magical sv flags, which became visible in the test suite
191                 only with perl 5.13.9.
192                 Thanks Joshua ben Jore for reporting.
193
194 0.45    2010-11-21 23:15 UTC
195         This is a maintenance release. The code contains no functional change.
196         Users of 0.44 can skip this update.
197         + Doc : C++ compilers are officially NOT supported.
198         + Doc : The minimum perl 5.10.0 requirement for uvar magic has been
199                 made more explicit.
200                 Thanks Peter Rabbitson for pointing this out and contributing a
201                 patch.
202         + Tst : Tune for perl 5.13.7.
203         + Tst : Capture::Tiny will be used in t/17-ctl.t if and only if it can
204                 capture a simple run.
205
206 0.44    2010-09-24 19:10 UTC
207         + Fix : Broken linkage on Windows with gcc 3.4, which appears in
208                 particular when using ActivePerl's default compiler suite.
209                 For those setups, the Variable::Magic shared library will now
210                 be linked against the perl dll directly (instead of the import
211                 library). This (should) fix RT #51483.
212                 Thanks Christian Walde for helping to reproduce this failure
213                 and extra testing.
214         + Rem : Support for development perls from the 5.11 branch but older
215                 than the 5.11.0 release was removed. This could cause more
216                 recent setups to fail.
217         + Tst : Threads tests are now only run on perl 5.13.4 and higher.
218                 They could segfault randomly because of what seems to be an
219                 internal bug of Perl, which has been addressed in 5.13.4.
220                 There is also an environment variable that allows you to
221                 forcefully run those tests, but it should be set only for
222                 author testing and not for end users.
223
224 0.43    2010-06-25 23:35 UTC
225         + Add : The new constant VMG_COMPAT_GLOB_GET tells you whether get magic
226                 is called for globs. It's true starting perl 5.13.2.
227         + Chg : All callbacks are now called within an eval-like context.
228                 Only free callbacks used to be called that way.
229         + Fix : Some exceptions thrown from a free callback could be lost.
230         + Fix : Croak messages could sometimes be repeated several times.
231         + Fix : t/41-clone.t segfaulting with perl 5.13.2.
232
233 0.42    2010-05-19 00:15 UTC
234         This is a maintenance release. The code contains no functional change.
235         Users of 0.41 can skip this update.
236         + Fix : Test failures with perl 5.13.
237         + Tst : Improve coverage.
238
239 0.41    2010-03-15 17:35 UTC
240         + Doc : Tweaks and fixups.
241                 Thanks Shlomi Fish.
242         + Fix : Compatibility with the soon-to-be-released perl 5.12.0.
243         + Fix : Correctly propagate the errors thrown when variable destruction
244                 happens at compile-time and not from inside eval STRING.
245                 Thanks Florian Ragwitz and Ash Berlin for reporting.
246
247 0.40    2010-01-06 23:20 UTC
248         + Fix : Possible memory miswrites when passing data arguments to cast().
249         + Fix : Minor C portability tweaks.
250
251 0.39    2009-12-01 00:05 UTC
252         + Add : You can use a function name as a callback by passing a string
253                 reference to wizard() instead of a code reference.
254         + Fix : Compatiblity with perl 5.11.1 and 5.11.2.
255         + Fix : Scalars stored into the data slot no longer leak.
256         + Fix : Thread destruction should not segfault anymore.
257         + Opt : As a result of removing the deprecated features, less memory is
258                 used for both threaded (a pointer table is used instead of a
259                 hash) and non-threaded (no global structure is needed anymore)
260                 perls.
261         + Rem : As advertised in the precendent version, all the signature
262                 related features were removed. This includes the 'sig' option
263                 to wizard(), the getsig() and gensig() functions, and the SIG_*
264                 constants.
265
266 0.38    2009-10-04 16:10 UTC
267         + Dep : All the signature-related features are DEPRECATED and will be
268                 removed in december 2009. This includes the 'sig' option to
269                 wizard(), the getsig() and gensig() functions, and the SIG_*
270                 constants.
271                 Afaik those features were never used in real life, and they make
272                 the XS code slow and brittle. If you want your wizards to be
273                 globally available, you'll have to handle that yourself by
274                 storing them in a hash.
275         + Doc : More examples in a new COOKBOOK section.
276         + Fix : Compatiblity with the 5.11.0 release. The new compatibility
277                 constant VMG_COMPAT_ARRAY_PUSH_NOLEN_VOID was added to cover
278                 this.
279         + Fix : Work around Kwalitee test misfailures.
280
281 0.37    2009-08-25 15:25 UTC
282         + Add : The new constant VMG_FORKSAFE can be tested to know whether the
283                 module will behave nicely when fork()ing. It's currently always
284                 true except on Windows where you need perl 5.10.1 for it to be
285                 true.
286         + Doc : Nits and clarifications.
287
288 0.36    2009-07-05 16:30 UTC
289         + Chg : getdata() now returns an empty list when no magic is present.
290                 It used to return undef but did not croak as stated in the doc.
291                 Thanks Matt S. Trout for pointing this out.
292         + Fix : Building and tests with ActiveState Perl 5.8 build >= 822.
293
294 0.35    2009-05-15 20:50 UTC
295         This is a maintenance release. Users of 0.34 can skip this update.
296         + Chg : uvar magic used to be enabled for 5.9.5. It now requires 5.10 or
297                 later.
298         + Fix : Silence compilation warnings for cxinc().
299         + Rem : The workaround introduced in 0.31 for the "Unknown errors" issue
300                 was removed, as regression tests show that 0.34 provides a
301                 better fix.
302         + Tst : Skip t/40-threads.t on 5.8.x with old versions of threads and
303                 threads::shared.
304
305 0.34    2009-04-19 16:55 UTC
306         + Fix : Destruction of wizards in require.
307         + Fix : "panic: restartop" in 5.10 when dieing at compile time triggers
308                 a destructor.
309
310 0.33    2009-03-26 00:00 UTC
311         + Chg : cast() and getsig() now croak too when an invalid signature is
312                 passed.
313         + Fix : It was possible to generate with gensig() the same signature
314                 twice before actually defining the wizards.
315         + Tst : More stash tests.
316         + Tst : Test when the magic takes place in some cases.
317         + Tst : Improved coverage for the op object feature.
318
319 0.32    2009-03-01 13:45 UTC
320         + Chg : dispell() and getdata() now croak when an invalid signature is
321                 passed.
322         + Doc : More examples and a brand new synopsis.
323         + Fix : The signature is no longer stored in the mg_private member of
324                 the MAGIC struct. This fixes possible clashes with magics from
325                 other extensions.
326         + Fix : op info objects weren't blessed into the right class.
327         + Fix : Races when initializing the op names cache under threads.
328
329 0.31    2009-02-19 23:50 UTC
330         + Doc : A somewhat better introduction. The FUNCTION section was moved
331                 before CONSTANTS and HISTORY since it's more important. And
332                 'assignation' is really 'assignment', says Ricardo. :)
333         + Fix : The op_info features are now thread safe.
334         + Fix : Segfaults that occured when trying to get the op name during
335                 global destruction.
336         + Fix : Segfaults and wrong "Unknown error" exceptions that happened
337                 when dieing in require caused a free callback to fire.
338                 Thanks Florian Ragwitz for reporting.
339
340 0.30    2009-02-12 17:05 UTC
341         + Add : You can now get in all the callbacks either the name or a B::OP
342                 object representing the current op if you pass the new 'op_info'
343                 option to wizard() with respective values VMG_OP_INFO_NAME and
344                 VMG_OP_INFO_OBJECT.
345         + Doc : Document magic on array/hashes values.
346         + Fix : Completely skip free callbacks during global destruction.
347         + Tst : Tests now pass again on 5.8.3 and lower (they were broken since
348                 0.27).
349         + Tst : Test magic on symbol table and on array/hash values.
350
351 0.29    2009-02-08 11:10 UTC
352         + Add : Set $_[2] to the default length for len magic on scalars.
353         + Chg : Perl 5.8 is required.
354         + Chg : The CLONE method will no longer be defined for non-threaded
355                 perls.
356         + Doc : Nits.
357         + Fix : The logic for turning off the GMAGICAL flag on hashes when no
358                 uvar magic is involved could do nasty things on tied hashes.
359         + Upd : More resources in META.yml.
360
361 0.28    2009-01-24 17:05 UTC
362         + Add : The 'copy_key' option to wizard(), that enables the safe edition
363                 of $_[2] in uvar callbacks to redirect actions to another key.
364         + Fix : Exception objects thrown from callbacks at compile time were not
365                 available in $@.
366         + Fix : free callbacks triggered during global destruction could lead to
367                 segfaults because the wizard was already freed.
368         + Fix : Refcount of scalars with free callback.
369         + Fix : Segfaults when using get or uvar magic simultaneously with clear
370                 magic.
371         + Doc : The documentation about what the callbacks take and should
372                 return is now somewhat clearer.
373
374 0.27    2009-01-18 23:40 UTC
375         + Fix : Offset of 1 with len magic on scalars.
376         + Fix : Segfaults that seem to happen when one croak in a callback at
377                 compile time (thanks Ash Berlin for the testcase).
378         + Upd : Resources in META.yml (Florian Ragwitz)
379         + Tst : Large cleanup resulting in a wider set of tested behaviours.
380
381 0.26    2008-11-29 22:05 UTC
382         + Fix : Leaks of cloned coderefs that access lexicals.
383         + Fix : Building with maint-5.8 and blead (thanks Andreas Koenig).
384
385 0.25    2008-11-12 19:40 UTC
386         + Fix : Compatibility with 5.8.9.
387         + Fix : Old Pod::Coverage don't ignore CLONE.
388         + Upd : META.yml spec updated to 1.4.
389
390 0.24    2008-10-12 14:55 UTC
391         + Fix : Really fix it.
392
393 0.23    2008-10-11 17:25 UTC
394         + Fix : Building on perls with multiplicity but not ithreads.
395
396 0.22    2008-09-29 19:40 UTC
397         + Doc : Explain how magic differs from overloading.
398         + Fix : Disable thread safety for perl 5.8 on Windows. If you want it
399                 enabled, reliable feedback is welcome.
400
401 0.21_02 2008-09-28 23:10 UTC
402         + Fix : Hide previously deleted magic tokens in vmg_svt_free (Yuval
403                 Kogman).
404
405 0.21_01 2008-09-22 13:25 UTC
406         + Chg : Shrink the context data.
407         + Fix : Enable thread safety features for perls that just lack
408                 MY_CXT_CLONE.
409         + Tst : Output threads and threads::shared versions in threads tests.
410
411 0.20    2008-09-20 23:35 UTC
412         + Fix : The module is now thread safe. You can test if it had been
413                 built with thread safety features enabled through the
414                 VMG_THREADSAFE constant.
415         + Fix : Correct backtrace when wizard() croaks.
416         + Fix : 'cast $a, undef' should throw an 'invalid wizard' error instead
417                 of an 'invalid signature'.
418
419 0.19    2008-07-05 15:05 UTC
420         + Add : The patchlevel with which the module has been built is now
421                 exported with the VMG_PERL_PATCHLEVEL constant.
422         + Chg : Version checking macros overhaul.
423         + Fix : 'uvar' magic should only be enabled in maint-5.10 and higher
424                 since it's never going to be backported to 5.8.
425         + Fix : Likewise, the copy callback API change should only be enabled in
426                 5.11 and higher.
427         + Fix : Instead of those ackward fake refcount increments in the wizard
428                 destructor, flag the wizard with SVf_BREAK and force temps
429                 cleanup. This should fix the wizard destruction for all perls,
430                 and solves the leak introduced by the previous solution.
431
432 0.18    2008-07-04 12:20 UTC
433         + Fix : Enable uvar magic when patchlevel >= 28419.
434         + Fix : Set VMG_COMPAT_ARRAY_PUSH_NOLEN for Windows ActiveState Perl
435                 5.8.x.
436
437 0.17    2008-05-11 09:05 UTC
438         + Fix : 5.8.4 and lower don't have mPUSHi. Gah. Yeah, I know, I should
439                 use Devel::PPPort.
440
441 0.16    2008-05-10 22:05 UTC
442         + Add : The samples/copy.pl script.
443         + Chg : The sv_magical() + vmg_mg_magical() combo was simplified into
444                 vmg_sv_magicuvar().
445         + Tst : t/33-code.t was testing scalars, not code.
446         + Tst : is() and like() are better than ok().
447         + Tst : 100% coverage reached.
448
449 0.15    2008-04-11 18:25 UTC
450         + Chg : Factor vmg_cb_call{1,2,3}() into one function.
451         + Fix : len magic is no longer called when taking the length() of a
452                 magical scalar since p32969. The VMG_COMPAT_SCALAR_LENGTH_NOLEN
453                 constant was added to cover this.
454         + Tst : More tests for t/22-len.t.
455
456 0.14    2008-03-24 12:35 UTC
457         + Fix : t/16-huf.t failures on Solaris and FreeBSD caused by not
458                 updating mg->mg_ptr after Renew-ing it on dispell.
459         + Fix : Undefining MGf_DUP caused the wizard's magic to be wrongly
460                 initialized. MGf_DUP now appears as true from the user point of
461                 view, but the dup callback isn't actually set.
462         + Fix : Warnings with blead due to copy callbacks now taking an I32 (API
463                 change #33256).
464         + Fix : vmg_svt_val() and vmg_uvar_del() aren't required if no uvar
465                 magic is available.
466         + Tst : Tests now output the version of optional modules loaded.
467
468 0.13    2008-03-19 14:35 UTC
469         + Doc : Link to coverage report.
470         + Fix : Correct dependencies listing in META.yml.
471         + Tst : Improved test coverage.
472         + Tst : Print the patchlevel as a comment.
473         + Tst : Use is() where it's relevant.
474         + Tst : t/16-huf.t now really tests interaction with H::U::FH.
475
476 0.12    2008-02-07 18:15 UTC
477         + Fix : POD error. Thanks to Chris Williams (BinGOs) for the quick
478                 feedback.
479
480 0.11    2008-02-07 17:55 UTC
481         + Add : Copy callbacks now receive the current key/index in $_[2].
482                 The current value/element is now in $_[3].
483         + Chg : The trigger of copy magic on list assignment with perls greater
484                 than 5.10.0 was caused by uvar magic. Hence,
485                 VMG_COMPAT_HASH_LISTASSIGN_COPY was removed. Use VMG_UVAR
486                 instead.
487         + Fix : Build failures on patched perls.
488         + Tst : Added missing exported symbols to 01-import.t.
489
490 0.10    2008-02-04 11:30 UTC
491         + Add : New script : samples/vm_vs_tie.pl, that benchmarks our uvar
492                 magic versus tied hashes.
493         + Add : The VMG_COMPAT_* constants can be used from userspace to check
494                 perl magic abilities.
495         + Fix : Callbacks that returned undef made us croak, breaking the
496                 variable behaviour (regression test in 14-callbacks.t).
497         + Fix : uvar callbacks weren't tested for non-NULL-ity before being
498                 called (regression test in 28-uvar.t).
499         + Tst : Fix typo in 25-copy.t that prevented Tie::Hash tests to be ran.
500
501 0.09    2008-02-02 11:30 UTC
502         + Doc : Explicitely say that uvar callbacks are safely ignored for
503                 non-hashes.
504         + Doc : Document caveats and fix the usual set of typos.
505         + Fix : vmg_dispell() didn't check if the ext magic were ours when
506                 counting wizards that have uvar callbacks, resulting in a
507                 possible memory misread.
508         + Fix : getdata() now returns directly the data object, and no longer a
509                 copy. This caused a leak.
510         + Tst : Prefix author tests by 9*-.
511         + Tst : New optional author test : 95-portability-files.t, that uses
512                 Test::Portability::Files when it's present.
513         + Tst : New test : 14-self.t, that tests application of magic on the
514                 wizard itself.
515         + Tst : Move Hash::Util::FieldHash tests out of 11-multiple.t to
516                 15-huf.t.
517
518 0.08    2008-02-01 16:55 UTC
519         + Add : copy magic for tied arrays/hashes.
520         + Add : local magic.
521         + Add : uvar magics : fetch, store, exists, delete for hashes.
522
523 0.07_*  2008-01
524         Internal development versions.
525
526 0.06    2007-11-20 10:10 UTC
527         + Chg : 5.7.3 is now officially required.
528         + Fix : "data" test failures on 5.8.{0,2}.
529         + Fix : Drand01() vs rand().
530
531 0.05    2007-11-19 09:10 UTC
532         + Fix : 5.10.0_RC1 compatibility fix.
533
534 0.04    2007-08-28 12:25 UTC
535         + Chg : s/require (XSLoader)/use $1/.
536         + Fix : Tests are now strict.
537         + Fix : Complete dependencies.
538
539 0.03    2007-08-01 17:20 UTC
540         + Add : Passing the signature of an already defined magic to wizard()
541                 now returns the corresponding magic object.
542         + Add : You can pass the numeric signature as the wizard argument of
543                 cast(), dispell() and getdata().
544         + Add : Any argument specified after the wizard (or the signature) in a
545                 call to cast() is now passed to the private data constructor in
546                 $_[1] and after.
547         + Chg : $_[0] is now always a reference to the magic variable in all
548                 callbacks. The reason for changing from the previous behaviour
549                 is that one may want to apply the same magic to a plain scalar
550                 and to a scalar reference, and needs a way to distinguish
551                 between them in the callback (say, ref()).
552         + Fix : Wizard object destruction used not to free the signature.
553
554 0.02    2007-07-27 13:50 UTC
555         + Fix : In response to test report 548152 :
556                 Newx() and SvMAGIC_set() not present on older perls.
557         + Fix : In response to test report 548275 :
558                 Since perl 5.9.5, 'clear' magic is invoked when an array is
559                 undefined (bug #43357). Moreover, 'len' magic is no longer
560                 called by pushing an element since perl 5.9.3.
561         + Fix : Missing glob test in MANIFEST.
562
563 0.01    2007-07-25 16:15 UTC
564         First version, released on an unsuspecting world.
565