1 Revision history for Variable-Magic
3 0.19 2008-07-05 15:05 UTC
4 + Add : The patchlevel with which the module has been built is now
5 exported with the VMG_PERL_PATCHLEVEL constant.
6 + Chg : Version checking macros overhaul.
7 + Fix : 'uvar' magic should only be enabled in maint-5.10 and higher
8 since it's never going to be backported to 5.8.
9 + Fix : Likewise, the copy callback API change should only be enabled in
11 + Fix : Instead of those ackward fake refcount increments in the wizard
12 destructor, flag the wizard with SVf_BREAK and force temps
13 cleanup. This should fix the wizard destruction for all perls,
14 and solves the leak introduced by the previous solution.
16 0.18 2008-07-04 12:20 UTC
17 + Fix : Enable uvar magic when patchlevel >= 28419.
18 + Fix : Set VMG_COMPAT_ARRAY_PUSH_NOLEN for Windows ActiveState Perl
21 0.17 2008-05-11 09:05 UTC
22 + Fix : 5.8.4 and lower don't have mPUSHi. Gah. Yeah, I know, I should
25 0.16 2008-05-10 22:05 UTC
26 + Add : The samples/copy.pl script.
27 + Chg : The sv_magical() + vmg_mg_magical() combo was simplified into
29 + Tst : t/33-code.t was testing scalars, not code.
30 + Tst : is() and like() are better than ok().
31 + Tst : 100% coverage reached.
33 0.15 2008-04-11 18:25 UTC
34 + Chg : Factor vmg_cb_call{1,2,3}() into one function.
35 + Fix : len magic is no longer called when taking the length() of a
36 magical scalar since p32969. The VMG_COMPAT_SCALAR_LENGTH_NOLEN
37 constant was added to cover this.
38 + Tst : More tests for t/22-len.t.
40 0.14 2008-03-24 12:35 UTC
41 + Fix : t/16-huf.t failures on Solaris and FreeBSD caused by not
42 updating mg->mg_ptr after Renew-ing it on dispell.
43 + Fix : Undefining MGf_DUP caused the wizard's magic to be wrongly
44 initialized. MGf_DUP now appears as true from the user point of
45 view, but the dup callback isn't actually set.
46 + Fix : Warnings with blead due to copy callbacks now taking an I32 (API
48 + Fix : vmg_svt_val() and vmg_uvar_del() aren't required if no uvar
50 + Tst : Tests now output the version of optional modules loaded.
52 0.13 2008-03-19 14:35 UTC
53 + Doc : Link to coverage report.
54 + Fix : Correct dependencies listing in META.yml.
55 + Tst : Improved test coverage.
56 + Tst : Print the patchlevel as a comment.
57 + Tst : Use is() where it's relevant.
58 + Tst : t/16-huf.t now really tests interaction with H::U::FH.
60 0.12 2008-02-07 18:15 UTC
61 + Fix : POD error. Thanks to Chris Williams (BinGOs) for the quick
64 0.11 2008-02-07 17:55 UTC
65 + Add : Copy callbacks now receive the current key/index in $_[2].
66 The current value/element is now in $_[3].
67 + Chg : The trigger of copy magic on list assignment with perls greater
68 than 5.10.0 was caused by uvar magic. Hence,
69 VMG_COMPAT_HASH_LISTASSIGN_COPY was removed. Use VMG_UVAR
71 + Fix : Build failures on patched perls.
72 + Tst : Added missing exported symbols to 01-import.t.
74 0.10 2008-02-04 11:30 UTC
75 + Add : New script : samples/vm_vs_tie.pl, that benchmarks our uvar
76 magic versus tied hashes.
77 + Add : The VMG_COMPAT_* constants can be used from userspace to check
79 + Fix : Callbacks that returned undef made us croak, breaking the
80 variable behaviour (regression test in 14-callbacks.t).
81 + Fix : uvar callbacks weren't tested for non-NULL-ity before being
82 called (regression test in 28-uvar.t).
83 + Tst : Fix typo in 25-copy.t that prevented Tie::Hash tests to be ran.
85 0.09 2008-02-02 11:30 UTC
86 + Doc : Explicitely say that uvar callbacks are safely ignored for
88 + Doc : Document caveats and fix the usual set of typos.
89 + Fix : vmg_dispell() didn't check if the ext magic were ours when
90 counting wizards that have uvar callbacks, resulting in a
91 possible memory misread.
92 + Fix : getdata() now returns directly the data object, and no longer a
93 copy. This caused a leak.
94 + Tst : Prefix author tests by 9*-.
95 + Tst : New optional author test : 95-portability-files.t, that uses
96 Test::Portability::Files when it's present.
97 + Tst : New test : 14-self.t, that tests application of magic on the
99 + Tst : Move Hash::Util::FieldHash tests out of 11-multiple.t to
102 0.08 2008-02-01 16:55 UTC
103 + Add : copy magic for tied arrays/hashes.
105 + Add : uvar magics : fetch, store, exists, delete for hashes.
108 Internal development versions.
110 0.06 2007-11-20 10:10 UTC
111 + Chg : 5.7.3 is now officially required.
112 + Fix : "data" test failures on 5.8.{0,2}.
113 + Fix : Drand01() vs rand().
115 0.05 2007-11-19 09:10 UTC
116 + Fix : 5.10.0_RC1 compatibility fix.
118 0.04 2007-08-28 12:25 UTC
119 + Chg : s/require (XSLoader)/use $1/.
120 + Fix : Tests are now strict.
121 + Fix : Complete dependencies.
123 0.03 2007-08-01 17:20 UTC
124 + Add : Passing the signature of an already defined magic to wizard()
125 now returns the corresponding magic object.
126 + Add : You can pass the numeric signature as the wizard argument of
127 cast(), dispell() and getdata().
128 + Add : Any argument specified after the wizard (or the signature) in a
129 call to cast() is now passed to the private data constructor in
131 + Chg : $_[0] is now always a reference to the magic variable in all
132 callbacks. The reason for changing from the previous behaviour
133 is that one may want to apply the same magic to a plain scalar
134 and to a scalar reference, and needs a way to distinguish
135 between them in the callback (say, ref()).
136 + Fix : Wizard object destruction used not to free the signature.
138 0.02 2007-07-27 13:50 UTC
139 + Fix : In response to test report 548152 :
140 Newx() and SvMAGIC_set() not present on older perls.
141 + Fix : In response to test report 548275 :
142 Since perl 5.9.5, 'clear' magic is invoked when an array is
143 undefined (bug #43357). Moreover, 'len' magic is no longer
144 called by pushing an element since perl 5.9.3.
145 + Fix : Missing glob test in MANIFEST.
147 0.01 2007-07-25 16:15 UTC
148 First version, released on an unsuspecting world.