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