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