1Revision history for Perl extension Digest::SHA3. 2 31.04 Fri Apr 20 16:25:30 MST 2018 4 - silenced compiler warnings from VS2017 5 -- ref. rt.cpan.org #124477 6 -- thanks to Sergey Aleynikov for diagnostics 7 - modified addfile to return error when given a directory name 8 -- makes behavior consistent with GNU coreutils shaXsum 9 -- thanks to Scott Baker for pointing this out 10 111.03 Mon Dec 25 00:08:10 MST 2017 12 - added "--ignore-missing" and "--strict" options to sha3sum 13 -- consistent with GNU coreutils 14 -- ref. rt.cpan.org #123897 15 161.02 Fri Dec 8 22:44:46 MST 2017 17 - added "tag" option (BSD-style checksums) to sha3sum 18 -- consistent with GNU sha1sum, sha224sum, etc. 19 -- thanks to Christopher Tubbs for suggestion 20 - modified SHA3.pm to use XSLoader 21 -- falls back to DynaLoader if necessary 22 231.01 Sun Oct 22 16:04:22 MST 2017 24 - added optional $lsb argument for add_bits() method 25 -- many public vectors in least-significant-bit format 26 -- using $lsb flag results in simpler test code 27 - further minor optimizations in add_bits() and tests 28 291.00 Sat Oct 14 18:08:10 MST 2017 30 - promoted to major release version 1.0 31 -- module stable enough not to be considered draft 32 - fixed alignment issue in BITS mode of addfile 33 -- surfaced only for large non-aligned inputs 34 350.27 Wed Oct 4 00:40:04 MST 2017 36 - removed "portable" mode from sha3sum and addfile 37 -- rarely used, mostly in outdated systems 38 -- potentially confusing features (e.g. \r\r\n -> \n) 39 -- Universal Newlines mode (-U) a much cleaner approach 40 -- mimics Universal Newlines in Python 41 - sha3sum now depends explicitly on Digest::SHA3 42 -- eliminates runtime loading of modules 43 -- no future plans to write Digest::SHA3::PurePerl 44 450.26 Wed Sep 6 02:23:08 MST 2017 46 - added 'quiet' option to sha3sum 47 -- thanks to Chris David for suggestion and initial patch 48 -- ref. rt.cpan.org #122750 49 - expanded sha3sum --help message 50 -- to explain use of escaped FILE names 51 520.25 Wed Jul 27 20:04:40 MST 2016 53 - prevented sha3sum from possibly running malicious code 54 -- remove '.' from @INC before module loading 55 -- ref. rt.cpan.org #116513 56 - namespace cleanup (ref. rt.cpan.org #105371 and #105372) 57 - minor code and documentation tweaks 58 590.24 Sat Jan 10 00:45:34 MST 2015 60 - simplified shabits() routine (bitwise input buffering) 61 -- slightly less efficient but easier to understand 62 - minor documentation tweaks and additions 63 640.23 Sun Jan 4 05:36:30 MST 2015 65 - updated to reflect Draft FIPS 202 66 -- append domain separation bits to message 67 -- implement SHAKE128 and SHAKE256 Extendable-Output 68 Functions (XOFs) 69 700.22 Sun Jun 1 00:15:46 MST 2014 71 - fixed reserved-word clash when compiling with C++ 72 -- use 'classname' instead of 'class' 73 -- ref. SHA3.xs (rt.cpan.org #96090) 74 750.21 Fri May 16 10:21:46 MST 2014 76 - restored original 'addfile' for use on opened file handles 77 -- allows callbacks in place of actual files 78 -- ref. IO::Callback (rt.cpan.org #95643) 79 - re-established inheritance from Digest::base 80 -- to pick up future Digest enhancements automatically 81 - cleaned up documentation 82 830.20 Wed May 7 07:57:10 MST 2014 84 - consolidated all dynamic memory allocation into XSUBs 85 -- streamlines referencing of SHA3 objects 86 -- simplifies DESTROYing of objects 87 - enhanced Makefile.PL to allow 'use warnings' 88 -- automatically reverts to $^W for early Perls 89 - scrubbed C and Perl code to remove all compiler warnings 90 910.12 Sat Apr 19 05:14:50 MST 2014 92 - added universal newlines mode ("U") to addfile and sha3sum 93 -- based on Python Universal Newlines concept 94 -- newlines identical across MacOS, DOS, and UNIX 95 -- will deprecate portable mode ("p") in future 96 -- "U" mode is cleaner and more efficient 97 - enhanced performance 98 -- reduced number of dynamic memory allocations 99 -- sped up addfile method with use of C code 100 -- ref. SHA3.xs (_addfilebin and _addfileuniv) 101 - changed text file test (-T) to act on filehandles 102 -- improves consistency when reading from STDIN 103 -- still must act on filenames for early Perls (< 5.6) 104 - sealed memory leak in SHA3.xs 105 -- arose only with SvPVbyte exceptions during eval 106 - patched inheritence bug (ref: rt.cpan.org #94830) 107 -- use sv_isobject/sv_derived_from instead of sv_isa 108 - added 'allocated' flag to SHA3 structure (ref. src/sha3.h) 109 -- to guard against Perl double frees 110 1110.11 Mon Feb 17 16:42:04 MST 2014 112 - tightened code in SHA3.xs 113 -- added sv_isa checks when invoking methods 114 1150.10 Thu Jan 30 08:24:30 MST 2014 116 - improved the performance of hexadecimal output functions 117 -- ref. 'shahex' in src/sha3.c 118 -- thanks to Thomas Drugeon for ideas and test script 119 1200.09 Sun Jan 5 19:08:32 MST 2014 121 - added a 'squeeze' method for SHA3-0 objects 122 -- to construct SHA3-0 digests of any desired length 123 1240.08 Wed Jun 26 04:32:06 MST 2013 125 - workaround for repeated calls to shaclose 126 -- ref. Bug #86295 (posted at Digest::SHA) 127 -- need to explicitly reset internal pointer to NULL 128 ref. shaclose() in SHA3.xs 129 - corrected typos in sha3sum script 130 -- ref. Bug #85430 (posted at Digest::SHA) 131 1320.07 Sat Mar 9 17:36:14 MST 2013 133 - untweaked Makefile.PL to remove dependencies of SHA3.c 134 -- dependencies were breaking builds on VMS 135 -- retaining dependencies provides too little benefit 136 for cost of portable workaround 137 1380.06 Mon Mar 4 08:12:04 MST 2013 139 - removed code for standalone C operation (no longer used) 140 -- eliminates need for external symbols 141 -- reduces size of object files 142 -- thanks to Marc Lehmann for suggestions 143 - tweaked Makefile.PL to show dependencies of SHA3.c 144 1450.05 Thu Jan 24 04:54:14 MST 2013 146 - accommodated Unicode string input 147 -- by using SvPVbyte instead of SvPV in SHA3.xs 148 -- provided workaround for Perl 5.6 149 -- added new test script t/unicode.t 150 - provided documentation to describe Unicode handling 151 - obtained slight speedup on Intel/gcc 152 -- by setting -O1 and -fomit-frame-pointer 153 - adopted (from Digest::SHA) workaround for DEC compiler bug 154 1550.04 Sun Nov 11 19:20:06 MST 2012 156 - enhanced performance 157 -- typically 10-15% faster than 0.03 158 -- code is still easy to read and modify 159 - filled in a few documentation omissions 160 1610.03 Mon Oct 29 04:01:06 MST 2012 162 - attained a 2.5x performance increase through loop unrolling 163 -- code is still easy to follow 164 -- clearly traceable to Keccak pseudo code 165 1660.02 Thu Oct 25 19:18:58 MST 2012 167 - original version: adapted from Digest::SHA version 5.72 168