The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Revision history for Perl extension Digest::SHA.

4.0.8 Thu Dec 18 23:32:00 MST 2003
	- inherits from Digest::base if installed
		-- also checks for MIME::Base64 
		-- still fully-functional if neither are installed
	- added buffer overflow protection in underlying C code
		-- ref. shahex() and shabase64() routines
		-- prior code appeared impossible to exploit, but ...
			-- better safe than sorry
		-- does not impact runtime efficiency
	- minor code cleanup

4.0.7 Sat Dec 13 00:48:24 MST 2003
	- check for undefined SHA handle when calling "shaclose()"
		-- was causing cleanup err during global destruction

4.0.6 Thu Dec 11 02:18:00 MST 2003
	- more optimization and streamlining
		-- a bit faster on non-big-endians (e.g. Intel)
	- rewrote time-critical functions and methods in XS
	- removed unused C functions from source files

4.0.5 Sat Dec  6 00:02:24 MST 2003
	- performance optimizations
		-- rewrote "add" method in XS
		-- unrolled loops in sha256 transform

4.0.4 Thu Dec  4 00:07:00 MST 2003
	- made Digest::SHA into a self-contained module
		-- no longer depends on Digest::base
		-- more convenient for users
			-- no need to install Digest:: module

4.0.3 Wed Dec  3 00:01:20 MST 2003
	- Digest::SHA now a subclass of Digest::base
		-- inherits hexdigest/b64digest/addfile methods
	- added "hashsize" method
	- removed old "shaopen()/shawrite()/..." legacy code
		-- in favor of standard, streamlined OO interface
	- renamed test vector files from NIST
		-- prevents problems on 8+3 filesystems
	- added test for Dave Ireland's SHA-256 vector

4.0.0 Sat Nov 29 21:14:09 MST 2003
	- major streamlining of interface (hence, major version change)
		-- coordinated with Gisle Aas and J. Duque
			-- goal is to produce a single SHA module
		-- adheres to OO and functional styles of Digest::
		-- greatly reduces the number of interface functions
		-- old functions still supported
			-- use Digest::SHA ':legacy'
			-- will be deprecated in near future
	- rewrote all test scripts to match new interface
		-- very easy to modify all 281 tests
		-- old interface maps cleanly to new one

3.0   Wed Nov 26 05:02:34 MST 2003
	- added functions that conform to Digest:: interface
		-- both functional and OO styles
			-- byte-oriented data only
		-- continue to support original interface as well
			-- necessary for bit-oriented data
	- supplied formal test vectors for HMAC-SHA-256
		-- from draft-ietf-ipsec-ciph-sha-256-01.txt
	- included tests for all OO methods

2.4   Sat Nov 22 17:10:22 MST 2003
	- code cleanup
		-- "sha.c" now completely free of #ifdef's
	- modularized all 64-bit (long long) code
	- improved readability of header files
	- simplified logic of "fixdump" utility

2.3   Wed Nov 19 03:54:31 MST 2003
	- minor optimizations and code cleanup
		-- improved maintainability by reducing #ifdef's
		-- sha1 transform code now easier to follow
	- streamlined shadump/shaload file format
		-- eliminated special "HQ" entry
		-- state now held in "H" for all transforms
		-- supplied "fixdump" utility to convert old format
	- SHA-384/512 functions now return NULL for no 64-bit operations
		-- previously they were undefined
		-- no longer necessary to use eval's to test for presence

2.2   Sun Nov 16 01:54:00 MST 2003
	- optimized the performance of the SHA-1 transform
		-- around 20-30% faster than previous version
		-- achieved by loop unrolling and assignment consolidation
	- enhanced shaload/shadump to allow interaction with stdin/stdout
		-- "$filename" argument now optional

2.1   Sun Nov  9 03:28:04 MST 2003
	- simplified data input routines
		-- length argument now optional for byte data
			(special thanks to Jeffrey Friedl for this idea)
		-- interface still compatible with earlier versions
			-- changes will not affect existing client code
	- streamlined underlying C code for easier maintenance
	- provided additional tests for persistent data

2.0   Sat Nov  1 03:55:36 MST 2003
	- added functions for HMAC-SHA-1/256/384/512 (FIPS PUB 198)
	- shadump/shaload files now compatible between 32/64-bit machines

1.01  Sat Oct 25 02:44:55 MST 2003
	- package now downloads and installs much faster
	- reduced distribution size by 80%
		-- pruned extensive NIST vectors to a useful subset
		-- still possible to test all vectors if desired
			--- see "t/nist/COPYRIGHT" file for details
	- added routines to provide persistent storage of SHA states
		-- shadump() and shaload()
	- reduced runtime of large bitstring tests (gillogly-hard)
		-- illustrates usefulness of shadump()/shaload()

1.0   Sat Oct 18 17:35:07 MST 2003
	- documentation fixes
	- code cleanup: no more compiler warnings from gcc -Wall
	- added code to allow reading of intermediate digest state
		-- shahex() prior to shafinish() returns current state

0.9   Thu Oct  9 20:43:54 MST 2003
	- version updated to reflect portability check and passing
		of all tests (1401)

0.01  Wed Oct  8 22:28:05 2003
	- original version; created by h2xs 1.22 with options
		-x -A -n Digest::SHA sha.h