Skip to content

Conversation

github-actions[bot]
Copy link

Please run the release_notes action before releasing to generate release highlights

6.0.0 (2024-11-11)

⚠ BREAKING CHANGES

  • NODE-5016: compile ts with target es2020 (#3545)
  • NODE-4522: remove callback support (#3499)
  • NODE-4817: remove legacy logger (#3518)
  • NODE-4867: adopt BSON v5 (#3490)
  • NODE-4738: remove dot notation support by default (#3520)
  • NODE-4950: remove bson-ext import (#3523)
  • NODE-4756: ok 1 with write concern failure event changes (#3525)
  • NODE-4034: make internal bulk result private (#3515)
  • NODE-4751: drop support for client encryption < 2.3.0 (#3521)
  • NODE-4684: remove collection insert, update, remove methods (#3500)
  • NODE-4924: remove mapReduce collection helper (#3511)
  • NODE-4925: remove deprecated options and types (#3513)
  • NODE-3818: remove slaveOk options (#3503)
  • NODE-3695: remove lastop and optime from bulk result (#3504)
  • NODE-3489: remove cursor close options (#3505)
  • NODE-4598: close cursor on early loop break (#3502)
  • NODE-3482: remove unref (#3494)
  • NODE-4521: remove custom promise library support (#3498)
  • NODE-4898: aws credential providers now optional peerDependency (#3497)
  • NODE-4436: update minimum supported node version (#3496)
  • NODE-4899: support only snappy 7 or later (#3491)

Features

  • NODE-1837: add zstd compression option (#3237) (1261432)
  • NODE-2993: implement maxConnecting (#3255) (c9d3816)
  • NODE-3255: add minPoolSizeCheckIntervalMS option to connection pool (#3429) (5f34ad0)
  • NODE-3445: add support for AssumeRoleWithWebIdentity in aws authentication (#3556) (e8a30b1)
  • NODE-3482: remove unref (#3494) (556812f)
  • NODE-3489: remove cursor close options (#3505) (88c03a1)
  • NODE-3517: improve index spec handling and type definitions (#3315) (0754bf9)
  • NODE-3651: add hashed index type (#3432) (f6b56a1)
  • NODE-3695: remove lastop and optime from bulk result (#3504) (8900d40)
  • NODE-3750: make maxConnecting configurable (#3261) (ee41447)
  • NODE-3818: remove slaveOk options (#3503) (2e28009)
  • NODE-3875: support recursive schema types (#3433) (26bce4a)
  • NODE-3938: Add support for pre/post images in change streams (#3250) (981465c)
  • NODE-4034: make internal bulk result private (#3515) (ebac1f5)
  • NODE-4059: ChangeStreamDocument not fully typed to specification (#3191) (8b24212)
  • NODE-4078: allow comment with estimated doc count (#3301) (bed1fe3)
  • NODE-4079: estimated document count uses count (#3244) (a752e75)
  • NODE-4081: fix and deprecate change stream resume options (#3270) (47adfb3)
  • NODE-4139: streaming protocol message changes (#3256) (4b9ad77)
  • NODE-4185: Allow opting out of disk use on cursor builder (#3230) (d216725)
  • NODE-4189: Add support for clustered collections (#3229) (79a917b)
  • NODE-4192: make MongoClient.connect optional (#3232) (a2359e4)
  • NODE-4196: add support for showExpandedEvents in change streams (#3254) (9c1782e)
  • NODE-4202: add FLE 2 behavior for create/drop collection (#3218) (6d3947b)
  • NODE-4229: bump maxWireVersion to 17 (#3265) (d13cec2)
  • NODE-4267: support nested fields in type completion for UpdateFilter (#3259) (1a9a44c)
  • NODE-4294: mark queryable encryption options beta (#3300) (4c07bbb)
  • NODE-4301: remove shared lib experimental tags (#3298) (3976783)
  • NODE-4336: deprecate old write concern options and add missing writeConcern to MongoClientOptions (#3340) (d2b6ad8)
  • NODE-4385: add cmap pool pausing functionality (#3321) (335ee55)
  • NODE-4436: update minimum supported node version (#3496) (cca5362)
  • NODE-4484: add experimental support for disambiguatedPaths in change stream documents (#3365) (846365a)
  • NODE-4503: throw original error when server attaches NoWritesPerformed label (#3441) (a7dab96)
  • NODE-4509: send 1 with hello commands (#3508) (cc8ea1d)
  • NODE-4519: deprecate promiseLibrary and PromiseProvider (#3403) (5c322b6)
  • NODE-4521: remove custom promise library support (#3498) (af36ebb)
  • NODE-4522: remove callback support (#3499) (52853ff)
  • NODE-4547: mark all callback APIs as deprecated (#3388) (a983f14)
  • NODE-4548: export ChangeStream class from top-level (#3357) (48f295a)
  • NODE-4598: close cursor on early loop break (#3502) (30c0aee)
  • NODE-4607: add exports needed by legacy client (#3396) (972f760)
  • NODE-4634: add support for bulk FindOperators.hint() (#3408) (8758890)
  • NODE-4650: handle handshake errors with SDAM (#3426) (cbe7533)
  • NODE-4681: deprecate modify result (#3459) (6a8776c)
  • NODE-4683: make ChangeStream an async iterable (#3454) (df8d9a4)
  • NODE-4684: remove collection insert, update, remove methods (#3500) (14427d1)
  • NODE-4691: interrupt in-flight operations on heartbeat failure (#3457) (e641bd4)
  • NODE-4696: add FaaS env information to client metadata (#3626) (0424080)
  • NODE-4720: Add log messages to CMAP spec (#3645) (b27f385)
  • NODE-4721: add aws-sdk as optional dependency (#3446) (b879cb5)
  • NODE-4733: deprecate result and getLastOp (#3458) (a143d3b)
  • NODE-4738: remove dot notation support by default (#3520) (26145df)
  • NODE-4751: drop support for client encryption < 2.3.0 (#3521) (3dae6da)
  • NODE-4756: ok 1 with write concern failure event changes (#3525) (fee783c)
  • NODE-4757: deprecate unused PipeOptions (#3466) (1a5e619)
  • NODE-4767: Change abstract cursor return type (#3531) (410ef30)
  • NODE-4774: deprecate cursor forEach (#3622) (8d76a71)
  • NODE-4791: deprecate duplicate bulk methods (#3623) (2839e95)
  • NODE-4795: deprecate addUser helper (#3624) (53a0aae)
  • NODE-4809: deprecate the existing logger (#3464) (1eea4f0)
  • NODE-4810: define the new Logger (#3475) (6ef11d7)
  • NODE-4814: implement remaining severity logging methods (#3629) (d7a8079)
  • NODE-4815: stringify and truncate BSON documents in log messages (#3635) (d6bd1d1)
  • NODE-4817: remove legacy logger (#3518) (28c7cdd)
  • NODE-4867: adopt BSON v5 (#3490) (b850868)
  • NODE-4877: Add support for useBigInt64 (#3519) (917668c)
  • NODE-4898: aws credential providers now optional peerDependency (#3497) (b9e4c7c)
  • NODE-4899: support only snappy 7 or later (#3491) (21db1a9)
  • NODE-4924: remove mapReduce collection helper (#3511) (10d757a)
  • NODE-4925: remove deprecated options and types (#3513) (8f8ea45)
  • NODE-4929: Add OIDC Azure workflow (#3670) (b3482f3)
  • NODE-4950: remove bson-ext import (#3523) (1470115)
  • NODE-4970: deprecate collStats collection helper (#3638) (325c4bc)
  • NODE-5004: dont create or drop ecc collections (#3660) (2264fbb)
  • NODE-5008: add zstd and kerberos to peer deps (#3691) (9561f32)
  • NODE-5016: compile ts with target es2020 (#3545) (def266a)
  • NODE-5019: add runCursorCommand API (#3655) (4da926e)
  • NODE-5034: support OIDC auth options (#3557) (20a4fec)
  • NODE-5035: enable OIDC authentication (#3577) (35879f6)
  • NODE-5036: reauthenticate OIDC and retry (#3589) (a41846d)
  • NODE-5050: support GCP automatic credential fetch for CSFLE (#3574) (722a4a6)
  • NODE-5071: support additional time series options (#3667) (ccf555d)
  • NODE-5077: automatic Azure kms credential refresh (#3599) (8e87e5c)
  • NODE-5166: bump max wire version for 7.0 (#3659) (561229b)
  • NODE-5169: Implement emergency logger (#3610) (d502eb0)
  • NODE-5188: add alternative runtime detection to client metadata (#3636) (2a26de3)
  • NODE-5189: deprecate tcp keepalive options (#3621) (cc7c75a)
  • NODE-5191: OIDC Auth Updates (#3637) (c52a4ed)
  • NODE-5207: deprecate unsupported runCommand options and add spec tests (#3643) (d6d76b4)
  • NODE-5241: add option to return modified document (#3710) (d9c2600)
  • NODE-5243: add change stream split event (#3745) (1c84f82)
  • NODE-5274: deprecate write concern options (#3752) (1f880ea)
  • NODE-5287: deprecate ssl options (#3743) (f9b5677)
  • NODE-5314: add search index helpers (#3672) (f647542)
  • NODE-5319: mark search index api public (#3741) (c015e54)
  • NODE-5399: use mongodb-js/saslprep instead of saslprep (#3818) (c0d3927)
  • NODE-5407: update bson to 5.4.0 (#3754) (6a574cf)
  • NODE-5429: deprecate the AutoEncrypter interface (#3764) (9bb0d95)
  • NODE-5465,NODE-5538: lower @aws-sdk/credential-providers version to 3.188.0 and zstd to ^1.0.0 (#3821) (39ff81d)
  • NODE-5489: update kerberos dependency (8c25d6d)
  • NODE-5564: bump bson version to ^5.5.0 (#3865) (dc110e0)
  • NODE-5815: remove oidc (#3981) (4893330)
  • NODE-5940: cache the AWS credentials provider in the MONGODB-AWS auth logic (#4000) (60bfc48)
  • NODE-5967: container and Kubernetes awareness in client metadata (#4011) (55c290a)

Bug Fixes

  • NODE-3144: pool clear event ordering and retryability tests (#3407) (bdc0d67)
  • NODE-3565: Improve error message for insertMany with partially empty array (#3221) (0ef2516)
  • NODE-3712,NODE-4546: electionId should be ordered before setVersion (#3174) (ca51fec)
  • NODE-3921: error on invalid TLS option combinations (#3405) (1a550df)
  • NODE-3986: unskip MONGODB-AWS test (#3397) (5676f81)
  • NODE-3998: metadata duplication in handshake (#3615) (6d894d6)
  • NODE-4103: respect BSON options when creating change streams (#3247) (b2798d9)
  • NODE-4108: improve return type for withTransaction() (#3236) (48e0e6e)
  • NODE-4125: change stream resumability (#3289) (aa5f97e)
  • NODE-4159,NODE-4512: remove servers with incorrect setName from topology and fix unix socket parsing (#3348) (00dcf2d)
  • NODE-4186: accept ReadPreferenceLike in TransactionOptions type (#3425) (dc62bcb)
  • NODE-4232: stream() also returns generic AsyncIterable (ed4ba58)
  • NODE-4254: allow csfle to be dynamically required (#3260) (cd6b5a0)
  • NODE-4262: make startSession work without a connection (#3286) (89ad7c3)
  • NODE-4273: pass 'comment' option through to distinct command (#3339) (753ecfe)
  • NODE-4281: ensure that the driver always uses Node.js timers (#3275) (4501a1c)
  • NODE-4413: set maxTimeMS on getMores when maxAwaitTimeMS is specified (#3319) (dcbfd6e)
  • NODE-4423: better type support for nested objects in query & update (#3328) (05e007b)
  • NODE-4425: webpack optional import of FLE issue (#3324) (5ab2b05)
  • NODE-4429: select server sync for endSessions during close (#3363) (5086ead)
  • NODE-4444: use Node.js clear timers (#3327) (c5cfe21)
  • NODE-4447: disable causal consistency in implicit sessions (#3479) (6566fb5)
  • NODE-4467: Add back support for oplogReplay option as deprecated (#3337) (6c69b7d)
  • NODE-4475: make interrupted message more specific (#3437) (5f37cb6)
  • NODE-4496: counter values incorrecly compared when instance of Long (#3342) (d29eb8c)
  • NODE-4513: type for nested objects in query & update (#3349) (ec1a68f)
  • NODE-4518: error message with invalid authMechanism is provided (#undefined) (1a16b7e)
  • NODE-4533: session support error message and unified test runner (#3355) (6a0e502)
  • NODE-4555: export BSON internally (#3367) (4ce6e4c)
  • NODE-4557: randomize servers when there are only 2 eligible servers (#3390) (ddcfa49)
  • NODE-4583: revert nested union type support (#3383) (7f94f0a)
  • NODE-4591: only set loadBalanced on handshake when explicitly set (#3386) (57e9f2d)
  • NODE-4608: prevent parallel monitor checks (#3404) (78bcfe4)
  • NODE-4609: allow mapping to falsey non-null values in cursors (#3452) (1bf6ef1)
  • NODE-4621: ipv6 address handling in HostAddress (#3410) (5eb3978)
  • NODE-4639: allow PromiseProvider to be null (#3412) (d29b3d9)
  • NODE-4647: improve error message (#3409) (0d3c02e)
  • NODE-4649: use SDAM handling for errors from min pool size population (#3424) (ef3b55d)
  • NODE-4735: fix change stream consecutive resumabilty (#3453) (89b27e9)
  • NODE-4753: remove erroneous deprecation of geoNear (#3465) (199dcaf)
  • NODE-4783: handle orphaned operation descriptions (#3463) (4c9b4d8)
  • NODE-4830: lazily import aws module (#3476) (ff375e9)
  • NODE-4831: check map value is not undefined (#3477) (9795cdb)
  • NODE-4834: ensure that MessageStream is destroyed when connections are destroyed (#3482) (8338bae)
  • NODE-4854: set timeout on write and reset on message (#3582) (4a7b5ec)
  • NODE-4977: load snappy lazily (#3726) (865e658)
  • NODE-4998: use ipv4 in socks5 tests for node 18 (#3538) (425dbe0)
  • NODE-5027: revert "ensure that MessageStream is destroyed when connections are destroyed" (#3552) (2d178d0)
  • NODE-5042: relax SRV record validation to account for a dot suffix (#3633) (ad15881)
  • NODE-5044: Write Concern 0 Must Not Affect Read Operations (#3541) (#3575) (10146a4)
  • NODE-5052: prevent cursor and changestream close logic from running more than once (#3562) (71d0d79)
  • NODE-5064: consolidate connection cleanup logic and ensure socket is always closed (#3572) (e544d88)
  • NODE-5102: listDatabases nameOnly setting is sent as NaN (#3742) (b97132e)
  • NODE-5106: prevent multiple mongo client connect()s from leaking topology (#3596) (eb836bb)
  • NODE-5126: find operations fail when passed an ObjectId as filter (#3604) (2647b61)
  • NODE-5171: allow upsertedId to be null in UpdateResult (#3631) (4b5be21)
  • NODE-5201: prevent warning when default value for deprecation option is used (#3646) (e7f6e4e)
  • NODE-5213: ChangeStream.tryNext() should return TChange type (#3649) (3b58ca1)
  • NODE-5249: remove strict flag from create collection options (#3677) (be8faaf)
  • NODE-5260: AWS Lambda metadata detection logic is too permissive (#3663) (d74d3f9)
  • NODE-5289: prevent scram auth from throwing TypeError if saslprep is not a function (#3727) (e006347)
  • NODE-5296: construct error messages for AggregateErrors in Node16+ (#3682) (e03178e)
  • NODE-5374: do not apply cursor transform in Cursor.hasNext (#3746) (0668cd8)
  • NODE-5489: set kerberos compatibility to ^1.0.0 || ^2.0.0 (#3803) (c3b35b3)
  • NODE-5495: do not emit deprecation warning when tlsCertificateKeyFile is specified and tlsCertificateFile is not (#3810) (e81d4a2)
  • NODE-5537: remove credentials from ConnectionPoolCreatedEvent options (#3813) (4cf1e96)
  • NODE-5550: set AWS region from environment variable for STSClient (#3851) (2fab06b)
  • NODE-5572: fix saslprep import (#3837) (250dc21)
  • NODE-5587: recursive calls to next cause memory leak (#3842) (f60f1b5)
  • NODE-5627: BulkWriteResult.insertedIds includes ids that were not inserted (#3870) (d766ae2)
  • NODE-5691: make findOne() close implicit session to avoid memory leak (#3889) (0d6c9cd)
  • NODE-5750: RTTPinger always sends legacy hello (#3922) (8e56872)
  • NODE-5790: type error with $addToSet in bulkWrite (#3956) (f524a94)
  • NODE-5945: make AWS session token optional (#4006) (cbaf47a)
  • NODE-6067: make topology descriptions JSON stringifiable (#4076) (7ae6eac)
  • sync showExpandedEvents spec tests (#3288) (cfe18f9)

Performance Improvements

  • NODE-4727: Improve performance of buffering and cursors (#3447) (78b2dd5)
  • NODE-5017: skip server selection for session support (#3580) (591fc64)

Reverts

  • NODE-4414: Improve reliability of SDAM heartbeat error spec tests (#3346) (417655a)

This PR was generated with Release Please. See documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants