Re: 5.8.9 RC1 report
[p5sagit/p5-mst-13.2.git] / ext / Digest / MD5 / Changes
1 2008-11-12   Gisle Aas <gisle@ActiveState.com>
2
3    Release 2.37
4
5    Sync up with consting changes from the perl core.
6
7
8
9 2005-11-30   Gisle Aas <gisle@ActiveState.com>
10
11    Release 2.36
12
13    Fix documentation typo.
14
15
16
17 2005-11-26   Gisle Aas <gisle@ActiveState.com>
18
19    Release 2.35
20
21    Forgot to incorporate fixes already applied to bleadperl :-(
22      - doc typo
23      - consting
24      - unused my_na
25      - USE_HEAP_INSTEAD_OF_STACK for Symbian
26
27
28
29 2005-11-26   Gisle Aas <gisle@ActiveState.com>
30
31    Release 2.34
32
33    Document that it is now easy to generate different messages that produce the
34    same MD5 digest.
35
36    Use XSLoader; perl-5.6 is now required.
37
38    Tweaks to the processing of $? after running the test program.
39
40
41
42 2003-12-07   Gisle Aas <gisle@ActiveState.com>
43
44    Release 2.33
45    
46    Enable explicit context passing for slight performance
47    improvement in threaded perls.
48    
49    Tweaks to the Makefile.PL so that it is suitable both for
50    core and CPAN use.
51
52
53
54 2003-12-05   Gisle Aas <gisle@ActiveState.com>
55
56    Release 2.32
57
58    Don't run u32align test program on HP-UX 10.20 as it
59    will hang.  Patch by H.Merijn Brand <h.m.brand@hccnet.nl>.
60
61    Fixed documentation typo.
62
63
64
65 2003-11-28   Gisle Aas <gisle@ActiveState.com>
66
67    Release 2.31
68
69    Inherit add_bits() from Digest::base if available.
70
71
72
73 2003-10-09   Gisle Aas <gisle@ActiveState.com>
74
75    Release 2.30
76
77    Some tweaks to make the module build on perl-5.004 and
78    perl-5.005 again.
79
80
81
82 2003-10-06   Gisle Aas <gisle@ActiveState.com>
83
84    Release 2.29
85
86    Another try.  Forgot to update the test checksums.
87
88
89
90 2003-10-06   Gisle Aas <gisle@ActiveState.com>
91
92    Release 2.28
93
94    Fix minor documentation typo.
95
96
97
98 2003-08-04   Gisle Aas <gisle@ActiveState.com>
99
100    Release 2.27
101
102    Avoid having to figure how to compile alignment test program
103    on MS-Windows by just assume free alignment as for i386.  Source
104    builds on Windows was apparently broken.
105
106
107
108 2003-07-21   Gisle Aas <gisle@ActiveState.com>
109
110    Release 2.26
111
112    Don't assume PerlIO_read() works like fread() even though
113    it was documented like that for perl 5.6.  It returns negative
114    on read failure.
115
116    Kill test #3 in t/badfile.t.  I don't know a reliable way
117    to test read failures on a file handle.  Seems better not to
118    test than to make many worry.
119
120
121
122 2003-07-04   Gisle Aas <gisle@ActiveState.com>
123
124    Release 2.25
125
126    The $md5->addfile method now croaks if it discovers
127    errors on the handle after reading from it.  This should
128    make it more difficult to end up with the wrong digest
129    just because you are to lazy to check the error status
130    on your file handles after reading from them.
131
132    Improved documentation.
133
134    Sync up with bleadperl; even safer patchlevel include.
135
136
137
138 2003-03-09   Gisle Aas <gisle@ActiveState.com>
139
140    Release 2.24
141
142    Don't let the $^W test get confused by lexical warnings.
143
144    Sync up with bleadperl; safer patchlevel include.
145
146
147
148 2003-01-18   Gisle Aas <gisle@ActiveState.com>
149
150    Release 2.23
151
152    Override INSTALLDIRS for 5.8 as suggested by
153    Guido Ostkamp <Guido.Ostkamp@t-online.de>.
154
155
156
157 2003-01-04   Gisle Aas <gisle@ActiveState.com>
158
159    Release 2.22.
160
161    Added clone method.
162    Contributed by Holger Smolinski <holger@kunterbunt.bb.bawue.de>
163
164
165
166 2002-12-27   Gisle Aas <gisle@ActiveState.com>
167
168    Release 2.21
169
170    Minor tweaks sync up with bleadperl:
171      - VMS optimizer tweaks to the Makefile.PL
172      - MacOS support
173      - Added alignment test
174
175    Added example to the MD5 POD that shows how to calculate the
176    digest of Unicode strings.
177
178
179
180 2002-05-05   Gisle Aas <gisle@ActiveState.com>
181
182    Release 2.20
183
184    More synchronization with tweaks Jarkko have done to the
185    bleadperl test suite. This time various EBCDIC hacks.
186
187    Outside PERL_CORE the md5-aaa.t test loaded the wrong version of
188    the module (and would fail if no previous Digest::MD5 was installed).
189    Patch by Mike Stok <mike@stok.co.uk>
190
191
192
193 2002-05-01   Gisle Aas <gisle@ActiveState.com>
194
195    Release 2.19
196
197    One more test suite update from Jarkko to sync it
198    even better with bleadperl.
199
200
201
202 2002-05-01   Gisle Aas <gisle@ActiveState.com>
203
204    Release 2.18
205
206    Changes #12954 and #16173 from bleadperl.  Documentation typo fix
207    and some signed/unsigned mismatches that Microsoft's C compiler
208    complained about.
209
210    The EBCDIC-aware md5-aaa.t from bleadperl.
211
212
213
214 2002-04-25   Gisle Aas <gisle@ActiveState.com>
215
216    Release 2.17
217
218    The SvPVbyte in perl-5.6.1 is buggy.  Use the one from 5.7.3
219    instead.
220
221    Give warning if the function interface is used as instance
222    methods:  $md5->md5_hex().
223
224
225
226 2001-09-07   Gisle Aas <gisle@ActiveState.com>
227
228    Release 2.16
229
230    Sync up with the bleadperl version:
231       - use SvPVbyte() if available
232       - fixes to make the code 'gcc -Wall'-clean
233
234
235
236 2001-08-27   Gisle Aas <gisle@ActiveState.com>
237
238    Release 2.15
239
240    Avoid exit() in Makefile.PL and bleadperl redefinition of printf
241    in the alignment test program.
242    Patch by Doug MacEachern <dougm@covalent.net>.
243
244
245
246 2001-07-18   Gisle Aas <gisle@ActiveState.com>
247
248    Release 2.14
249
250    Try to warn if the functional interface is used as methods,
251    i.e. Digest::MD5->md5_hex("foo") will make noise if -w is
252    enabled.
253
254    Document the missing padding for the base64 digests.
255
256    If both XS bootstrap and locating Digest::Perl::MD5 fails
257    re-raise the original XS bootstrap exception.
258
259
260
261 2001-03-13   Gisle Aas <gisle@ActiveState.com>
262
263    Release 2.13
264
265    Moved all other Digest:: modules out of the Digest-MD5 dist.
266
267
268
269 2000-09-18   Gisle Aas <gisle@ActiveState.com>
270
271    Release 2.12
272
273    Avoid pointer cast warning for machines with bigger ints
274    than pointers.  Patch by Robin Barker <rmb1@cise.npl.co.uk>.
275
276
277
278 2000-08-19   Gisle Aas <gisle@ActiveState.com>
279
280    Release 2.11
281    
282    The fallback code introduced in 2.10 did only work for
283    perl-5.6.0.  It should now for for perl5.004 and 5.005
284    as well.  Patch by Ville Skyttä <ville@office.popsystems.com>.
285
286
287
288 2000-08-18   Gisle Aas <gisle@ActiveState.com>
289
290    Release 2.10
291
292    Digest::MD5 will now try to fallback to the pure perl
293    implementation of Digest::Perl::MD5 if bootstrap fails.
294
295    Added a bit internal paranoia about casting the IV
296    in the Digest::MD5 object to the MD5_CTX* pointer.
297
298
299
300 1999-08-06   Gisle Aas <gisle@aas.no>
301
302    Release 2.09
303
304    Documentation update.
305
306
307
308 1999-07-28   Gisle Aas <gisle@aas.no>
309
310    Release 2.08
311
312    The addfile() methods could trigger a core dump when passed
313    a filehandle that had failed to open.
314
315
316
317 1999-04-26   Gisle Aas <gisle@aas.no>
318
319    Release 2.07
320
321    The Digest::SHA1 module failed on some 64-bit systems, because I
322    assumed there was a correspondence between the U32 size and
323    BYTEORDER.  This version use 'unsigned long' as Uwe's original
324    SHA module did.
325
326    The module should now work better when liked statically with perl,
327    because we now use a safer module-loaded test in Digest.pm.
328
329    Assume we know the outcome of the alignment test on VMS. Patch by
330    Chuck Lane <lane@duphy4.physics.drexel.edu>
331
332
333
334 1999-03-26   Gisle Aas <gisle@aas.no>
335
336    Release 2.06
337
338    Avoid LONG and BYTE types in SHA.xs as they was in conflict
339    with similar definitions in <winnt.h>.
340
341    Patch by Marko Asplund <aspa@hip.fi> to make the the alignment
342    test program link successfully with sfio-perl.
343
344    Fixed a typo in MD5.xs that might have affected 64-bit systems.
345    Spotted by Nick Ing-Simmons
346
347
348
349 1999-03-15   Gisle Aas <gisle@aas.no>
350
351    Release 2.05
352
353    Included Digest::SHA1 based on Uwe Hollerbach's SHA module.
354
355
356
357 1999-03-05   Gisle Aas <gisle@aas.no>
358
359    Release 2.04
360
361    Avoid the -o option when compiling alignment test program
362    for Win32 as suggested by Gurusamy Sarathy.
363
364    DEC Compiler bug workaround.  Contributed by D Roland Walker
365    <walker@ncbi.nlm.nih.gov>
366
367    Having references to a local variable called "na" was not
368    very safe either.  Some older versions of Perl can apparently
369    macroize this into something completely different.
370
371
372
373 1999-02-27   Gisle Aas <gisle@aas.no>
374
375    Release 2.03
376
377    Patch from Christopher J. Madsen <chris_madsen@geocities.com> that
378    should help getting the u32align test program to compile with
379    Visual C++ 5 on Windows NT.
380
381    Got rid of references to PL_na.
382
383
384
385 1999-01-31   Gisle Aas <gisle@aas.no>
386
387    Release 2.02
388
389    Added a hints file as workaround for an IRIX compiler bug.
390    Contributed by D Roland Walker <walker@ncbi.nlm.nih.gov>.
391
392    Note that the rfc2202 test can still fail on some DEC Alpha,
393    because of a compiler bug that affects the perl 'x' operator.
394    The Digest:: modules should work and be safe to install anyway.
395
396
397
398 1998-12-18   Gisle Aas <aas@sn.no>
399
400    Release 2.01
401
402    Some casts and tweaks to make picky compilers more happy.
403
404
405
406 1998-11-04   Gisle Aas <aas@sn.no>
407
408    Release 2.00.
409
410    Taken out Digest::SHA1 as this module will be provided from Uwe
411    Hollerbach later.
412
413    Some tweaks to MD2.xs and MD5.xs since "na" disappeared in
414    perl5.005_53
415
416
417
418 1998-10-30   Gisle Aas <aas@sn.no>
419
420    Release 1.99_60
421
422    The 1.99_59 release introduced compilation problems for big-endian
423    systems with free U32 alignment.  Bug reported, and fix suggested
424    by Paul J. Schinder <schinder@pobox.com>.
425
426
427
428 1998-10-28   Gisle Aas <aas@sn.no>
429
430    Release 1.99_59
431
432    Makefile.PL will run a test program to find out if U32 values can
433    be aligned anywhere.  This hopefully cures the core dumps reported
434    on Solaris and other big endian systems.  Thanks to Graham Barr for
435    debugging this.
436
437
438
439 1998-10-28   Gisle Aas <aas@sn.no>
440
441    Release 1.99_58
442
443    Should be very close to a 2.00 release now.  Need some success
444    reports from people running on big-endian machines first I think.
445
446    Added a Digest::MD2 implementation.
447
448    Wrote Digest.pm documentation.  This define the interface that all
449    Digest:: modules should provide.
450
451    Avoided some code duplication in MD5.xs
452
453    Fixed typo, that prevented Digest::SHA1::sha1_base64() from working.
454
455
456
457 1998-10-27   Gisle Aas <aas@sn.no>
458
459    Release 1.99_57
460
461    Rewritten most of the MD5 C code to make it real fast (especially
462    on little-endian machines without alignment restrictions for U32).
463    Compared to MD5-1.7 we can process files 4 times as fast and we
464    digest small stuff in memory 7 times faster.  I came to these
465    conclusions after these tests (gcc -O2, i586, Linux):
466
467    First tested calculation of the digest of a 31 MB file, using
468    perl -le 'print Digest::MD5->new->addfile(*STDIN)->hexdigest'
469    and similar stuff:
470
471       MD5-1.7:                 21.06s
472       Digest::MD5-1.99_57:      5.23s
473       md5sum (GNU textutils):   4.90s
474
475    As you can see, we do nearly as good as the md5sum program.  I
476    think the reason we don't beat md5sum is that perl always insist on
477    loading extra modules like Config.pm, Carp.pm, strict.pm, vars.pm,
478    AutoLoader.pm and DynaLoader.pm.  When I simply wrapped the MD5.xs
479    hasher code in a C program I managed to process the file in 4.68s.
480
481    Then we calculated the digest of the same 6 byte sting, 20000
482    times:
483
484       MD5-1.7:                 11.81s
485       Digest::MD5-1.99_57:      1.68s
486
487    Digest::MD5 benefit from making this into a plain procedure call
488    instead of a static method call.
489
490
491    Other changes in this release are:
492
493    Documentation update
494
495    Internal MD5.xs cleanup.
496
497    $md5->digest will automatically reset now.
498
499    Digest::HMAC methods add() and addfile() did not return the
500    correct object.
501
502    Added Digest.pm loading module.  I am not sure this is a good idea.
503
504    Added Digest::SHA1 and Digest::HMAC_SHA1 module.  The Digest::SHA1
505    module is just a wrapper around SHA.pm.  I hope to get the author
506    of SHA.pm to move his module to the Digest:: category.
507
508
509
510 1998-10-25   Gisle Aas <aas@sn.no>
511
512    Release 1.99_56
513
514    Fix memcpy_byteswap() function in MD5.xs.  Must be careful with
515    htovl() as it might evaluate its arguments more than once.
516
517
518
519 1998-10-25   Gisle Aas <aas@sn.no>
520
521    Release 1.99_55
522
523    Grahams HMAC_MD5.pm splitted into two modules.  Digest::HMAC and
524    Digest::HMAC_MD5.  Also provide functional interface.  Documentation
525    is still lacking.
526
527    Included RFC 2202 based test for HMAC-MD5.
528
529
530
531 1998-10-24   Gisle Aas <aas@sn.no>
532
533    Release 1.99_54
534
535    Included HMAC_MD5.pm, contributed by Graham Barr <gbarr@ti.com>.
536
537    I have a hard time to make up my mind :-)  md5_bin() renamed back
538    to md5().   Functions are not exported by default any more.
539
540    Try to Encode/Decode with memcpy_byteswap for 32-bit big-endian
541    machines.
542
543
544
545 1998-10-23   Gisle Aas <aas@sn.no>
546
547    Release 1.99_53
548
549    Renamed core module as Digest::MD5.  Leave a MD5.pm stub for
550    legacy code.
551
552    The md5() function renamed as md5_bin().
553
554    The constructor, Digest::MD5->new, no longer takes any extra
555    arguments.
556
557    Added some new tests.
558
559    Updated the documentation.
560
561    $md5->b64digest implemented with same base64 encoder as md5_base64.
562
563
564
565 1998-10-23   Gisle Aas <aas@sn.no>
566
567    Release 1.99_52
568
569    Patch from Graham Barr which make it work for big-endian machines
570    again.
571
572
573
574 1998-10-22   Gisle Aas <aas@sn.no>
575
576    Release 1.99_51
577
578    The MD5 class is now subclassable.
579
580    The add() and addfile() methods now return $self.
581
582    The reset() method is just an alias for new().
583
584    The constructor (MD5->new) now takes optional arguments which are
585    automatically added.  It means that we can now write:
586
587       MD5->new($data)->hexdigest;
588
589    New $md5->b64digest method.
590
591    New functions that are exported on request: md5, md5_hex, md5_base64
592
593    Included RFC 1321
594
595    Barely started to update the documentation.
596
597
598
599 1998-10-22   Gisle Aas <aas@sn.no>
600
601    Release 1.99_50
602
603    Much better performance (more than twice as fast now).  Mostly
604    because we use Copy/Zero instead of the original MD5_memcpy and
605    MD5_memset functions.
606
607    The addfile() and hexdigest() methods are now XS implemented.
608
609    All RSA functions now included in MD5.xs and made static.
610
611    Use perl's Copy/Zero.
612
613    Random cleanup, simplifications and reformatting.
614    Merged things better with the perl configuration.
615
616
617
618 Neil Winton's versions below:
619
620
621 *** 96/06/20 Version 1.7
622
623 MD5 is now completely 64-bit clean (I hope). The basic MD5 code uses
624 32-bit quantities and requires a typedef UINT4 to be defined in
625 global.h. Perl configuration data (the value of BYTEORDER) is used to
626 determine if unsigned longs have 4 or 8 bytes. On 64-bit platforms (eg
627 DEC Alpha) then it assumes that "unsigned int" will be a 32-bit type.
628 If this is incorrect then adding -DUINT4_IS_LONG to the DEFINES line in
629 Makefile.PL will override this.
630
631 On some machines (at least Cray that I know of) there is no 32-bit
632 integer type. In this case defining TRUNCATE_UINT4 (which is done
633 automatically for a Cray) will ensure that 64-bit values are masked
634 down to 32 bits. I have done my best to test this but without easy
635 access to a true 64-bit machine I can not totally guarantee it (unless
636 anyone wants to lend me a spare Cray :-)
637
638 There is one remaining limitation for 64-bit enabled processors. The
639 amount of data passed to any single call to the underlying MD5
640 routines is limited to (2^32 - 1) bytes -- that's 4 gigabytes. I'm
641 sorry if that's a real problem for you ...
642
643 And finally, a minor compilation warning (unsigned char * used with
644 function having char * prototype) has also been eliminated.
645
646 *** 96/04/09 Version 1.6
647
648 Re-generated module framework using h2xs to pick up the latest module
649 conventions for versions etc. You can now say "use MD5 1.6;" and things
650 should work correctly. MD5.pod has been integrated into MD5.pm and
651 CHANGES renamed to Changes. There is a fairly comprehensive test.pl
652 which can be invoked via "make test". There are no functional changes
653 to the MD5 routines themselves.
654
655 *** 96/03/14 Version 1.5.3
656
657 Fixed addfile method to accept type-glob references for the file-handle
658 (eg \*STDOUT). This is more consistent with other routines and is now the
659 recommended way of passing file-handles. The documentation now gives more
660 examples as to how the routines might be used.
661
662 *** 96/03/12 Version 1.5.2
663
664 Minor fixes from Christopher J Madsen <madsen@computek.net> to provide
665 support for building on OS/2 (and to work around a perl -w bug).
666
667 Remove warning about possible difference between add('foo', 'bar') and
668 add('foobar'). This is not true (it may have been true in the earliest
669 version of the module but is no longer the case).
670
671 *** 96/03/08 Version 1.5.1
672
673 Add CHANGES file to make it easier for people to figure out what has
674 been going on. (Meant to do this as part of 1.5)
675
676 *** 96/03/05 Version 1.5
677
678 Add hash() and hexhash() methods at the suggestion/request of Gary
679 Howland <gary@kampai.euronet.nl> before inclusion in a wider library
680 of cryptography modules.
681
682 *** 96/02/27 Version 1.4
683
684 Finally fixed the pesky Solaris dynamic loading bug. All kudos to Ken
685 Pizzini <kenp@spry.com>!
686
687 *** 95/11/29 Version 1.3.1
688
689 Add explanations of current known problems.
690
691 *** 95/06/02 Version 1.3
692
693 Fix problems with scope resolution in addfile() reported by
694 Jean-Claude Giese <Jean-Claude.Giese@loria.fr>. Basically ARGV is
695 always implicitly in package main while other filehandles aren't.
696  
697 *** 95/05/23 Version 1.2.1
698
699 [Changes pre 1.2.1 not recorded]