Revision history for BSON 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.