Revision history for Bytes::Random::Secure

0.24 2012-02-12
  - 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.
