Revision history for Bytes::Random::Secure 0.28 2013-11-21 - Removed silly micro-optimization that was responsible for generating a warning in Perl versions prior to 5.18. 0.27 2013-10-06 - Merged pull request from David Steinbrunner: specifying meta-spec so metadata can be seen/used. - Fixed t/05-kwalitee.t to work with latest revisions on Test::Kwalitee. 0.26 2012-06-22 - Improved a test comment in t/27....t. Removed a comment paragraph that isn't relevant now that the timing has been removed. - POD edits. - POD spelling corrections (closes RT#86326). - Add "FORK AND THREAD SAFETY section to CAVIATS. 0.25 2012-02-23 - Removed the speed test / fall-back from t/27-fips140-1.t; it's unnecessary, and could cause divide by zero errors on really fast systems. 0.24 2012-02-22 - Added a small explanation of Test::Warn optional dependency to the DEPENDENCIES section of the POD. Most of the explanation is in the INSTALLATION section. - Added t/27-fips140-1.t: Code taken directly from Dana Jacobsen's Crypt::Random::TESHA2 module's test suite. This test implements the FIPS 140-1 tests. See http://csrc.nist.gov/publications/fips/fips1401.htm - Removed "slow" tests from t/20-functions.t: The FIPS-140 tests are superior and make the older slow tests unnecessary. 0.23 2012-02-11 - Clarified the (small) magnitude of the performance issues surrounding random_string_from() (MODULO BIAS section of POD). (DANAJ's suggestion.) - Added a test for _closest_divisor(). - Added a POD section discussing ISAAC's strengths. - Increased SEED_MAX bits from 512 (arbitrary) to 8192 (theoretical max for ISAAC). Added explanation to POD, and adjusted tests. - Minor corrections in # code comments (accuracy). - Added irand() object method per Dana Jacobsen's request and code contribution. - POD and tests for irand(). - Test::Warn is now an optional dependency. By ensuring that Test::Warn is installed, the module has 100% test coverage (per Devel::Cover). 0.22 2013-01-29 - Implement suggestions from Dana Jacobsen (Unicode tests, specify minimum versions for dependencies, document installation on older Perls). - POD correction -- Removed reference to config_seed. - POD: Added INSTALLATION section to address issues with older Perls. - POD: Clarified "CAVEATS" with discussion of Unicode support in pre-5.8.9. - Added t/23-string_from_unicode.t to test Unicode on Perl 5.8.9+. - Added a Unicode example to examples/random_from.pl. - Set a CONFIGURE_REQUIRES to pull in a recent ExtUtils::MakeMaker. - Set minimum versions on some Core modules from which we're using newer features, or which behaved badly in old 5.6.x-contemporary versions. 0.21 2013-01-24 - All functions and methods will now throw an exception if the byte-count parameter is passed something that doesn't look like an integer >= 0. - examples/*.pl updated to demonstrate new features. - Remove silly check for "bag" strings longer than 2**32. - Eliminate a line of unreachable code from _closest_divisor(). - Test coverage is now 100%. 0.20 2013-01-24 - This is a major release. Much thanks to Dana Jacobson for his ideas, suggestions, code reviews, and for writing Crypt::Random::Seed. - Major refactoring / rewrite. - Built an OO base layer over which the functions interface is a thin wrapper. - OO interface exposed publically. - Documented all functions. (POD) - removed config_seed() (never publically released). - Seed defaults for both interfaces are 256 bits. - Major enhancements to test suite. (Coverage is 99.3%) - ALL OF THE FOLLOWING CHANGES ARE FROM (UNRELEASED) 0.13: - * Compatible with Perl 5.6. - * Dropped Crypt::Random::Source dependency in favor of Crypt::Random::Seed. - * Seeding is lazy. - * Minimum seed size: 2-longs (64 bits). Maximum, 16 longs (512 bits). - * Documented how to configure seeding. 0.13 2013-01-15 (Never released) - POD clarification, enhancement. - Improved backwards compatibility support for Perl v5.6.x. - Eliminated Crypt::Random::Source dependency in favor of Crypt::Random::Seed; Thanks to Dana Jacobsen for creating that light-weight and powerful tool. - Added some seed tests. - Made Test::Pod::Coverage a 'RELEASE_TESTING' only test. - Made seeding and RNG-instantiation "lazy" so that "use Bytes::Random::Secure;" only drains system entropy if random bytes are actually requested. (Thanks again to Dana Jacobsen for the idea). - Modified _seed() to pass seed configuration through to Crypt::Random::Seed's constructor. - Added a config_seed() class method to facilitate configuration of the Crypt::Random::Seed object used in seeding the ISAAC algorithm. - Minimum seed size set to 2-longs, max to 16-longs (default). - Documented how to configure the seeding, and explained why it might be useful to do so (drain less system entropy). - Added META.* tests. 0.12 2012-12-09 - Applied rewrite of random_bytes() from Dana Jacobsen, that improves performance while at the same time making better use of the 32 bit random value returned by ISAAC. - POD fixes/tweaks. 0.11 2012-12-05 - Fixed a few issues where v0.10 broke compatibility with Perls older than v5.10. (Removed // operator.) - POD improvements. - Added a few entries in MANIFEST.SKIP. 0.10 2012-12-04 - Better handling of random_bytes() (no parameter passed): Now defaults to zero bytes explicitly, so we don't get "uninitialized values" warnings. - Added random_string_from($bag,$length) function. - Added tests for no param list, as well as for new random_string_from() function and its support functions. - POD enhancements. - Removed bytes pragma; it wasn't necessary, and prevented support for unicode code points in random_string_from()'s bag. 0.09 2012-11-02 - "Changes" is now CPAN::Changes::Spec compliant. - Added t/09-changes.t to verify spec compliance. 0.08 2012-10-28 - Added an example in the ./examples/ directory. - Added a minimum Perl version to the distribution metadata. 0.07 2012-09-23 - Refined t/20-functionality.t's approach toward verifying bytes seem well behaved. - Corrected a couple of POD problems. - Note: Under Moose the test suite generates a few warnings. Not sure what the best solution will be (they're harmless but annoying). 0.06 2012-09-21 - Fixed the optionality of t/21-bytes_random_tests.t. - Documented the install process in README. 0.05 2012-09-20 - POD revisions: Better details on dependencies, minimizing bloat, and Win32-specific requirements. - 21-bytes_random_tests.t is now optional, because Statistics::Basic will fail to install in some environments due to a problem in one of its dependencies (Number::Format). 0.04 2012-09-19 - Added t/21-bytes_random_tests.t, which is an adaptation of the test suite for the Bytes::Random module. - Added a BUILD_REQUIRES dependency to accommodate the Bytes::Random tests. 0.03 2012-09-18 - POD enhancements, explaining the dependency chain, and how to minimize the Any::Moose impact by ensuring Mouse is installed. - Removed syntax that was only valid for newer versions of Perl. We should be 5.6.x compatible now. - Placed the random number factory in a closure, making it only accessable by the accessor random_bytes(). - Added some tests for seed generation since we took that functionality away from Math::Random::Secure when we removed it from our list of dependencies in v0.02. - Added a Win32 test to Makefile.PL so that a Windows-only dependency will be included if necessary. 0.02 2012-09-17 - Removed Math::Random::Secure dependency. - Added Math::Random::ISAAC and Crypt::Random::Source dependencies (they were already dependencies of Math::Random::Secure, so we're actually a little lighter-weight now). - POD enhancements: Explain Math::Random::ISAAC::XS plugin, explain dependency chain, and explain why it gets a whole lot worse under Windows. 0.01 2012-09-06 - Initial CPAN release.