Revision history for Variable-Magic 0.10 2008-02-04 11:30 UTC + Add : New script : samples/vm_vs_tie.pl, that benchmarks our uvar magic versus tied hashes. + Add : The VMG_COMPAT_* constants can be used from userspace to check perl magic abilities. + Fix : Callbacks that returned undef made us croak, breaking the variable behaviour (regression test in 14-callbacks.t). + Fix : uvar callbacks weren't tested for non-NULL-ity before being called (regression test in 28-uvar.t). + Tst : Fix typo in 25-copy.t that prevented Tie::Hash tests to be ran. 0.09 2008-02-02 11:30 UTC + Doc : Explicitely say that uvar callbacks are safely ignored for non-hashes. + Doc : Document caveats and fix the usual set of typos. + Fix : vmg_dispell() didn't check if the ext magic were ours when counting wizards that have uvar callbacks, resulting in a possible memory misread. + Fix : getdata() now returns directly the data object, and no longer a copy. This caused a leak. + Tst : Prefix author tests by 9*-. + Tst : New optional author test : 95-portability-files.t, that uses Test::Portability::Files when it's present. + Tst : New test : 14-self.t, that tests application of magic on the wizard itself. + Tst : Move Hash::Util::FieldHash tests out of 11-multiple.t to 15-huf.t. 0.08 2008-02-01 16:55 UTC + Add : copy magic for tied arrays/hashes. + Add : local magic. + Add : uvar magics : fetch, store, exists, delete for hashes. 0.07_* 2008-01 Internal development versions. 0.06 2007-11-20 10:10 UTC + Chg : 5.7.3 is now officially required. + Fix : "data" test failures on 5.8.{0,2}. + Fix : Drand01() vs rand(). 0.05 2007-11-19 09:10 UTC + Fix : 5.10.0_RC1 compatibility fix. 0.04 2007-08-28 12:25 UTC + Chg : s/require (XSLoader)/use $1/. + Fix : Tests are now strict. + Fix : Complete dependencies. 0.03 2007-08-01 17:20 UTC + Add : Passing the signature of an already defined magic to wizard() now returns the corresponding magic object. + Add : You can pass the numeric signature as the wizard argument of cast(), dispell() and getdata(). + Add : Any argument specified after the wizard (or the signature) in a call to cast() is now passed to the private data constructor in $_[1] and after. + Chg : $_[0] is now always a reference to the magic variable in all callbacks. The reason for changing from the previous behaviour is that one may want to apply the same magic to a plain scalar and to a scalar reference, and needs a way to distinguish between them in the callback (say, ref()). + Fix : Wizard object destruction used not to free the signature. 0.02 2007-07-27 13:50 UTC + Fix : In response to test report 548152 : Newx() and SvMAGIC_set() not present on older perls. + Fix : In response to test report 548275 : Since perl 5.9.5, 'clear' magic is invoked when an array is undefined (bug #43357). Moreover, 'len' magic is no longer called by pushing an element since perl 5.9.3. + Fix : Missing glob test in MANIFEST. 0.01 2007-07-25 16:15 UTC First version, released on an unsuspecting world.