Releases: mongodb/js-bson
v4.6.2
The MongoDB Node.js team is pleased to announce version 4.6.2 of the bson package!
Release Highlights
This release includes a few fixes to the ObjectId class, including performance improvements in ObjectId.equals
.
Bug Fixes
- MONGOSH-1155: update error message in ObjectId class (#493) (67fbc7c)
- NODE-3015: ObjectId.equals should use Buffer.equals for better performance (#478) (8305bdf)
- NODE-3962: correct type for ObjectiId._bsontype (#480) (9671773)
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/main/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.6.1
The MongoDB Node.js team is pleased to announce version 4.6.1 of the bson package!
Release Highlights
This release includes a few fixes to the validation checks in some of our constructors.
Bug Fixes
- NODE-3760: ObjectId.isValid string and byte length match (#475) (187d1c4)
- NODE-3815: update Decimal128 constructor validation (#476) (95e8293)
- NODE-3821: nullish check before using toBSON override function (#477) (1d898b6)
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.6.0
The MongoDB Node.js team is pleased to announce version 4.6.0 of the bson
package!
Release Highlights
This release adds a new BSON validation option that allows top-level keys to have utf-8 validation disabled or enabled, either on a global or key-specific scale, rather than defaulting to automatic utf-8 validation across all keys. Additionally, it includes a bug fix which allows BSONError and BSONTypeError to be checked with instanceof
checks.
Features
Bug Fixes
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.5.4
The MongoDB Node.js team is pleased to announce version 4.5.4 of the bson package!
Release Highlights
This release notably includes a fix to the ObjectId
constructor ensuring correct handling of invalid input.
Bug Fixes
- NODE-3640: Fix Int32 constructor to coerce its argument to int32 (#466) (d388f1e)
- NODE-3662: error checking to make sure that ObjectId results in object with correct properties (#467) (5f99b1b)
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.5.3
The MongoDB Node.js team is pleased to announce version 4.5.3 of the bson package!
Release Highlights
This release includes a few minor changes for spec compliance, primarily around validation, as detailed below:
Bug Fixes
- NODE-3493: code and symbol tests are partially testing the wrong types (#459) (80d7f03)
- NODE-3534: add subtype 0x6 and 0x7 constants on Binary class (#461) (52cfe9c)
- NODE-3629: correct corpus runner and add null checks (#464) (d75102d)
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.5.2
The MongoDB Node.js team is pleased to announce version 4.5.2 of the bson package!
Release Highlights
Some APIs were marked internal that should've been public. We've also add toString methods to our Int32
and Double
classes that wrap Javascript's Number.toString()
method.
Additionally a bug in Decimal128 was corrected where the representation string was wrongly used to find the significant digits. This impacted negative numbers of pattern -0.00XX
.
Bug Fixes
- NODE-3021: fix numbers of pattern
-0.00XX
(#458) (824939a)- Thanks to @tzhuan for contributing this!
- NODE-3582: fix internal marked APIs, add toString methods to Int32 and Double (#457) (b46ab5f)
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.5.1
The MongoDB Node.js team is pleased to announce version 4.5.1 of the bson
module!
In react native environments there was an issue where the bundler attempted to import the Node.js polyfill for 'util'
.
We no longer depend on the package.
Bug Fixes
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.5.0
The MongoDB Node.js team is pleased to announce version 4.5.0 of the bson
module!
Release Highlights
The Timestamp
constructor can now be called with a more convenient object parameter: new Timestamp({ t: number, i: number })
; the existing new Timestamp(increment, timestamp)
option has been deprecated.
Furthermore, this minor version significantly improves deserialization performance for buffer inputs and corrects an issue with our ESM bundles resulting from a reference to global
which does not exist in web environments.
Features
Bug Fixes
- NODE-3451: fix performance regression from v1 (#451) (2330ab1)
- NODE-3520: global not defined in esm bundles (#452) (cb82a80)
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.4.1
The MongoDB Node.js team is pleased to announce version 4.4.1 of the bson package!
Release Highlights
This patch addresses the bugs listed below. Most notably our EJSON API now correctly stringifies Infinity
and NaN
doubles in relaxed mode. Relaxed mode is intended for human readable JSON while non-relaxed or canonical mode can be used for data serialization since it will preserve the original BSON type. Double check you are using the correct format for your use case.
Bug Fixes
- NODE-3247: DBRef special handling (#443) (f5d984d)
- NODE-3282: BSONRegExp options not alphabetized (#441) (18c3512)
- NODE-3376: use standard JS methods for copying Buffers (#444) (804050d)
- NODE-3390: serialize non-finite doubles correctly in EJSON (#445) (7eb7998)
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.
v4.4.0
The MongoDB Node.js team is pleased to announce version 4.4.0 of the bson module!
Release Highlights
This release of the BSON library brings some additional convenience to our Decimal128
and Long
classes.
Users can now specify the construction of these types as shown below:
const longFromBigInt = new Long(23n)
const d128FromString = new Decimal128('4.23')
Here is the new API specification:
[new] Decimal128(string)
[new] Long(string[, unsigned])
[new] Long(bigint[, unsigned])
Thanks so much to @addaleax to contributing a number of the fixes listed below! 🚀
Features
- NODE-3264: allow Decimal128(string), Long(string), Long(bigint) (#437) (392c1bc)
- NODE-3226: make circular input errors for EJSON expressive (#433) (7b351cc)
Bug Fixes
- NODE-3256: make Long inspect result evaluable (3a2eff1)
- NODE-3153: correctly deserialize
__proto__
properties (#431) (f34cabc) - NODE-3223, NODE-2963: accept Uint8Array where Buffer is accepted (#432) (4613763)
- NODE-3208: clean up instanceof usage (9b6d52a)
- NODE-3195: improve ArrayBuffer brand check in ensureBuffer (#429) (99722f6)
Documentation
- API: https://github.com/mongodb/js-bson#readme
- Changelog: https://github.com/mongodb/js-bson/blob/master/HISTORY.md#change-log
We invite you to try the bson library immediately, and report any issues to the NODE project.