1 Wed Mar 17 15:40:29 GMT 2004 Nicholas Clark <nick@ccl4.org>
3 1. Add regression tests for the auto-require of STORABLE_thaw
4 2. Add auto-require of modules to restore overloading (and tests)
6 Sat Mar 13 20:11:03 GMT 2004 Nicholas Clark <nick@ccl4.org>
10 1. Storing restricted hashes in canonical order would SEGV. Fixed.
11 2. It was impossible to retrieve references to PL_sv_no and and
12 PL_sv_undef from STORABLE_thaw hooks.
13 3. restrict.t was failing on 5.8.0, due to 5.8.0's unique
14 implementation of restricted hashes using PL_sv_undef
15 4. These changes allow a space optimisation for restricted hashes.
17 Sat Jan 24 16:22:32 IST 2004 Abhijit Menon-Sen <ams@wiw.org>
21 1. Thread safety: Storable::CLONE/init_perlinterp() now create
22 a new Perl context for each new ithread.
23 (From Stas Bekman and Jan Dubois.)
24 2. Fix a tag count mismatch with $Storable::Deparse that caused
25 all back-references after a stored sub to be off-by-N (where
26 N was the number of code references in between).
28 3. Prevent CODE references from turning into SCALAR references.
31 Sat Jan 3 18:49:18 GMT 2004 Nicholas Clark <nick@ccl4.org>
35 Fix minor problems with the CPAN release
36 1: Make Storable.xs work on 5.8.2 and later (already in the core)
37 2: Ship the linux hints file
38 3: Ship Test::More for the benefit of Perls pre 5.6.2
39 4: Correct Makefile.PL to only install in core for 5.8.0 and later
41 Sat Sep 6 01:08:20 IST 2003 Abhijit Menon-Sen <ams@wiw.org>
45 This release works around a 5.8.0 bug which caused hashes to not
46 be marked as having key flags even though an HEK had HEK_WASUTF8
47 set. (Note that the only reasonable solution is to silently drop
48 the flag from the affected key.)
50 Users of RT 3 who were seeing assertion failures should upgrade.
51 (Perl 5.8.1 will have the bug fixed.)
53 Mon May 5 10:24:16 IST 2003 Abhijit Menon-Sen <ams@wiw.org>
57 Minor bugfixes (self-tied objects are now correctly stored, as
58 are the results of additions larger than INT_MAX).
60 Mon Oct 7 21:56:38 BST 2002 Nicholas Clark <nick@ccl4.org>
64 Remove qr// from t/downgrade.t so that it will run on 5.004
65 Mention $File::Spec::VERSION a second time in t/forgive.t so that it
66 runs without warnings in 5.004 (this may be a 5.00405 bug I'm working
68 Fix t/integer.t initialisation to actually generate 64 bits of 9c
69 Fix comparison tests to use eval to get around 64 bit IV conversion
70 issues on 5.6.x, following my t/integer.t ^ precedence bug found by
72 Alter t/malice.t to work with Test/More.pm in t/, and skip individual
73 subtests that use $Config{ptrsize}, so that the rest of the test can
75 Change t/malice.t and the error message in check_magic in Storable.xs
76 from "Pointer integer size" to "Pointer size"
77 Remove prerequisite of Test::More from Makefile.PL
78 Ship Test::Builder, Test::Simple and Test::More in t
80 Thu Oct 3 08:57:22 IST 2002 Abhijit Menon-Sen <ams@wiw.org>
84 Adds support for CODE references from Slaven Rezic
85 <slaven.rezic@berlin.de>.
87 Fri Jun 7 23:55:41 BST 2002 Nicholas Clark
91 Bug fix from Radu Greab <radu@netsoft.ro> (plus regression test)
92 to fix a recently introduced bug detected by Dave Rolsky.
93 Bug was that for a non threaded build, the class information was
94 being lost at freeze time on the first object with a STORABLE_freeze
95 hook. Consequentially the object was not blessed at all when thawed.
96 (The presence (or lack) of STORABLE_thaw was irrelevant; this was
97 a store-time data lost bug, caused by failure to initialize internal
99 The bug was introduced as development perl change 16442 (on
100 2002/05/07), so has been present since 2.00.
101 Patches to introduce more regression tests to reduce the chance of
102 a reoccurance of this sort of goof are always welcome.
104 Thu May 30 20:31:08 BST 2002 Nicholas Clark <nick@ccl4.org>
106 Version 2.03 Header changes on 5.6.x on Unix where IV is long long
108 5.6.x introduced the ability to have IVs as long long. However,
109 Configure still defined BYTEORDER based on the size of a long.
110 Storable uses the BYTEORDER value as part of the header, but
111 doesn't explicity store sizeof(IV) anywhere in the header.
112 Hence on 5.6.x built with IV as long long on a platform that
113 uses Configure (ie most things except VMS and Windows) headers
114 are identical for the different IV sizes, despite the files
115 containing some fields based on sizeof(IV)
117 5.8.0 is consistent; all platforms have BYTEORDER in config.h
118 based on sizeof(IV) rather than sizeof(long). This means that
119 the value of BYTEORDER will change from (say) 4321 to 87654321
120 between 5.6.1 and 5.8.0 built with the same options to Configure
121 on the same machine. This means that the Storable header will
122 differ, and the two versions will wrongly thing that they are
125 For the benefit of long term consistency, Storable now
126 implements the 5.8.0 BYTEORDER policy on 5.6.x. This means that
127 2.03 onwards default to be incompatible with 2.02 and earlier
128 (ie the large 1.0.x installed base) on the same 5.6.x perl.
130 To allow interworking, a new variable
131 $Storable::interwork_56_64bit is introduced. It defaults to
132 false. Set it to true to read and write old format files. Don't
133 use it unless you have existing stored data written with 5.6.x
134 that you couldn't otherwise read, or you need to interwork with
135 a machine running older Storable on a 5.6.x with long long IVs
136 (i.e., you probably don't need to use it).
138 Sat May 25 22:38:39 BST 2002 Nicholas Clark <nick@ccl4.org>
142 Rewrite Storable.xs so that the file header structure for write_magic
143 is built at compile time, and check_magic attempts to the header in
144 blocks rather than byte per byte. These changes make the compiled
145 extension 2.25% smaller, but are not significant enough to give a
148 Thu May 23 22:50:41 BST 2002 Nicholas Clark <nick@ccl4.org>
152 - New regression tests integer.t
153 - Add code to safely store large unsigned integers.
154 - Change code not to attempt to store large integers (ie > 32 bits)
155 in network order as 32 bits.
157 *Never* underestimate the value of a pathological test suite carefully
158 crafted with maximum malice before writing a line of real code. It
159 prevents crafty bugs from stowing away in your released code.
160 It's much less embarrassing to find them before you ship.
161 (Well, never underestimate it if you ever want to work for me)
163 Fri May 17 22:48:59 BST 2002 Nicholas Clark <nick@ccl4.org>
165 Version 2.0, binary format 2.5 (but writes format 2.4 on pre 5.7.3)
167 The perl5 porters have decided to make sure that Storable still
168 builds on pre-5.8 perls, and make the 5.8 version available on CPAN.
169 The VERSION is now 2.0, and it passes all tests on 5.005_03, 5.6.1
170 and 5.6.1 with threads. On 5.6.0 t/downgrade.t fails tests 34 and 37,
171 due to a bug in 5.6.0 - upgrade to 5.6.1.
173 Jarkko and I have collated the list of changes the perl5 porters have
174 from the perl5 Changes file:
176 - data features of upcoming perl 5.8.0 are supported: Unicode hash
177 keys (Unicode hash values have been supported since Storable 1.0.1)
178 and "restricted hashes" (readonly hashes and hash entries)
179 - a newer version of perl can now be used to serialize data which is
180 not supported in earlier perls: Storable will attempt to do the
181 right thing for as long as possible, croaking only when safe data
182 conversion simply isn't possible. Alternatively earlier perls can
183 opt to have a lossy downgrade data instead of croaking
184 - when built with perls pre 5.7.3 this Storable writes out files
185 with binary format 2.4, the same format as Storable 1.0.8 onwards.
186 This should mean that this Storable will inter-operate seamlessly
187 with any Storable 1.0.8 or newer on perls pre 5.7.3
188 - dclone() now works with empty string scalar objects
189 - retrieving of large hashes is now more efficient
190 - more routines autosplit out of the main module, so Storable should
191 load slightly more quickly
192 - better documentation
193 - the internal context objects are now freed explicitly, rather than
194 relying on thread or process exit
195 - bugs fixed in debugging trace code affecting builds made with 64 bit
197 - code tidy-ups to allow clean compiles with more warning options
198 turned on avoid problems with $@ getting corrupted on 5.005_03 if
199 Carp wasn't already loaded
200 - added &show_file_magic, so you can add to /etc/magic and teach
201 Unix's file command about Storable files
203 We plan to keep Storable on CPAN in sync with the Perl core, so
204 if you encounter bugs or other problems building or using Storable,
205 please let us know at perl5-porters@perl.org
208 Sat Dec 1 14:37:54 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
210 This is the LAST maintenance release of the Storable module.
211 Indeed, Storable is now part of perl 5.8, and will be maintained
212 as part of Perl. The CPAN module will remain available there
213 for people running pre-5.8 perls.
215 Avoid requiring Fcntl upfront, useful to embedded runtimes.
216 Use an eval {} for testing, instead of making Storable.pm
217 simply fail its compilation in the BEGIN block.
219 store_fd() will now correctly autoflush file if needed.
221 Tue Aug 28 23:53:20 MEST 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
223 Fixed truncation race with lock_retrieve() in lock_store().
224 The file has to be truncated only once the exclusive lock is held.
226 Removed spurious debugging messages in .xs file.
228 Sun Jul 1 13:27:32 MEST 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
230 Systematically use "=over 4" for POD linters.
231 Apparently, POD linters are much stricter than would
232 otherwise be needed, but that's OK.
234 Fixed memory corruption on croaks during thaw(). Thanks
235 to Claudio Garcia for reproducing this bug and providing the
236 code to exercise it. Added test cases for this bug, adapted
239 Made code compile cleanly with -Wall (from Jarkko Hietaniemi).
241 Changed tagnum and classnum from I32 to IV in context. Also
244 Thu Mar 15 01:22:32 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
246 Last version was wrongly compiling with assertions on, due
247 to an edit glitch. That did not cause any problem (apart from
248 a slight performance loss) excepted on Win* platforms, where the
249 assertion code does not compile.
251 Sat Feb 17 13:37:37 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
255 Forgot to increase version number at previous patch (there were
256 two of them, which is why we jump from 1.0.8 to 1.0.10).
258 Sat Feb 17 13:35:00 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
260 Version 1.0.8, binary format 2.4.
262 Fixed incorrect error message.
264 Now bless objects ASAP at retrieve time, which is meant to fix
267 * Indirect references to overloaded object were not able to
268 restore overloading if the object was not blessed yet,
269 which was possible since blessing occurred only after the
272 * Storable hooks asking for serialization of blessed ref could
273 get un-blessed refs at retrieval time, for the very same
276 The fix implemented here was suggested by Nick Ing-Simmons.
278 Added support for blessed ref to tied structures. This is the
279 cause for the binary format change.
281 Added EBCDIC version of the compatibility test with 0.6.11,
284 Added tests for the new features, and to make sure the bugs they
285 are meant to fix are indeed fixed.
287 Wed Jan 3 10:43:18 MET 2001 Raphael Manfredi <Raphael_Manfredi@pobox.com>
289 Removed spurious 'clean' entry in Makefile.PL.
291 Added CAN_FLOCK to determine whether we can flock() or not,
292 by inspecting Perl's configuration parameters, as determined
295 Trace offending package when overloading cannot be restored
298 Made context cleanup safer to avoid dup freeing, mostly in the
299 presence of repeated exceptions during store/retrieve (which can
300 cause memory leaks anyway, so it's just additional safety, not a
303 Sun Nov 5 18:23:48 MET 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
307 Fixed severe "object lost" bug for STORABLE_freeze returns,
308 when refs to lexicals, taken within the hook, were to be
309 serialized by Storable. Enhanced the t/recurse.t test to
310 stress hook a little more with refs to lexicals.
312 Thu Oct 26 19:14:38 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
316 Documented that store() and retrieve() can return undef.
317 That is, the error reporting is not always made via exceptions,
318 as the paragraph on error reporting was implying.
320 Auto requires module of blessed ref when STORABLE_thaw misses.
321 When the Storable engine looks for the STORABLE_thaw hook and
322 does not find it, it now tries to require the package into which
323 the blessed reference is.
325 Just check $^O, in t/lock.t: there's no need to pull the whole
326 Config module for that.
328 Mon Oct 23 20:03:49 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
332 Protected calls to flock() for DOS platform: apparently, the
333 flock/fcnlt emulation is reported to be broken on that
336 Added logcarp emulation if they don't have Log::Agent, since
337 we now use it to carp when lock_store/lock_retrieve is used
340 Fri Sep 29 21:52:29 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
344 Avoid using "tainted" and "dirty" since Perl remaps them via
345 cpp (i.e. #define). This is deeply harmful when threading
346 is enabled. This concerned both the context structure and
347 local variable and argument names. Brrr..., scary!
349 Thu Sep 28 23:46:39 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
353 Fixed spelling in README.
355 Added lock_store, lock_nstore, and lock_retrieve (advisory locking)
356 after a proposal from Erik Haugan <erik@solbors.no>.
358 Perls before 5.004_04 lack newSVpvn, added remapping in XS.
360 Fixed stupid typo in the t/utf8.t test.
362 Sun Sep 17 18:51:10 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
364 Version 1.0.1, binary format 2.3.
366 Documented that doubles are stored stringified by nstore().
368 Added Salvador Ortiz Garcia in CREDITS section, He identified
369 a bug in the store hooks and proposed the right fix: the class
370 id was allocated too soon. His bug case was also added to
371 the regression test suite.
373 Now only taint retrieved data when source was tainted. A bug
374 discovered by Marc Lehmann.
376 Added support for UTF-8 strings, a contribution of Marc Lehmann.
377 This is normally only activated in post-5.6 perls.
379 Thu Aug 31 23:06:06 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
381 First official release Storable 1.0, for inclusion in perl 5.7.0.
382 The license scheme is now compatible with Perl's.
384 Thu Aug 24 01:02:02 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
386 ANSI-fied most of the code, preparing for Perl core integration.
387 The next version of Storable will be 0.8, and will be integrated
388 into the Perl core (development branch).
390 Dispatch tables were moved upfront to relieve some compilers,
391 especially on AIX and Windows platforms.
393 Merged 64-bit fixes from perl5-porters.
395 Mon Aug 14 09:22:04 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
397 Added a refcnt dec in retrieve_tied_key(): sv_magic() increases
398 the refcnt on the mg_ptr as well.
400 Removed spurious dependency to Devel::Peek, which was used for
401 testing only in t/tied_items.t. Thanks to Conrad Heiney
402 <conrad@fringehead.org> for spotting it first.
404 Sun Aug 13 22:12:59 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
406 Marc Lehmann kindly contributed code to add overloading support
407 and to handle references to tied variables.
409 Rewrote leading blurb about compatibility to make it clearer what
410 "backward compatibility" is about: when I say 0.7 is backward
411 compatible with 0.6, it means the revision 0.7 can read files
414 Mention new Clone(3) extension in SEE ALSO.
416 Was wrongly optimizing for "undef" values in hashes by not
417 fully recursing: as a result, tied "undef" values were incorrectly
420 Sun Jul 30 12:59:17 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
422 First revision of Storable 0.7.
424 The serializing format is new, known as version 2.0. It is fully
425 backward compatible with 0.6. Earlier formats are deprecated and
426 have not even been tested: next version will drop pre-0.6 format.
428 Changes since 0.6@11:
430 - Moved interface to the "beta" status. Some tiny parts are still
431 subject to change, but nothing important enough to warrant an "alpha"
434 - Slightly reduced the size of the Storable image by factorizing
435 object class names and removing final object storage notification due
436 to a redesign of the blessed object storing.
438 - Classes can now redefine how they wish their instances to be serialized
439 and/or deep cloned. Serializing hooks are written in Perl code.
441 - The engine is now fully re-entrant.
443 Sun Apr 2 23:47:50 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
445 Added provision to detect more recent binary formats, since
446 the new upcoming Storable-0.7 will use a different format.
447 In order to prevent attempting the de-serialization of newer
448 formats by older versions, I'm adding this now to the 0.6 series.
450 I'm expecting this revision to be the last of the 0.6 series.
451 Unless it does not work with perl 5.6, which I don't use yet,
452 and therefore against which I cannot test.
454 Wed Mar 29 19:55:21 MEST 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
456 Added note about format incompatibilities with old versions
457 (i.e. pre 0.5@9 formats, which cannot be understood as there
458 was no versionning information in the file by then).
460 Protect all $@ variables when eval {} used, to avoid corrupting
461 it when store/retrieve is called within an exception handler.
463 Mistakenly included "patchlevel.h" instead of <patchlevel.h>,
464 preventing Perl's patchlevel from being included, which is
465 needed starting from 5.6.
467 Tue May 12 09:15:15 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
469 Fixed shared "undef" bug in hashes, which did not remain shared
470 through store/retrieve.
472 Thu Feb 10 19:48:16 MET 2000 Raphael Manfredi <Raphael_Manfredi@pobox.com>
474 added last_op_in_netorder() predicate
475 documented last_op_in_netorder()
476 added tests for the new last_op_in_netorder() predicate
478 Wed Oct 20 19:07:36 MEST 1999 Raphael Manfredi <Raphael_Manfredi@pobox.com>
480 Forgot to update VERSION
482 Tue Oct 19 21:25:02 MEST 1999 Raphael Manfredi <Raphael_Manfredi@pobox.com>
484 Added mention of japanese translation for the manual page.
486 Fixed typo in macro that made threaded code not compilable,
487 especially on Win32 platforms.
489 Changed detection of older perls (pre-5.005) by testing PATCHLEVEL
490 directly instead of relying on internal symbols.
492 Tue Sep 14 22:13:28 MEST 1999 Raphael Manfredi <Raphael_Manfredi@pobox.com>
494 Integrated "thread-safe" patch from Murray Nesbitt.
495 Note that this may not be very efficient for threaded code,
496 see comment in the code.
498 Try to avoid compilation warning on 64-bit CPUs. Can't test it,
499 since I don't have access to such machines.
501 Mon Jul 12 14:37:19 METDST 1999 Raphael Manfredi <Raphael_Manfredi@pobox.com>
503 changed my e-mail to pobox.
505 mentionned it is not thread-safe.
507 updated version number.
509 uses new internal PL_* naming convention.
511 Fri Jul 3 13:38:16 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
513 Updated benchmark figures due to recent optimizations done in
514 store(): tagnums are now stored as-is in the hash table, so
515 no surrounding SV is created. And the "shared keys" mode for
516 hash table was turned off.
518 Fixed backward compatibility (wrt 0.5@9) for retrieval of
519 blessed refs. That old version did something wrong, but the
520 bugfix prevented correct retrieval of the old format.
522 Mon Jun 22 11:00:48 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
524 Changed benchmark figures.
526 Adjust refcnt of tied objects after calling sv_magic() to avoid
527 memory leaks. Contributed by Jeff Gresham.
529 Fri Jun 12 11:50:04 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
531 Added workaround for persistent LVALUE-ness in perl5.004. All
532 scalars tagged as being an lvalue are handled as if they were
533 not an lvalue at all. Added test for that LVALUE bug workaround.
535 Now handles Perl immortal scalars explicitely, by storing &sv_yes
536 as such, explicitely.
538 Retrieval of non-immortal undef cannot be shared. Previous
539 version was over-optimizing by not creating a separate SV for
540 all undefined scalars seen.
542 Thu Jun 4 17:21:51 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
544 Baseline for Storable-0.6@0.
546 This version introduces a binary incompatibility in the generated
547 binary image, which is more compact than older ones by approximatively
548 15%, depending on the exact degree of sharing in your structures.
550 The good news is that your older images can still be retrieved with
551 this version, i.e. backward compatibility is preserved. This version
552 of Storable can only generate new binaries however.
554 Another good news is that the retrieval of data structure is
555 significantly quicker than before, because a Perl array is used
556 instead of a hash table to keep track of retrieved objects, and
557 also because the image being smaller, less I/O function calls are
560 Tue May 12 09:15:15 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
562 Version number now got from Storable.pm directly.
564 Fixed overzealous sv_type() optimization, which would make
565 Storable fail when faced with an "upgraded" SV to the PVIV
566 or PVNV kind containing a reference.
568 Thu Apr 30 15:11:30 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
570 Extended the SYNOPSIS section to give quick overview of the
571 routines and their signature.
573 Optimized sv_type() to avoid flags checking when not needed, i.e.
574 when their type makes it impossible for them to be refs or tied.
575 This slightly increases throughput by a few percents when refs
576 and tied variables are marginal occurrences in your data.
578 Stubs for XS now use OutputStream and InputStream file types to
579 make it work when the given file is actually a socket. Perl
580 makes a distinction for sockets in its internal I/O structures
581 by having both a read and a write structure, whereas plain files
584 Tue Jun 3 09:41:33 METDST 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
586 Thanks to a contribution from Benjamin A. Holzman, Storable is now
587 able to correctly serialize tied SVs, i.e. tied arrays, hashes
590 Thu Apr 9 18:07:51 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
592 I said SvPOK() had changed to SvPOKp(), but that was a lie...
594 Wed Apr 8 13:14:29 METDST 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
596 Wrote sizeof(SV *) instead of sizeof(I32) when portable, which
597 in effect mangled the object tags and prevented portability
598 accross 32/64 bit architectures!
600 Wed Mar 25 14:57:02 MET 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
602 Added code example for store_fd() and retrieve_fd() in the
603 man page, to emphasize that file descriptors must be passed as
604 globs, not as plain strings.
606 Cannot use SV addresses as tag when using nstore() on LP64. This
607 was the cause of problems when creating a storable image on an
608 LP64 machine and retrieving it on an ILP32 system, which is
609 exactly what nstore() is meant for...
611 However, we continue to use SV addresses as tags for plain store(),
612 because benchamarking shows that it saves up to 8% of the store
613 time, and store() is meant to be fast at the expense of lack
616 This means there will be approximately an 8% degradation of
617 performance for nstore(), but it's now working as expected.
618 That cost may vary on your machine of course, since it is
619 solely caused by the memory allocation overhead used to create
620 unique SV tags for each distinct stored SV.
622 Tue Jan 20 09:21:53 MET 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
624 Don't use any '_' in version number.
626 Tue Jan 13 17:51:50 MET 1998 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
628 Updated version number.
630 added binmode() calls for systems where it matters.
632 Be sure to pass globs, not plain file strings, to C routines,
633 so that Storable can be used under the Perl debugger.
635 Wed Nov 5 10:53:22 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
637 Fix memory leaks on seen hash table and returned SV refs.
639 Storable did not work properly when tainting enabled.
641 Fixed "Allocation too large" messages in freeze/thaw and added.
642 proper regression test in t/freeze.t.
644 Tue Jun 3 09:41:33 METDST 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
646 Updated version number
648 Added freeze/thaw interface and dclone.
650 Fri May 16 10:45:47 METDST 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
652 Forgot that AutoLoader does not export its own AUTOLOAD.
655 use AutoLoader 'AUTOLOAD';
657 but that would not be backward compatible. So the export is
660 Tue Mar 25 11:21:32 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
662 Empty scalar strings are now "defined" at retrieval time.
664 New test to ensure an empty string is defined when retrieved.
666 Thu Feb 27 16:32:44 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
668 Updated version number
670 Declare VERSION as being used
672 Fixed a typo in the PerlIO_putc remapping.
673 PerlIO_read and perlIO_write inverted size/nb_items.
674 (only relevant for pre-perl5.004 versions)
676 Thu Feb 27 15:58:31 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
678 Updated version number
680 Added VERSION identification
682 Allow build with perl5.003, which is ante perlIO time
684 Mon Jan 13 17:53:18 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
688 Wed Jan 22 15:19:56 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
690 Updated version number in Makefile.PL.
692 Added "thanks to" section to README.
694 Documented new forgive_me variable.
698 Added forgive_me support to allow store() of data structures
699 containing non-storable items like CODE refs.