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