Revision history for BSON

v0.999.4  2016-06-27 23:19:56-04:00 America/New_York (TRIAL RELEASE)

    [Prereqs]

    - Bump Moo prereq to 2.002004 to work around core sub shadowing
      bug in generated constructor.  Removed workround added to BSON::DBRef
      in v0.999.3.

v0.999.3  2016-06-23 00:44:37-04:00 America/New_York (TRIAL RELEASE)

    [Bug fixes]

    - Fixed detection of Infinity/NaN during serialization of BSON::Double
      to JSON for Windows perls before 5.22.0.

    - Work around compilation ambiguities involving the core keyword 'ref'
      and the BSON::DBRef attribute 'ref' in certain versions of Moo.

    [Testing]

    - Require newer Path::Tiny with full-featured "basename" method.

v0.999.2  2016-06-13 16:02:54-04:00 America/New_York (TRIAL RELEASE)

    [Added]

    - Added full "minimum set" of overloaded operations to numeric and
      string type wrappers.

    - Added convenience functions to provide "Infinity" and "NaN" double
      values.

    [Testing]

    - Replace double test cases for better portability.

    - Skip threads tests before 5.8.5 because of problems with
      weak references during global destruction.

v0.999.1  2016-06-08 16:03:23-04:00 America/New_York (TRIAL RELEASE)

    [Testing]

    - Checks for JSON serialization of doubles with no fractional part with
      a regular expression to account for the way that different JSON
      backends will handle it.

    - Skip testing TO_JSON under JSON::PP if the value to be converted
      is false. See https://github.com/makamaka/JSON-PP/pull/23 for why.

    - Skip some BSON double tests on 32-bit perls with JSON::PP to work
      around a JSON::PP bug.

    [~Internal Changes~]

    - Disambiguates calls to 'ref' in BSON::DBRef to avoid warnings.

v0.999.0  2016-06-01 18:27:43-04:00 America/New_York (TRIAL RELEASE)

    [!!! Incompatible Changes !!!]

    - Internal representation of BSON::Bool changed to make it a subclass
      of boolean.pm for conistency with other "boolean" type classes on
      CPAN.

    - All BSON type wrapper classes are now immutable; accessors have
      been changed to read-only.

    [*** Deprecations ***]

    - BSON::Binary deprecated in favor of the new BSON::Bytes module.

    - BSON::Bool deprecated in favor of direct use of boolean.pm.

    - BSON::ObjectID deprecated in favor of the new BSON::OID module.

    - The 'ixhash' option is deprecated in favor of 'ordered' and the
      resulting tied object is no longer guaranteed to be Tie::IxHash.
      This will allow future optimization, as Tie::IxHash is extremely
      slow.

    [API]

    - BSON module is now object-oriented, with an API and options directly
      compatible with the MongoDB driver.  Options set as constructor
      attributes apply to all encoding/decoding, unless options given to methods
      override them.

    - Added a method for inflation of MongoDB's extended JSON format to
      BSON type wrapper objects.

    [BSON types]

    - Added new type wrappers to cover all BSON Types, including
      forthcoming Decimal128.

    - Rationalized/harmonized BSON type classes for compatibility with
      pre-existing MongoDB BSON classes. Classes that could not be made to
      interoperate are deprecated as listed above.

    [Bug fixes]

    - Fixed numerous encoding and decoding bugs revealed by greater test
      coverage (e.g. fixes to UTF-8 encoding/decoding).

    [Testing]

    - Significantly improved test coverage, including tests using a
      standardized BSON corpus.

    [~Internal Changes~]

    - Pure-perl implementation split into a separate module to avoid
      its load time in the future when an XS implementation becomes
      available.

    - Will prefer BSON::XS (when released) or fallback to BSON::PP;
      PERL_BSON_BACKEND environment variable will override.

0.16      2015-09-25 10:54:41-04:00 America/New_York

    [CHANGES]

    - Improved diagnostic output if integers are too big

    [BUG FIXES]

    - Improved OID counter thread-safety

    - Fix tests for perls with long doubles

    [OPTIMIZATION]

    - BSON::ObjectId generation now ~ 1.9x faster

0.13      2015-04-07 12:02:29-04:00 America/New_York (TRIAL RELEASE)

    [BUG FIXES]

    - Fix t/10-bson.t bug comparing floating point values; now using
      Test::Number::Delta for comparison

0.12      2015-04-06 16:11:59-04:00 America/New_York

    [BUG FIXES]

    - added decoding support for BSON type 0x06 (Javascript "undefined");
      treated like type 0x0A (null value) and decoded as Perl undef

    [OPTIMIZATION]

    - Inlined most functions for 10-20% performance increase measured
      on a sample of Twitter tweets.

    [META]

    - Switched repository to Dist::Zilla structure using @DAGOLDEN plugin
      bundle and associated file layout

0.11    2011-12-14
        use Math::Int64 to address the 32-bit only Perl support

0.06    2011-09-26
        Lower the required Perl version to 5.8

0.04    2011-08-04 17:30 PST
        Add BSON::String type

0.03    2011-08-02 14:00:00 PST
        Fix regex parsing for Perl<5.14
        Fix thread dependency in oid.t

0.02    2011-07-25 19:10:00 PST
        Fix spelling errors

0.01    2011-07-22 16:45:00 PST
        First version, released.

