The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl module Digest::SHA::PurePerl.

6.04  Sat Feb 25 12:00:50 PM MST 2023
	- no substantive changes over previous version

6.03  Mon 08 Aug 2022 11:30:32 AM MST
	- corrected addfile to report error when stdin is a directory
		-- ref. rt.cpan.org #143899
		-- thanks to Gregor Herrmann for pointing this out

6.02  Fri Apr 20 16:25:30 MST 2018
	- modified addfile to return error when given a directory name
		-- makes behavior consistent with GNU coreutils shaXsum
		-- thanks to Scott Baker for pointing this out

6.01  Mon Dec 25 00:08:08 MST 2017
	- added "--ignore-missing" and "--strict" options to shasumpp
		-- consistent with GNU coreutils
		-- ref. rt.cpan.org #123897

6.00  Fri Dec  8 22:44:44 MST 2017
	- added "tag" option (BSD-style checksums) to shasumpp
		-- consistent with GNU sha1sum, sha224sum, etc.
		-- thanks to Christopher Tubbs for suggestion
	- decoupled Digest::SHA::PurePerl and Digest::SHA
		-- scripts/tests in each module now fully independent
		-- Digest::SHA::PurePerl to be phased out eventually
			-- past versions will remain available

5.98  Wed Oct  4 00:40:02 MST 2017
	- Digest::SHA::PurePerl now has its own shasum
		-- renamed to shasumpp
		-- depends explicitly on Digest::SHA::PurePerl
		-- no longer makes use of Digest::SHA if present
			-- hence no need for -R option
	- removed "portable" mode from shasumpp and addfile
		-- rarely used, mostly in outdated systems
		-- potentially confusing features (e.g. \r\r\n -> \n)
		-- Universal Newlines mode (-U) a much cleaner approach
			-- mimics Universal Newlines in Python

5.97  Wed Sep  6 02:23:02 MST 2017
	- added 'quiet' option to shasum
		-- thanks to Chris David for suggestion and initial patch
		-- ref. rt.cpan.org #122750
	- expanded shasum --help message
		-- to explain use of escaped FILE names

5.96  Wed Jul 27 20:04:34 MST 2016
	- prevented shasum from possibly running malicious code
		-- remove '.' from @INC before module loading
		-- ref. rt.cpan.org #116513
	- namespace cleanup (ref. rt.cpan.org #105371 and #105372)

5.95  Sat Jan 10 12:15:36 MST 2015
	- supplied a bit-ordering test (ref. t/bitorder.t)
		-- to mimic Digest::SHA distribution

5.94  Sat Jan 10 00:45:28 MST 2015
	- changes only to Digest::SHA for version 5.94

5.93  Sun Oct 26 06:00:48 MST 2014
	- provided workaround in t/methods.t for unreliable -T test
		-- Some Perl 5.8's mistake text for binary

5.92  Sun Jun  1 00:15:44 MST 2014
	- changes only to Digest::SHA for version 5.92

5.91  Fri May 16 10:21:44 MST 2014
	- re-established inheritance from Digest::base
		-- to pick up future Digest enhancements automatically
	- cleaned up documentation

5.90  Wed May  7 07:57:08 MST 2014
	- enhanced Makefile.PL to allow 'use warnings'
		-- automatically reverts to $^W for early Perls
	- scrubbed Perl code to remove all compiler warnings

5.89  Sat Apr 19 05:14:48 MST 2014
	- added universal newlines mode ("U") to addfile and shasum
		-- based on Python Universal Newlines concept
			-- newlines identical across MacOS, DOS, and UNIX
		-- will deprecate portable mode ("p") in future
			-- "U" mode is cleaner and more efficient
	- eliminated experimental -M option in favor of new -R option
		-- reverses the order of digest module preference
		-- undocumented: for test and development use only

5.88  Mon Mar 17 08:46:10 MST 2014
	- changed text file test (-T) to act on filehandles
		-- ref. addfile portable mode
		-- improves consistency when reading from STDIN
		-- still must act on filenames for early Perls (< 5.6)
	- added -M and -V options to shasum
		-- undocumented: for development and testing use only

5.87  Mon Feb 17 16:42:02 MST 2014
	- simplified capture of intermediate SHA states
		-- can now be done via strings (ref. getstate/putstate)

5.86  Thu Jan 30 08:24:28 MST 2014
	- changes only to Digest::SHA for version 5.86

5.85  Wed Jun 26 04:05:26 MST 2013
	- corrected typos in shasum script
		-- ref. Bug #85430 (posted at Digest::SHA)

5.84  Sat Mar  9 17:36:08 MST 2013
	- changes only to Digest::SHA for version 5.84

5.83  Mon Mar  4 08:12:00 MST 2013
	- trimmed "Wide character" error messages on Perl 5.8+
		-- too much unhelpful info from utf8::downgrade
		-- error messages now identical on Perl 5.6+

5.82  Thu Jan 24 04:54:12 MST 2013
	- added code to emulate utf8::downgrade for Perl 5.6
		-- module behavior now consistent under all Perls 5.6+
			-- ref: new test script t/unicode.t
		-- SHA routines now always croak on wide chars (5.6+)
	- provided documentation to describe Unicode handling
		-- ref: Bug #82378
	- updated documentation of NIST statement on SHA-1

5.81  Mon Jan 14 05:17:08 MST 2013
	- harmonized with Digest::SHA (Bug #54490: unicode problems)
		-- perform utf8::downgrade for Perl 5.8+
			-- croak on wide character inputs
		-- thanks to Victor Efimov for suggestions

5.80  Mon Dec 10 14:15:26 MST 2012
	- changes only to Digest::SHA for version 5.80

5.74  Sat Nov 24 03:10:18 MST 2012
	- changes only to Digest::SHA for version 5.74

5.73  Wed Oct 31 04:32:44 MST 2012
	- changes only to Digest::SHA for version 5.73

5.72  Mon Sep 24 15:22:08 MST 2012
	- changes only to Digest::SHA for version 5.72

5.71  Wed Feb 29 04:06:10 MST 2012
	- prevented $! from getting clobbered in _bail() routine
		-- thanks to Zefram for patch
	- added example of BITS mode usage to shasum documentation

5.70  Wed Dec 14 02:32:10 MST 2011
	- added BITS mode to addfile method and shasum
		-- partial-byte inputs now possible via files/STDIN
		-- allows shasum to check all 8074 NIST Msg vectors
			-- previously required special programming

5.63  Tue Nov  8 02:36:42 MST 2011
	- added code to allow very large data inputs all at once
		-- previously limited to several hundred MB at a time
		-- many thanks to Thomas Drugeon for his elegant patch
	- removed outdated reference URLs from several test scripts
		-- these URLs aren't essential, and often go stale
		-- thanks to Leon Brocard for spotting this
			-- ref. rt.cpan.org #68740

5.62  Sat May 14 04:00:34 MST 2011
	- removed unnecessary loading of MIME::Base64 module
		-- thanks to dolmen for pointing this out

5.61  Wed Mar  9 05:26:36 MST 2011
	- modified dump/load methods to match behavior of Digest::SHA
		-- in the case of I/O to STDIN/STDOUT
	- addressed minor documentation oversights

5.60  Thu Mar  3 05:26:42 MST 2011
	- added new SHA-512/224 and SHA-512/256 transforms
		-- ref. NIST Draft FIPS 180-4 (February 2011)
	- simplified shasum by removing duplicative text
	- improved efficiency of Addfile
		-- expensive -T test now occurs only in portable mode

5.50  Tue Dec 14 06:20:08 MST 2010
	- adopted convention that '-' always means STDIN
		-- actual filename '-' accessed as './-'
		-- accords with behavior of sha1sum/md5sum
	- corrected undefined subroutine oversight in shasum
		-- inadvertent migration of _bail() from PurePerl.pm

5.49  Sun Dec 12 07:22:04 MST 2010
	- modified Addfile to accept all POSIX filenames
		-- standard allows all characters except NUL and '/'
	- updated shasum to more closely mimic sha1sum/md5sum
		-- added "backslash processing" to handle newlines
			and backslashes in filenames
		-- now accepts all POSIX filenames via Addfile
		-- thanks to Sean Burke for identifying edge cases

5.48  Mon Jan  4 16:32:52 MST 2010
	- fixed "shasum -a0" option (ref. rt.cpan.org #53319)
		-- incorrectly accepted 0 as a valid algorithm
			-- thanks to Zefram for patch
	- updated URL for NIST test vectors
		-- ref. files t/nistbit.t, t/nistbyte.t
			-- thanks to Leon Brocard for patch

5.47  Wed Apr 30 04:00:54 MST 2008
	- moved .pm file to appropriate lib directory
	- minor addition to META.yml

5.46  Wed Apr  9 05:04:00 MST 2008
	- modified _Addfile to recognize leading and trailing
		whitespace in filenames (ref. rt.cpan.org #34690)
	- previous version commandeered the warnings flag ($^W)
		-- this version disables warnings only when
			compiling 64-bit constants

5.45  Tue Jun 26 02:36:00 MST 2007
	- extended portability to earlier Perls
		-- works on Perl 5.003 and later
		-- thanks to Jim Doble for testing on legacy platforms
	- updated META.yml to conform to current META spec (1.3)
	- minor documentation fixes

5.44  Sat Oct 14 00:42:44 MST 2006
	- removed SIGNATURE file from distribution
		-- spurious errors from CPANPLUS can break build

5.43  Sat Aug  5 02:36:18 MST 2006
	- undid Perl Best Practice of favoring 3-argument "open"
		-- 3-arg version uses different semantics for "-"
			causing bugs in addfile/shadump/shaload/shasum

5.42  Mon Jul 24 04:04:40 MST 2006
	- minor code changes suggested by Perl::Critic
		-- e.g. no bareword filehandles, no 2-argument open's
	- updated public key (ref. B538C51C)
		-- previous one (0AF563FE) expired July 2, 2006
	- added documentation to warn that Base64 digests are NOT padded
		-- padding must be done by user if interoperability
			with other software is required

5.41  Sat Jun  3 01:50:46 MST 2006
	- corrected addfile
		-- process $file argument as a filehandle unless passed
			as a SCALAR (which indicates a file name)

5.40  Fri Jun  2 04:00:30 MST 2006
	- modified addfile to accept indirect filehandles
		-- ref. rt.cpan.org #19627 and #19641

5.39  Sun May 28 03:22:24 MST 2006
	- modified shasum to warn rather than die for file errors
		-- to follow conventions of GNU sha1sum/md5sum

5.38  Thu May 25 02:02:02 MST 2006
	- added new capabilities to the "addfile" method
		-- now able to accept file names as well as handles
		-- includes mode for portable digest calculation
			-- thanks to Adam Kennedy for emails and ideas
				ref. File::LocalizeNewlines
	- used expanded addfile interface to simplify shasum (sumfile)
		-- regex a tad less general than 5.37, but handles all
			known newline variants in UNIX/Windows/MacOS
	- enhanced WARNING messages from shasum checkfile processing
		-- to mimic behavior of md5sum

5.37  Mon May  8 04:30:09 MST 2006
	- modified shasum to avoid file slurping (ref. sub sumfile)
	- improved error handling of checksum files in shasum
		-- to better mimic the behavior of md5sum
	- refined line-break regex in shasum (ref. sub sumfile)
		-- catches multiple CR's preceding LF
			thanks to Gisle Aas for suggested patch

5.36  Mon May  8 01:38:36 MST 2006
	- fixed the "portable" option in shasum
		-- normalize line-breaks in text files only

5.35  Thu May  4 16:54:42 MST 2006
	- added "portable" option to shasum
		-- to make digests match across Windows/Unix/MacOS
	- enabled bundling of shasum command line options
		-- to mimic behavior of md5sum
	- removed \r's from text files in t/nist directory
		-- resolves SIGNATURE clashes (rt.cpan.org #18983)
	- specified minimum Perl version for module and Makefile.PL
		-- closes rt.cpan.org #18984

5.34  Thu Feb  2 18:55:40 MST 2006
	- removed Unix-style pathnames in test scripts
		-- causing problems on OpenVMS
		-- thanks to Steve Peters for patch
	- added PERL_CORE check to test scripts
		-- allows module to be built into Perl distribution

5.32  Fri Dec  2 02:32:20 MST 2005
	- added POD section to shasum script
		-- thanks to Gunnar Wolf for patch
	- inserted code in test scripts for POD checking
		-- to recover gracefully if Test::More isn't installed

5.31  Mon Sep  5 00:52:42 MST 2005
	- added standard tests for pod and pod-coverage checking
	- inserted subtest to check for failure when using
		unrecognized SHA algorithm
	- consolidated code for SHA and HMAC-SHA functions
		-- removed 190 lines by building functions at runtime
	- harmonized _sharewind and _shaopen subs with C versions
		-- other minor code cleanups

5.30  Sat Aug 20 16:46:08 MST 2005
	- updated docs with recent NIST statement on SHA-1
		-- advises use of larger and stronger hash functions
			(i.e. SHA-224/256/384/512) for new developments

5.29  Sun Aug 14 04:48:34 MST 2005
	- updated docs with cautionary note about SHA-1

5.28  Wed Nov 10 15:33:20 MST 2004
	- provided more flexible formatting of SHA state files
		-- entries may now contain embedded whitespace
			for improved readability
	- minor code cleanups

5.27  Sun Oct 24 02:54:00 MST 2004
	- minor code cleanups
		-- reduces size of dump files for SHA-1/224/256

5.26  Thu Oct  7 14:52:00 MST 2004
	- streamlined distribution
		-- reduced NIST vector tests from 200 to 20
			-- former number was overkill
			-- distro now downloads and builds more quickly
	- rewrote SYNOPSIS sections in pod file
	- made additional tweaks to t/8-shasum.t for portability
	- cleaned up test scripts

5.25  Sun Sep 12 18:48:00 MST 2004
	- removed non-essential test script
		-- t/8-shasum.t causes problems on sparc64-linux
	- reverted to using eval "require $module" in shasum

5.24  Sun Sep 12 02:50:18 MST 2004
	- modified shasum to use barewords in "require" statements
		-- ref. perl.cpan.testers (157305)

5.23  Thu Sep  9 23:06:18 MST 2004
	- corrected bug in test script
		-- use blib when invoking perl as an external
			command in t/8-shasum.t

5.22  Tue Sep  7 19:12:40 MST 2004
	- minor changes to documentation

5.21  Mon Aug 23 04:02:00 MST 2004
	- improved test script for "shasum" (t/8-shasum.t)
		-- exercises check file option (-c)

5.20  Sun Aug 15 04:24:48 MST 2004
	- introduced "shasum" script
		-- mimics the usage and behavior of "md5sum"
		-- adds "-a" option to select SHA algorithm
		-- for help, just type "shasum -h"

5.10  Fri Aug  6 02:10:12 MST 2004
	- simplified module documentation
		-- made it consistent with Digest::SHA docs

0.06  Tue Aug  3 02:12:40 MST 2004
	- improved performance of SHA-384/512
		-- using inline eval'ed code instead of subroutines
		-- 5.7 x faster than Version 0.05
			-- on alpha-dec_osf, using Gisle's benchmark

0.05  Sun Aug  1 03:56:54 MST 2004
	- fixed HMAC-SHA-384/512 bug
		-- code was using hardwired blocksize of SHA-1/256
	- added test cases to check HMAC-SHA-384/512 behavior
		-- thanks to Adam Woodbury for vectors and script mods
	- corrected misspelling in docs
		-- apologies to Gisle Aas

0.04  Fri Jul  2 01:10:48 MST 2004
	- added support for SHA-384/512
		-- module now offers full functionality of Digest::SHA
		-- however, use of SHA-384/512 requires 64-bit integers
	- included a SIGNATURE file
		-- for stronger authentication of module contents
			-- ref. Module::Signature on CPAN

0.03  Fri Jun 25 00:06:54 MST 2004
	- portability fix
		-- dump files caused warnings on 64-bit platforms
		-- enhanced "dump-load.t" to check correct behavior
	- performance tweak for 64-bit machines
		-- eliminated upper-32-bit masking on left shifts
		-- instead, need to mask only in _digcpy and _shadump

0.02  Tue Jun 22 04:24:00 MST 2004
	- Increased speed of SHA transforms
		-- using optimization ideas from Digest::SHA package
		-- SHA-1       ~  20% faster
		-- SHA-224/256 ~ 120% faster

0.01  Thu Jun 17 00:04:00 MST 2004
	- Initial version, derived from Digest::SHA 5.01
		-- hand-translation from C to Perl