Revision history for BSON
v1.12.2 2020-08-13 10:56:21-04:00 America/New_York
[!!! END OF LIFE NOTICE !!!]
- As of August 13, 2020, the BSON library has reached end of life
and is no longer supported by MongoDB.
v1.12.1 2019-08-13 08:17:13-04:00 America/New_York
[!!! END OF LIFE NOTICE !!!]
- Version v1.12.0 is the final feature release of the MongoDB BSON
library. The library is now in a 12-month "sunset" period and will
receive security patches and critical bug fixes only. The BSON
library will be end-of-life and unsupported on August 13, 2020.
v1.12.0 2019-07-12 12:06:36-04:00 America/New_York
[Added]
- Added BSON::Array as a wrapper for edge cases in the MongoDB driver
where an array reference could be misinterpreted as a top-level document
container.
v1.10.2 2018-12-07 12:26:15-05:00 America/New_York
[Bugs fixed]
- PERL-1045 Fixed module name typo in fork-protection code.
v1.10.1 2018-11-30 00:33:12-05:00 America/New_York
[Bugs fixed]
- PERL-1043 Max depth limits miscounted BSON::Raw, triggering
exceptions when there shouldn't be one.
v1.10.0 2018-11-29 11:10:19-05:00 America/New_York
[Bugs fixed]
- PERL-1009 BSON 1.8.1 fails on bleadperl with -Duselongdouble
[Changed]
- PERL-606 Improve BSON error messages
- PERL-1010 BSON::Raw add get_first_key method
- PERL-740 Limit BSON encoding/decoding to max depth limits
- PERL-975 Implement ObjectID spec
[Testing]
- PERL-737 Test encoding of dual vars and PVMG types
v1.8.1 2018-10-01 16:28:47-04:00 America/New_York
[Bugs fixed]
- PERL-1000 Fixed ExtJSON conversions on 32-bit perls
v1.8.0 2018-09-12 20:57:40-04:00 America/New_York
[*** Deprecations ***]
- Deprecated the 'inflate_extjson' method in favor of the new
'extjson_to_perl' method.
[Added]
- PERL-747 Added support for Extended JSON v2
[Testing]
- PERL-738 Added regression tests for Perl->BSON edge cases
v1.6.7 2018-07-10 09:58:56-04:00 America/New_York
[Testing]
- PERL-954 Prevent deprecation warnings from use of deprecated MongoDB
v2.0.0 classes in test code.
- PERL-957 Remove tests for MongoDB::BSON::_EncodedDoc (legacy type)
v1.6.6 2018-06-23 13:36:09-04:00 America/New_York
[Bugs fixed]
- PERL-943 Better handling of BSON::Timestamp comparison to undef
v1.6.5 2018-06-19 16:19:26-06:00 America/Denver
[Bugs fixed]
- PERL-941 Fix BSON::Time epoch conversion on perl w/o 64-bit ints
v1.6.4 2018-06-13 10:01:32-04:00 America/New_York
[Documentation]
- Clarified BSON type mapping table and BSON::Time SYNOPSIS
v1.6.3 2018-05-25 13:53:32-04:00 America/New_York
[Bugs]
- PERL-911 Implement 'bool' overloading for BSON::String to avoid
the fallback implementation relying on numification and giving
warnings.
v1.6.2 2018-05-24 12:43:06-04:00 America/New_York
[Bugs]
- [PERL-641] Fix back-compatible BSON::Timestamp constructor
so that MongoDB::Timestamp can be an empty subclass of it.
v1.6.1 2018-05-17 13:41:11-04:00 America/New_York
[Bugs]
- [PERL-893] Fix 'prefer_numeric' handling of dual-vars to apply
the heuristic only when no numeric form already exists.
- [PERL-896] The 'epoch' method on BSON::Time was truncating to
integers; it's now a floating point value as documented.
- [PERL-896] Fixed PID generation within OIDs
v1.6.0 2018-05-15 09:41:21-04:00 America/New_York
[Bugs]
- [PERL-739] Validate Uint32 range on BSON::Timestamp components
[New Feature]
- [PERL-593] Add comparison overloading to BSON::OID
- [PERL-688] Add create_oid class method
- [PERL-868] Add comparison overloading to BSON::Timestamp
v1.4.0 2017-03-16 18:00:04-04:00 America/New_York
[!!! Incompatible Changes !!!]
- Minimum Perl version bumped up to v5.10.1 for byte-order modifiers
for pack and unpack.
[Bugs]
- [PERL-694] - Tests fail on x86 (32-bit) without use64bitint perl
[New Feature]
- [PERL-751] - Support big-endian architectures
v1.2.2 2016-10-27 17:51:52-04:00 America/New_York
[Changed]
- Removed Module::Runtime prerequisite and improved error messages
when no backends were loaded.
[Testing]
- Add testing for BSON::Regex flag ordering
v1.2.1 2016-10-24 20:56:51-04:00 America/New_York
[Fixed]
- Detects (and throws error) during encoding for non-container types
- Fix BSON::Time for 32-bit Perls
[Changed]
- Switch to BSON::XS for optimized OID generation if available
- Always stringify plain scalars as a last resort in encoding
[Testing]
- Add test module to reset environment and hide XS
v1.2.0 2016-08-17 15:51:50-04:00 America/New_York
[Added]
- Added dt_type support for Mango::BSON::Time
- Added 'from_epoch' constructor method to BSON::OID
[Documentation]
- Credited Sebastian Riedel for inspiration regarding helper functions
- Hash::Ordered is not yet supported
v1.0.0 2016-07-06 12:39:38-04:00 America/New_York
[!!! 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 (but Decimal128 is still considered
'experimental' and subject to change).
- 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.
- Skip threads tests before 5.8.5 because of problems with
weak references during global destruction.
- Require newer Path::Tiny with full-featured "basename" method.
[Prereqs]
- Bump boolean prereq to 0.45 to avoid conflicts between some versions
of JSON::XS and older boolean.pm releases that had read-only
singletons.
- Bump Moo prereq to 2.002004 to work around core sub shadowing
bug in generated constructor.
[~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.
v0.999.5 2016-06-29 11:31:51-04:00 America/New_York (TRIAL RELEASE)
v0.999.4 2016-06-27 23:19:56-04:00 America/New_York (TRIAL RELEASE)
v0.999.3 2016-06-23 00:44:37-04:00 America/New_York (TRIAL RELEASE)
v0.999.2 2016-06-13 16:02:54-04:00 America/New_York (TRIAL RELEASE)
v0.999.1 2016-06-08 16:03:23-04:00 America/New_York (TRIAL RELEASE)
v0.999.0 2016-06-01 18:27:43-04:00 America/New_York (TRIAL RELEASE)
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.