Convert the 2 Storable tests that use Test to use Test::More.
[p5sagit/p5-mst-13.2.git] / dist / Storable / ChangeLog
CommitLineData
70006c44 1Thu Aug 6 10:55:50 IST 2009 Abhijit Menon-Sen <ams@toroid.org>
2
3 Version 2.21
4
5 Includes hints/hpux.pl that was inadvertently left out of 2.20.
6
5c24ba53 7Mon May 18 09:38:20 IST 2009 Abhijit Menon-Sen <ams@toroid.org>
8
9 Version 2.20
10
11 Fix bug handling blessed references to overloaded objects, plus
12 other miscellaneous fixes.
13
14 (Version 2.19 was released with 5.8.9.)
15
8c68d109 16Thu Nov 22 13:24:18 IST 2007 Abhijit Menon-Sen <ams@toroid.org>
17
18 Version 2.18
19
20 Compile fixes for older Perls. (No functional changes.)
21
b90d408e 22Sat Nov 17 02:12:12 IST 2007 Abhijit Menon-Sen <ams@toroid.org>
23
24 Version 2.17
25
26 Various broken tests fixed. (No functional changes.)
27
c268aba5 28Sat Mar 31 06:11:06 IST 2007 Abhijit Menon-Sen <ams@toroid.org>
29
30 Version 2.16
31
32 1. Fixes to Storable::dclone, read_magic, retrieve_lscalar
33 2. Storable 0.1 compatibility
34 3. Miscellaneous compile/leak/test/portability fixes
35
0bb78401 36Mon May 23 22:48:49 IST 2005 Abhijit Menon-Sen <ams@wiw.org>
37
38 Version 2.15
39
40 Minor changes to address a couple of compile problems.
41
2f796f32 42Mon Apr 25 07:29:14 IST 2005 Abhijit Menon-Sen <ams@wiw.org>
c3c53033 43
44 Version 2.14
45
46 1. Store weak references
2f796f32 47 2. Add STORABLE_attach hook.
c3c53033 48
fa523c3a 49Thu Jun 17 12:26:43 BST 2004 Nicholas Clark <nick@ccl4.org>
50
51 Version 2.13
52
53 1. Don't change the type of top level overloaded references to RV -
54 they are perfectly correct as PVMG
55 2. Storable needs to cope with incoming frozen data that happens to be
56 utf8 encoded.
57
754c00ca 58Wed Mar 17 15:40:29 GMT 2004 Nicholas Clark <nick@ccl4.org>
59
3f575d8d 60 Version 2.12
61
754c00ca 62 1. Add regression tests for the auto-require of STORABLE_thaw
165cc789 63 2. Add auto-require of modules to restore overloading (and tests)
3f575d8d 64 3. Change to no context (should give speedup with ithreads)
754c00ca 65
dfd91409 66Sat Mar 13 20:11:03 GMT 2004 Nicholas Clark <nick@ccl4.org>
67
68 Version 2.11
69
70 1. Storing restricted hashes in canonical order would SEGV. Fixed.
71 2. It was impossible to retrieve references to PL_sv_no and and
72 PL_sv_undef from STORABLE_thaw hooks.
73 3. restrict.t was failing on 5.8.0, due to 5.8.0's unique
74 implementation of restricted hashes using PL_sv_undef
75 4. These changes allow a space optimisation for restricted hashes.
76
a8b7ef86 77Sat Jan 24 16:22:32 IST 2004 Abhijit Menon-Sen <ams@wiw.org>
78
79 Version 2.10
80
81 1. Thread safety: Storable::CLONE/init_perlinterp() now create
82 a new Perl context for each new ithread.
83 (From Stas Bekman and Jan Dubois.)
84 2. Fix a tag count mismatch with $Storable::Deparse that caused
85 all back-references after a stored sub to be off-by-N (where
86 N was the number of code references in between).
87 (From Sam Vilain.)
88 3. Prevent CODE references from turning into SCALAR references.
89 (From Slaven Rezic.)
90
dcf2e277 91Sat Jan 3 18:49:18 GMT 2004 Nicholas Clark <nick@ccl4.org>
92
93 Version 2.09
94
95 Fix minor problems with the CPAN release
7224c650 96 1: Make Storable.xs work on 5.8.2 and later (already in the core)
dcf2e277 97 2: Ship the linux hints file
98 3: Ship Test::More for the benefit of Perls pre 5.6.2
7224c650 99 4: Correct Makefile.PL to only install in core for 5.8.0 and later
dcf2e277 100
fcaa57e7 101Sat Sep 6 01:08:20 IST 2003 Abhijit Menon-Sen <ams@wiw.org>
102
103 Version 2.08
104
105 This release works around a 5.8.0 bug which caused hashes to not
106 be marked as having key flags even though an HEK had HEK_WASUTF8
107 set. (Note that the only reasonable solution is to silently drop
108 the flag from the affected key.)
109
110 Users of RT 3 who were seeing assertion failures should upgrade.
111 (Perl 5.8.1 will have the bug fixed.)
112
a5271820 113Mon May 5 10:24:16 IST 2003 Abhijit Menon-Sen <ams@wiw.org>
114
115 Version 2.07
116
117 Minor bugfixes (self-tied objects are now correctly stored, as
118 are the results of additions larger than INT_MAX).
119
a2307be4 120Mon Oct 7 21:56:38 BST 2002 Nicholas Clark <nick@ccl4.org>
121
122 Version 2.06
123
124 Remove qr// from t/downgrade.t so that it will run on 5.004
125 Mention $File::Spec::VERSION a second time in t/forgive.t so that it
126 runs without warnings in 5.004 (this may be a 5.00405 bug I'm working
127 round)
128 Fix t/integer.t initialisation to actually generate 64 bits of 9c
129 Fix comparison tests to use eval to get around 64 bit IV conversion
130 issues on 5.6.x, following my t/integer.t ^ precedence bug found by
131 Rafael Garcia-Suarez
132 Alter t/malice.t to work with Test/More.pm in t/, and skip individual
133 subtests that use $Config{ptrsize}, so that the rest of the test can
134 now be run with 5.004
135 Change t/malice.t and the error message in check_magic in Storable.xs
136 from "Pointer integer size" to "Pointer size"
137 Remove prerequisite of Test::More from Makefile.PL
138 Ship Test::Builder, Test::Simple and Test::More in t
139
9cfdba97 140Thu Oct 3 08:57:22 IST 2002 Abhijit Menon-Sen <ams@wiw.org>
141
142 Version 2.05
143
144 Adds support for CODE references from Slaven Rezic
145 <slaven.rezic@berlin.de>.
146
17374ab3 147Fri Jun 7 23:55:41 BST 2002 Nicholas Clark
148
149 Version 2.04
150
151 Bug fix from Radu Greab <radu@netsoft.ro> (plus regression test)
152 to fix a recently introduced bug detected by Dave Rolsky.
153 Bug was that for a non threaded build, the class information was
154 being lost at freeze time on the first object with a STORABLE_freeze
155 hook. Consequentially the object was not blessed at all when thawed.
156 (The presence (or lack) of STORABLE_thaw was irrelevant; this was
157 a store-time data lost bug, caused by failure to initialize internal
158 context)
159 The bug was introduced as development perl change 16442 (on
160 2002/05/07), so has been present since 2.00.
161 Patches to introduce more regression tests to reduce the chance of
162 a reoccurance of this sort of goof are always welcome.
163
ee0f7aac 164Thu May 30 20:31:08 BST 2002 Nicholas Clark <nick@ccl4.org>
165
8932d55c 166 Version 2.03 Header changes on 5.6.x on Unix where IV is long long
167
168 5.6.x introduced the ability to have IVs as long long. However,
169 Configure still defined BYTEORDER based on the size of a long.
170 Storable uses the BYTEORDER value as part of the header, but
171 doesn't explicity store sizeof(IV) anywhere in the header.
172 Hence on 5.6.x built with IV as long long on a platform that
173 uses Configure (ie most things except VMS and Windows) headers
174 are identical for the different IV sizes, despite the files
175 containing some fields based on sizeof(IV)
176
177 5.8.0 is consistent; all platforms have BYTEORDER in config.h
178 based on sizeof(IV) rather than sizeof(long). This means that
179 the value of BYTEORDER will change from (say) 4321 to 87654321
180 between 5.6.1 and 5.8.0 built with the same options to Configure
181 on the same machine. This means that the Storable header will
182 differ, and the two versions will wrongly thing that they are
183 incompatible.
184
185 For the benefit of long term consistency, Storable now
186 implements the 5.8.0 BYTEORDER policy on 5.6.x. This means that
187 2.03 onwards default to be incompatible with 2.02 and earlier
188 (ie the large 1.0.x installed base) on the same 5.6.x perl.
189
190 To allow interworking, a new variable
191 $Storable::interwork_56_64bit is introduced. It defaults to
192 false. Set it to true to read and write old format files. Don't
193 use it unless you have existing stored data written with 5.6.x
194 that you couldn't otherwise read, or you need to interwork with
195 a machine running older Storable on a 5.6.x with long long IVs
196 (i.e., you probably don't need to use it).
197
2aeb6432 198Sat May 25 22:38:39 BST 2002 Nicholas Clark <nick@ccl4.org>
199
25f64a11 200 Version 2.02
201
202 Rewrite Storable.xs so that the file header structure for write_magic
203 is built at compile time, and check_magic attempts to the header in
204 blocks rather than byte per byte. These changes make the compiled
205 extension 2.25% smaller, but are not significant enough to give a
206 noticeable speed up.
2aeb6432 207
db670f21 208Thu May 23 22:50:41 BST 2002 Nicholas Clark <nick@ccl4.org>
209
25f64a11 210 Version 2.01
211
212 - New regression tests integer.t
213 - Add code to safely store large unsigned integers.
214 - Change code not to attempt to store large integers (ie > 32 bits)
215 in network order as 32 bits.
216
217 *Never* underestimate the value of a pathological test suite carefully
218 crafted with maximum malice before writing a line of real code. It
219 prevents crafty bugs from stowing away in your released code.
220 It's much less embarrassing to find them before you ship.
221 (Well, never underestimate it if you ever want to work for me)
222
8989364b 223Fri May 17 22:48:59 BST 2002 Nicholas Clark <nick@ccl4.org>
224
25f64a11 225 Version 2.0, binary format 2.5 (but writes format 2.4 on pre 5.7.3)
226
227 The perl5 porters have decided to make sure that Storable still
228 builds on pre-5.8 perls, and make the 5.8 version available on CPAN.
229 The VERSION is now 2.0, and it passes all tests on 5.005_03, 5.6.1
230 and 5.6.1 with threads. On 5.6.0 t/downgrade.t fails tests 34 and 37,
231 due to a bug in 5.6.0 - upgrade to 5.6.1.
232
233 Jarkko and I have collated the list of changes the perl5 porters have
234 from the perl5 Changes file:
235
236 - data features of upcoming perl 5.8.0 are supported: Unicode hash
237 keys (Unicode hash values have been supported since Storable 1.0.1)
238 and "restricted hashes" (readonly hashes and hash entries)
239 - a newer version of perl can now be used to serialize data which is
240 not supported in earlier perls: Storable will attempt to do the
241 right thing for as long as possible, croaking only when safe data
242 conversion simply isn't possible. Alternatively earlier perls can
243 opt to have a lossy downgrade data instead of croaking
244 - when built with perls pre 5.7.3 this Storable writes out files
245 with binary format 2.4, the same format as Storable 1.0.8 onwards.
246 This should mean that this Storable will inter-operate seamlessly
247 with any Storable 1.0.8 or newer on perls pre 5.7.3
248 - dclone() now works with empty string scalar objects
249 - retrieving of large hashes is now more efficient
250 - more routines autosplit out of the main module, so Storable should
251 load slightly more quickly
252 - better documentation
253 - the internal context objects are now freed explicitly, rather than
254 relying on thread or process exit
255 - bugs fixed in debugging trace code affecting builds made with 64 bit
256 IVs
257 - code tidy-ups to allow clean compiles with more warning options
258 turned on avoid problems with $@ getting corrupted on 5.005_03 if
259 Carp wasn't already loaded
260 - added &show_file_magic, so you can add to /etc/magic and teach
261 Unix's file command about Storable files
262
263 We plan to keep Storable on CPAN in sync with the Perl core, so
264 if you encounter bugs or other problems building or using Storable,
265 please let us know at perl5-porters@perl.org
266 Patches welcome!
267
596596d5 268Sat Dec 1 14:37:54 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
269
25f64a11 270 This is the LAST maintenance release of the Storable module.
271 Indeed, Storable is now part of perl 5.8, and will be maintained
272 as part of Perl. The CPAN module will remain available there
273 for people running pre-5.8 perls.
596596d5 274
25f64a11 275 Avoid requiring Fcntl upfront, useful to embedded runtimes.
276 Use an eval {} for testing, instead of making Storable.pm
277 simply fail its compilation in the BEGIN block.
596596d5 278
25f64a11 279 store_fd() will now correctly autoflush file if needed.
596596d5 280
6e0ac6f5 281Tue Aug 28 23:53:20 MEST 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
282
25f64a11 283 Fixed truncation race with lock_retrieve() in lock_store().
284 The file has to be truncated only once the exclusive lock is held.
6e0ac6f5 285
25f64a11 286 Removed spurious debugging messages in .xs file.
6e0ac6f5 287
e993d95c 288Sun Jul 1 13:27:32 MEST 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
289
25f64a11 290 Systematically use "=over 4" for POD linters.
291 Apparently, POD linters are much stricter than would
292 otherwise be needed, but that's OK.
e993d95c 293
25f64a11 294 Fixed memory corruption on croaks during thaw(). Thanks
295 to Claudio Garcia for reproducing this bug and providing the
296 code to exercise it. Added test cases for this bug, adapted
297 from Claudio's code.
e993d95c 298
25f64a11 299 Made code compile cleanly with -Wall (from Jarkko Hietaniemi).
e993d95c 300
25f64a11 301 Changed tagnum and classnum from I32 to IV in context. Also
302 from Jarkko.
e993d95c 303
8be2b38b 304Thu Mar 15 01:22:32 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
305
25f64a11 306 Last version was wrongly compiling with assertions on, due
307 to an edit glitch. That did not cause any problem (apart from
308 a slight performance loss) excepted on Win* platforms, where the
309 assertion code does not compile.
8be2b38b 310
311Sat Feb 17 13:37:37 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
312
25f64a11 313 Version 1.0.10.
8be2b38b 314
25f64a11 315 Forgot to increase version number at previous patch (there were
316 two of them, which is why we jump from 1.0.8 to 1.0.10).
8be2b38b 317
b12202d0 318Sat Feb 17 13:35:00 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
319
25f64a11 320 Version 1.0.8, binary format 2.4.
b12202d0 321
25f64a11 322 Fixed incorrect error message.
b12202d0 323
25f64a11 324 Now bless objects ASAP at retrieve time, which is meant to fix
325 two bugs:
b12202d0 326
25f64a11 327 * Indirect references to overloaded object were not able to
328 restore overloading if the object was not blessed yet,
329 which was possible since blessing occurred only after the
330 recursive retrieval.
b12202d0 331
25f64a11 332 * Storable hooks asking for serialization of blessed ref could
333 get un-blessed refs at retrieval time, for the very same
334 reason.
b12202d0 335
25f64a11 336 The fix implemented here was suggested by Nick Ing-Simmons.
b12202d0 337
25f64a11 338 Added support for blessed ref to tied structures. This is the
339 cause for the binary format change.
b12202d0 340
25f64a11 341 Added EBCDIC version of the compatibility test with 0.6.11,
342 from Peter Prymmer
b12202d0 343
25f64a11 344 Added tests for the new features, and to make sure the bugs they
345 are meant to fix are indeed fixed.
b12202d0 346
862382c7 347Wed Jan 3 10:43:18 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
348
25f64a11 349 Removed spurious 'clean' entry in Makefile.PL.
862382c7 350
25f64a11 351 Added CAN_FLOCK to determine whether we can flock() or not,
352 by inspecting Perl's configuration parameters, as determined
353 by Configure.
862382c7 354
25f64a11 355 Trace offending package when overloading cannot be restored
356 on a scalar.
862382c7 357
25f64a11 358 Made context cleanup safer to avoid dup freeing, mostly in the
359 presence of repeated exceptions during store/retrieve (which can
360 cause memory leaks anyway, so it's just additional safety, not a
361 definite fix).
862382c7 362
90826881 363Sun Nov 5 18:23:48 MET 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
364
25f64a11 365 Version 1.0.6.
90826881 366
25f64a11 367 Fixed severe "object lost" bug for STORABLE_freeze returns,
368 when refs to lexicals, taken within the hook, were to be
369 serialized by Storable. Enhanced the t/recurse.t test to
370 stress hook a little more with refs to lexicals.
90826881 371
212e9bde 372Thu Oct 26 19:14:38 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
373
25f64a11 374 Version 1.0.5.
212e9bde 375
25f64a11 376 Documented that store() and retrieve() can return undef.
377 That is, the error reporting is not always made via exceptions,
378 as the paragraph on error reporting was implying.
212e9bde 379
25f64a11 380 Auto requires module of blessed ref when STORABLE_thaw misses.
381 When the Storable engine looks for the STORABLE_thaw hook and
382 does not find it, it now tries to require the package into which
383 the blessed reference is.
212e9bde 384
25f64a11 385 Just check $^O, in t/lock.t: there's no need to pull the whole
386 Config module for that.
212e9bde 387
8be2b38b 388Mon Oct 23 20:03:49 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
389
25f64a11 390 Version 1.0.4.
8be2b38b 391
25f64a11 392 Protected calls to flock() for DOS platform: apparently, the
393 flock/fcnlt emulation is reported to be broken on that
394 platform.
8be2b38b 395
25f64a11 396 Added logcarp emulation if they don't have Log::Agent, since
397 we now use it to carp when lock_store/lock_retrieve is used
398 on DOS.
8be2b38b 399
dd19458b 400Fri Sep 29 21:52:29 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
401
25f64a11 402 Version 1.0.3.
dd19458b 403
25f64a11 404 Avoid using "tainted" and "dirty" since Perl remaps them via
405 cpp (i.e. #define). This is deeply harmful when threading
406 is enabled. This concerned both the context structure and
407 local variable and argument names. Brrr..., scary!
dd19458b 408
409Thu Sep 28 23:46:39 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
410
25f64a11 411 Version 1.0.2.
dd19458b 412
25f64a11 413 Fixed spelling in README.
dd19458b 414
25f64a11 415 Added lock_store, lock_nstore, and lock_retrieve (advisory locking)
416 after a proposal from Erik Haugan <erik@solbors.no>.
dd19458b 417
25f64a11 418 Perls before 5.004_04 lack newSVpvn, added remapping in XS.
dd19458b 419
25f64a11 420 Fixed stupid typo in the t/utf8.t test.
dd19458b 421
422Sun Sep 17 18:51:10 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
423
25f64a11 424 Version 1.0.1, binary format 2.3.
dd19458b 425
25f64a11 426 Documented that doubles are stored stringified by nstore().
dd19458b 427
25f64a11 428 Added Salvador Ortiz Garcia in CREDITS section, He identified
429 a bug in the store hooks and proposed the right fix: the class
430 id was allocated too soon. His bug case was also added to
431 the regression test suite.
dd19458b 432
25f64a11 433 Now only taint retrieved data when source was tainted. A bug
434 discovered by Marc Lehmann.
dd19458b 435
25f64a11 436 Added support for UTF-8 strings, a contribution of Marc Lehmann.
437 This is normally only activated in post-5.6 perls.
dd19458b 438
9e21b3d0 439Thu Aug 31 23:06:06 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
440
25f64a11 441 First official release Storable 1.0, for inclusion in perl 5.7.0.
442 The license scheme is now compatible with Perl's.
9e21b3d0 443
f0ffaed8 444Thu Aug 24 01:02:02 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
445
25f64a11 446 ANSI-fied most of the code, preparing for Perl core integration.
447 The next version of Storable will be 0.8, and will be integrated
448 into the Perl core (development branch).
f0ffaed8 449
25f64a11 450 Dispatch tables were moved upfront to relieve some compilers,
451 especially on AIX and Windows platforms.
f0ffaed8 452
25f64a11 453 Merged 64-bit fixes from perl5-porters.
f0ffaed8 454
7a6a85bf 455Mon Aug 14 09:22:04 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
456
25f64a11 457 Added a refcnt dec in retrieve_tied_key(): sv_magic() increases
458 the refcnt on the mg_ptr as well.
7a6a85bf 459
25f64a11 460 Removed spurious dependency to Devel::Peek, which was used for
461 testing only in t/tied_items.t. Thanks to Conrad Heiney
462 <conrad@fringehead.org> for spotting it first.
7a6a85bf 463
464Sun Aug 13 22:12:59 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
465
25f64a11 466 Marc Lehmann kindly contributed code to add overloading support
467 and to handle references to tied variables.
7a6a85bf 468
25f64a11 469 Rewrote leading blurb about compatibility to make it clearer what
470 "backward compatibility" is about: when I say 0.7 is backward
471 compatible with 0.6, it means the revision 0.7 can read files
472 produced by 0.6.
7a6a85bf 473
25f64a11 474 Mention new Clone(3) extension in SEE ALSO.
7a6a85bf 475
25f64a11 476 Was wrongly optimizing for "undef" values in hashes by not
477 fully recursing: as a result, tied "undef" values were incorrectly
478 serialized.
7a6a85bf 479
480Sun Jul 30 12:59:17 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
481
25f64a11 482 First revision of Storable 0.7.
7a6a85bf 483
25f64a11 484 The serializing format is new, known as version 2.0. It is fully
485 backward compatible with 0.6. Earlier formats are deprecated and
486 have not even been tested: next version will drop pre-0.6 format.
7a6a85bf 487
25f64a11 488 Changes since 0.6@11:
7a6a85bf 489
25f64a11 490 - Moved interface to the "beta" status. Some tiny parts are still
491 subject to change, but nothing important enough to warrant an "alpha"
492 status any longer.
7a6a85bf 493
25f64a11 494 - Slightly reduced the size of the Storable image by factorizing
495 object class names and removing final object storage notification due
496 to a redesign of the blessed object storing.
7a6a85bf 497
25f64a11 498 - Classes can now redefine how they wish their instances to be serialized
499 and/or deep cloned. Serializing hooks are written in Perl code.
7a6a85bf 500
25f64a11 501 - The engine is now fully re-entrant.
7a6a85bf 502
503Sun Apr 2 23:47:50 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
504
25f64a11 505 Added provision to detect more recent binary formats, since
506 the new upcoming Storable-0.7 will use a different format.
507 In order to prevent attempting the de-serialization of newer
508 formats by older versions, I'm adding this now to the 0.6 series.
7a6a85bf 509
25f64a11 510 I'm expecting this revision to be the last of the 0.6 series.
511 Unless it does not work with perl 5.6, which I don't use yet,
512 and therefore against which I cannot test.
7a6a85bf 513
514Wed Mar 29 19:55:21 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
515
25f64a11 516 Added note about format incompatibilities with old versions
517 (i.e. pre 0.5@9 formats, which cannot be understood as there
518 was no versionning information in the file by then).
7a6a85bf 519
25f64a11 520 Protect all $@ variables when eval {} used, to avoid corrupting
521 it when store/retrieve is called within an exception handler.
7a6a85bf 522
25f64a11 523 Mistakenly included "patchlevel.h" instead of <patchlevel.h>,
524 preventing Perl's patchlevel from being included, which is
525 needed starting from 5.6.
7a6a85bf 526
527Tue May 12 09:15:15 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
528
25f64a11 529 Fixed shared "undef" bug in hashes, which did not remain shared
530 through store/retrieve.
7a6a85bf 531
532Thu Feb 10 19:48:16 MET 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
533
25f64a11 534 added last_op_in_netorder() predicate
535 documented last_op_in_netorder()
536 added tests for the new last_op_in_netorder() predicate
7a6a85bf 537
538Wed Oct 20 19:07:36 MEST 1999 Raphael Manfredi <Raphael_Manfredi@pobox.com>
539
25f64a11 540 Forgot to update VERSION
7a6a85bf 541
542Tue Oct 19 21:25:02 MEST 1999 Raphael Manfredi <Raphael_Manfredi@pobox.com>
543
25f64a11 544 Added mention of japanese translation for the manual page.
7a6a85bf 545
25f64a11 546 Fixed typo in macro that made threaded code not compilable,
547 especially on Win32 platforms.
7a6a85bf 548
25f64a11 549 Changed detection of older perls (pre-5.005) by testing PATCHLEVEL
550 directly instead of relying on internal symbols.
7a6a85bf 551
552Tue Sep 14 22:13:28 MEST 1999 Raphael Manfredi <Raphael_Manfredi@pobox.com>
553
25f64a11 554 Integrated "thread-safe" patch from Murray Nesbitt.
555 Note that this may not be very efficient for threaded code,
556 see comment in the code.
7a6a85bf 557
25f64a11 558 Try to avoid compilation warning on 64-bit CPUs. Can't test it,
559 since I don't have access to such machines.
7a6a85bf 560
561Mon Jul 12 14:37:19 METDST 1999 Raphael Manfredi <Raphael_Manfredi@pobox.com>
562
25f64a11 563 changed my e-mail to pobox.
7a6a85bf 564
25f64a11 565 mentionned it is not thread-safe.
7a6a85bf 566
25f64a11 567 updated version number.
7a6a85bf 568
25f64a11 569 uses new internal PL_* naming convention.
7a6a85bf 570
571Fri Jul 3 13:38:16 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
572
25f64a11 573 Updated benchmark figures due to recent optimizations done in
574 store(): tagnums are now stored as-is in the hash table, so
575 no surrounding SV is created. And the "shared keys" mode for
576 hash table was turned off.
7a6a85bf 577
25f64a11 578 Fixed backward compatibility (wrt 0.5@9) for retrieval of
579 blessed refs. That old version did something wrong, but the
580 bugfix prevented correct retrieval of the old format.
7a6a85bf 581
582Mon Jun 22 11:00:48 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
583
25f64a11 584 Changed benchmark figures.
7a6a85bf 585
25f64a11 586 Adjust refcnt of tied objects after calling sv_magic() to avoid
587 memory leaks. Contributed by Jeff Gresham.
7a6a85bf 588
589Fri Jun 12 11:50:04 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
590
25f64a11 591 Added workaround for persistent LVALUE-ness in perl5.004. All
592 scalars tagged as being an lvalue are handled as if they were
593 not an lvalue at all. Added test for that LVALUE bug workaround.
7a6a85bf 594
25f64a11 595 Now handles Perl immortal scalars explicitely, by storing &sv_yes
596 as such, explicitely.
7a6a85bf 597
25f64a11 598 Retrieval of non-immortal undef cannot be shared. Previous
599 version was over-optimizing by not creating a separate SV for
600 all undefined scalars seen.
7a6a85bf 601
602Thu Jun 4 17:21:51 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
603
25f64a11 604 Baseline for Storable-0.6@0.
7a6a85bf 605
25f64a11 606 This version introduces a binary incompatibility in the generated
607 binary image, which is more compact than older ones by approximatively
608 15%, depending on the exact degree of sharing in your structures.
7a6a85bf 609
25f64a11 610 The good news is that your older images can still be retrieved with
611 this version, i.e. backward compatibility is preserved. This version
612 of Storable can only generate new binaries however.
7a6a85bf 613
25f64a11 614 Another good news is that the retrieval of data structure is
615 significantly quicker than before, because a Perl array is used
616 instead of a hash table to keep track of retrieved objects, and
617 also because the image being smaller, less I/O function calls are
618 made.
7a6a85bf 619
620Tue May 12 09:15:15 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
621
25f64a11 622 Version number now got from Storable.pm directly.
7a6a85bf 623
25f64a11 624 Fixed overzealous sv_type() optimization, which would make
625 Storable fail when faced with an "upgraded" SV to the PVIV
626 or PVNV kind containing a reference.
7a6a85bf 627
628Thu Apr 30 15:11:30 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
629
25f64a11 630 Extended the SYNOPSIS section to give quick overview of the
631 routines and their signature.
7a6a85bf 632
25f64a11 633 Optimized sv_type() to avoid flags checking when not needed, i.e.
634 when their type makes it impossible for them to be refs or tied.
635 This slightly increases throughput by a few percents when refs
636 and tied variables are marginal occurrences in your data.
7a6a85bf 637
25f64a11 638 Stubs for XS now use OutputStream and InputStream file types to
639 make it work when the given file is actually a socket. Perl
640 makes a distinction for sockets in its internal I/O structures
641 by having both a read and a write structure, whereas plain files
642 share the same one.
7a6a85bf 643
644Tue Jun 3 09:41:33 METDST 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
645
25f64a11 646 Thanks to a contribution from Benjamin A. Holzman, Storable is now
647 able to correctly serialize tied SVs, i.e. tied arrays, hashes
648 and scalars.
7a6a85bf 649
650Thu Apr 9 18:07:51 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
651
25f64a11 652 I said SvPOK() had changed to SvPOKp(), but that was a lie...
7a6a85bf 653
654Wed Apr 8 13:14:29 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
655
25f64a11 656 Wrote sizeof(SV *) instead of sizeof(I32) when portable, which
657 in effect mangled the object tags and prevented portability
658 accross 32/64 bit architectures!
7a6a85bf 659
660Wed Mar 25 14:57:02 MET 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
661
25f64a11 662 Added code example for store_fd() and retrieve_fd() in the
663 man page, to emphasize that file descriptors must be passed as
664 globs, not as plain strings.
7a6a85bf 665
25f64a11 666 Cannot use SV addresses as tag when using nstore() on LP64. This
667 was the cause of problems when creating a storable image on an
668 LP64 machine and retrieving it on an ILP32 system, which is
669 exactly what nstore() is meant for...
7a6a85bf 670
25f64a11 671 However, we continue to use SV addresses as tags for plain store(),
672 because benchamarking shows that it saves up to 8% of the store
673 time, and store() is meant to be fast at the expense of lack
674 of portability.
7a6a85bf 675
25f64a11 676 This means there will be approximately an 8% degradation of
677 performance for nstore(), but it's now working as expected.
678 That cost may vary on your machine of course, since it is
679 solely caused by the memory allocation overhead used to create
680 unique SV tags for each distinct stored SV.
7a6a85bf 681
682Tue Jan 20 09:21:53 MET 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
683
25f64a11 684 Don't use any '_' in version number.
7a6a85bf 685
686Tue Jan 13 17:51:50 MET 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
687
25f64a11 688 Updated version number.
7a6a85bf 689
25f64a11 690 added binmode() calls for systems where it matters.
7a6a85bf 691
25f64a11 692 Be sure to pass globs, not plain file strings, to C routines,
693 so that Storable can be used under the Perl debugger.
7a6a85bf 694
695Wed Nov 5 10:53:22 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
696
25f64a11 697 Fix memory leaks on seen hash table and returned SV refs.
7a6a85bf 698
25f64a11 699 Storable did not work properly when tainting enabled.
7a6a85bf 700
25f64a11 701 Fixed "Allocation too large" messages in freeze/thaw and added.
702 proper regression test in t/freeze.t.
7a6a85bf 703
704Tue Jun 3 09:41:33 METDST 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
705
25f64a11 706 Updated version number
7a6a85bf 707
25f64a11 708 Added freeze/thaw interface and dclone.
7a6a85bf 709
710Fri May 16 10:45:47 METDST 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
711
25f64a11 712 Forgot that AutoLoader does not export its own AUTOLOAD.
713 I could use
7a6a85bf 714
25f64a11 715 use AutoLoader 'AUTOLOAD';
716
717 but that would not be backward compatible. So the export is
718 done by hand...
7a6a85bf 719
720Tue Mar 25 11:21:32 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
721
25f64a11 722 Empty scalar strings are now "defined" at retrieval time.
7a6a85bf 723
25f64a11 724 New test to ensure an empty string is defined when retrieved.
7a6a85bf 725
726Thu Feb 27 16:32:44 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
727
25f64a11 728 Updated version number
7a6a85bf 729
25f64a11 730 Declare VERSION as being used
7a6a85bf 731
25f64a11 732 Fixed a typo in the PerlIO_putc remapping.
733 PerlIO_read and perlIO_write inverted size/nb_items.
734 (only relevant for pre-perl5.004 versions)
7a6a85bf 735
736Thu Feb 27 15:58:31 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
737
25f64a11 738 Updated version number
7a6a85bf 739
25f64a11 740 Added VERSION identification
7a6a85bf 741
25f64a11 742 Allow build with perl5.003, which is ante perlIO time
7a6a85bf 743
744Mon Jan 13 17:53:18 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
745
25f64a11 746 Random code fixes.
7a6a85bf 747
748Wed Jan 22 15:19:56 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
749
25f64a11 750 Updated version number in Makefile.PL.
7a6a85bf 751
25f64a11 752 Added "thanks to" section to README.
7a6a85bf 753
25f64a11 754 Documented new forgive_me variable.
7a6a85bf 755
25f64a11 756 Made 64-bit clean.
7a6a85bf 757
25f64a11 758 Added forgive_me support to allow store() of data structures
759 containing non-storable items like CODE refs.