Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(main): release 7.0.0 [skip-ci] #687

Closed

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented May 7, 2024

Please run the release_notes action before releasing to generate release highlights

7.0.0 (2024-05-07)

⚠ BREAKING CHANGES

Features

Bug Fixes

  • 4.x-1.x interop (incl. ObjectID _bsontype) (f4b16d9)
  • accept Uint8Array where Buffer is accepted (#432) (4613763)
  • adds interfaces for EJSON objects (7f5f1a3)
  • backwards compatibility with older BSON package versions (#411) (5167be2)
  • binary: add type checking for buffer (cbfb25d)
  • browser: fixing browser property in package.json (095fba9)
  • bson: normalizedFunctionString handles named functions (6b49c23)
  • buffer: don't use deprecated Buffer constructors (7bb9c57)
  • Buffer: import buffer for binary, decimal128, and fnv1a (6be7b8d)
  • buffer: replace deprecated Buffer constructor (5acdebf)
  • clean up instanceof usage (9b6d52a)
  • Correct API Extractor config to omit definition file from dist (#407) (ace8647)
  • coverage (992e2e0)
  • dbPointer: fix utf8 bug for dbPointer (018c769)
  • dbref: only upgrade objects with allowed $keys to DBRefs (98eb9e2)
  • decimal128: add basic guard against REDOS attacks (511ecc4)
  • Decimal128: update toString and fromString methods to correctly handle the case of too many significant digits (25ed43e)
  • deprecate cacheFunctionsCrc32 (ea83bf5)
  • deserialize: fix deserialization of 0xFFFD (c682ae3), closes #277
  • deserializer: corrected the check for (size + index) comparision to buffer.length (6dadd4b)
  • deserializeStream: allow multiple documents to be deserialized (6fc5984), closes #244
  • Downlevel type definitions (#410) (203402f)
  • ejson-serialize: prevent double serialization for nested documents (ab790c9)
  • ejson: enable serialization of legacy ObjectID (ba98ccb)
  • ejson: support array for replacer parameter in EJSON.stringify (9f43809)
  • ext-json: deserialize doubles as Number in relaxed mode (a767fa1)
  • improve ArrayBuffer brand check in ensureBuffer (#429) (99722f6)
  • improve EJSON generation for previously skipped edge cases (30f5a8f)
  • make inspect method for ObjectId work (#412) (a585a0c)
  • make inspection result of BSON types evaluable (#416) (616665f)
  • make Long inspect result evaluable (3a2eff1)
  • make sure all functions are named consistently (6df9022)
  • MONGOSH-1155: update error message in ObjectId class (#493) (67fbc7c)
  • NODE-3015: ObjectId.equals should use Buffer.equals for better performance (#478) (8305bdf)
  • NODE-3021: fix a long standing bug in Decimal128.fromString() (#458) (824939a)
  • NODE-3153: correctly deserialize __proto__ properties (#431) (f34cabc)
  • 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)
  • NODE-3451: fix performance regression from v1 (#451) (2330ab1)
  • NODE-3493: code and symbol tests are partially testing the wrong types (#459) (80d7f03)
  • NODE-3520: global not defined in esm bundles (#452) (cb82a80)
  • NODE-3534: add subtype 0x6 and 0x7 constants on Binary class (#461) (52cfe9c)
  • NODE-3561: umd bundle fails to require util (#455) (1c15155)
  • NODE-3582: fix internal marked APIs, add toString methods to Int32 and Double (#457) (b46ab5f)
  • NODE-3629: correct corpus runner and add null checks (#464) (d75102d)
  • NODE-3630: remove float parser and test edge cases for Double (#502) (54ca603)
  • 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)
  • NODE-3724: Fix BSONTypeError and BSONError to correctly handle instanceof checks (#471) (d8f334b)
  • 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)
  • NODE-3962: correct type for ObjectiId._bsontype (#480) (9671773)
  • NODE-4211: Do not require crypto in browser builds (#500) (b32ab40)
  • NODE-4302: remove downlevel ts and typesVersions (#501) (651b60e)
  • NODE-4381: handle __proto__ well in EJSON (#506) (4bda57d)
  • NODE-4464: stringify and parse negative zero to and from $numberDouble: -0.0 (#531) (a469e91)
  • NODE-4771: serializeFunctions breaks function names outside of basic latin (#538) (35a9234)
  • NODE-4887: serializeInto does not check for the presence of a toBSON method for values in Map entries (#555) (ebc1c76)
  • NODE-4905: double precision accuracy in canonical EJSON (#548) (e0dbb17)
  • NODE-4932: remove .0 suffix from double extended json values (#554) (946866d)
  • NODE-4960: UUID validation too strict (#572) (d239cd1)
  • NODE-5025: no type definitions for es module (#563) (50e90fc)
  • NODE-5048: webpack unable to bundle import with leading 'node:' (#564) (3aed24a)
  • NODE-5056: EJSON.parse date handling when useBigInt64=true (#562) (d5088af)
  • NODE-5363: defer byte slicing to utf8 decoding API in nodejs (#585) (e087042)
  • NODE-5509: Allow undefined or null params in ObjectId.equals (#607) (e2674c6)
  • NODE-5546: decimal 128 fromString performs inexact rounding (#613) (1384cee)
  • NODE-5559: account for quotes when inspecting Code and BSONSymbol (#612) (0664840)
  • NODE-5577: improve ObjectId serialization by around 10% (#614) (81c8fa1)
  • NODE-5640: BsonVersionError improve message clarity (#629) (eb98b8c)
  • NODE-5873: objectId symbol property not defined on instances from cross cjs and mjs (#643) (4d9884d)
  • NODE-6016: flip byte order depending on system endianness (#659) (6a7ef5d)
  • NODE-6042: Binary.toString output with respect to position (#663) (d7898f9)
  • NODE-6059: clean up experimental APIs (#665) (3289184)
  • NODE-6102: Double.fromString prohibiting '+' character and prohibiting exponential notation (#674) (c58d1e2)
  • NODE-6123: utf8 validation is insufficiently strict (#676) (ae8bac7)
  • NODE-6144: Long.fromString incorrectly coerces valid inputs to Long.ZERO in special cases (#677) (208f7e8)
  • object-id: correct serialization of old ObjectID types (8d57a8c)
  • object-id: harden the duck-typing (4b800ae)
  • objectid: if pid is 1, use random value (e188ae6)
  • ObjectID: ObjectId.isValid should check buffer length (06af813)
  • ObjectId: will now throw if an invalid character is passed (6f30b4e)
  • only upgrade symbol to string if promoteValues is true (067a7ba)
  • package: browser section needs to point to correct index (08337e3)
  • parse value of Int32 in constructor (5cda40f)
  • permit BSON types to be created without new (#424) (d2bc284)
  • random-bytes: fallback to insecure path if require is null (963b12b)
  • random-bytes: wrap crypto require in try/catch for fallback (47fd5f7)
  • readme: clarify documentation about deserialize methods (e311056)
  • Reduce floating point precision required of extended json implementations (#369) (5e35d1a)
  • regexp: properly construct new BSONRegExp when constructor called without new (#242) (93ae799)
  • remove stringify overloads (2df6b42)
  • remove tslib usage and fix Long method alias (#415) (2d9a8e6)
  • revert: Reverting v3.0.1 (efb0720)
  • Rework rollup config to output named and default exports (#404) (a48676b)
  • rollup: fixup dist and bundle in Buffer (3620ef8)
  • serialization: normalize function stringification (21eb0b0)
  • serializer: do not use checkKeys for $clusterTime (cbb4724)
  • serializer: ensure RegExp options are alphabetically sorted (d60659d)
  • serializer: map insert expects only string keys (aba3a18)
  • serializeWithBufferAndIndex: write documents to start of intermediate buffer (b4e4ac5)
  • spelling in deserializer errors (4c6f2e4)
  • support Number object in Int32 and Double constructors (fe3f0dc)
  • Throw on BigInt type values (#397) (2dd54e5)
  • timestamp: getTimestamp support times beyond 2038 (a0820d5)
  • Timestamp: make sure timestamp is always unsigned (36b2d43)
  • type issues with SerializeOptions and Long methods accepting Timestamp (c18ba71)

Performance Improvements

Code Refactoring

  • symbol: rename Symbol to BSONSymbol (5d5b3d2)

This PR was generated with Release Please. See documentation.

@nbbeeken nbbeeken closed this May 7, 2024
@nbbeeken nbbeeken deleted the release-please--branches--main--components--bson branch May 7, 2024 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant