Skip to content

chore(4.x): release 4.18.0 [skip-ci] #8

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

Open
wants to merge 1 commit into
base: 4.x
Choose a base branch
from

Conversation

github-actions[bot]
Copy link

@github-actions github-actions bot commented Oct 9, 2023

Please run the release_notes action before releasing to generate release highlights

4.18.0 (2023-10-09)

Features

  • NODE-1837: add zstd compression option (#3237) (1261432)
  • NODE-2938: add service host mechanism property (#3130) (46d5821)
  • NODE-2939: add new hostname canonicalization opts (#3131) (d0390d0)
  • NODE-2992: consider server load during server selection (#3219) (35eeba3)
  • NODE-2993: implement maxConnecting (#3255) (c9d3816)
  • NODE-3083: support aggregate writes on secondaries (#3022) (f696909)
  • NODE-3255: add minPoolSizeCheckIntervalMS option to connection pool (#3429) (5f34ad0)
  • NODE-3351: use hostname canonicalization (#3122) (f5c76f3)
  • NODE-3446: deprecate mapReduce command (#3036) (b6c73bf)
  • NODE-3467: implement srvMaxHosts, srvServiceName options (#3031) (1f8b539)
  • NODE-3469,NODE-3615,NODE-3507: update min and max wire versions (#3014) (2a78d5a)
  • NODE-3517: improve index spec handling and type definitions (#3315) (0754bf9)
  • NODE-3589: support dot-notation attributes in Filter (#2972) (76fff97)
  • NODE-3633: add Socks5 support (#3041) (451627a)
  • NODE-3651: add hashed index type (#3432) (f6b56a1)
  • NODE-3691: make time series options granularity type strict (#3005) (98017f9)
  • NODE-3692: make change stream events typing more generic (#3034) (d5ae78e)
  • NODE-3697: reduce serverSession allocation (#3171) (5132bc9)
  • NODE-3699: add support for comment field (#3167) (4e2f9bf)
  • NODE-3728: Allow to pass authorizedCollections option to the db.listCollections method (#3021) (e1234a7)
  • NODE-3729: add withId to default return type for collection.find and collection.findOne (#3039) (52520aa)
  • NODE-3750: make maxConnecting configurable (#3261) (ee41447)
  • NODE-3777: add csfle kmip support (#3070) (44bbd6e)
  • NODE-3784: Add enableUtf8Validation option (9237d72)
  • NODE-3784: Add enableUtf8Validation option (#3074) (4f56409)
  • NODE-3793: Remove offensive language from code and tests (#3082) (91a67e0)
  • NODE-3866: Add let option to ReplaceOptions for replaceOne operation (#3148) (f76635a)
  • NODE-3867: deprecate cursor count and update v4 docs (#3127) (a48d7e2)
  • NODE-3875: support recursive schema types (#3433) (26bce4a)
  • NODE-3938: Add support for pre/post images in change streams (#3250) (981465c)
  • NODE-4014: Add let option to bulk write operations (#3160) (6f633d1)
  • 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-4085: add typings for csfle shared library option support (#3179) (d2897ab)
  • NODE-4136: revise FLE shared library typings for spec changes (#3206) (6e2e27f)
  • 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-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-4519: deprecate promiseLibrary and PromiseProvider (#3403) (5c322b6)
  • NODE-4547: mark all callback APIs as deprecated (#3388) (a983f14)
  • NODE-4548: export ChangeStream class from top-level (#3357) (48f295a)
  • 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-4691: interrupt in-flight operations on heartbeat failure (#3457) (e641bd4)
  • NODE-4721: add aws-sdk as optional dependency (#3446) (b879cb5)
  • NODE-4733: deprecate result and getLastOp (#3458) (a143d3b)
  • NODE-4757: deprecate unused PipeOptions (#3466) (1a5e619)
  • NODE-4809: deprecate the existing logger (#3464) (1eea4f0)
  • NODE-4810: define the new Logger (#3475) (6ef11d7)
  • NODE-4992: Deprecate methods and options that reference legacy logger (#3532) (6c94b4a)
  • NODE-5054: add AssumeRoleWithWebIdentity support to 4x driver (#3566) (8a8c386)
  • NODE-5159: add FaaS env information to client metadata (#3639) (e0b20f1)
  • NODE-5199: add alternative runtime detection to client metadata (#3647) (fba16ad)
  • NODE-5272: do not create or drop ecc collections (#3678) (d26ad61)
  • NODE-5398: use mongodb-js/saslprep instead of saslprep (#3820) (5244711)

Bug Fixes

  • fix csfle imports (#3142) (541e939)
  • gridfs: make GridFSBucketWriteStream.prototype.end() return this for compat with @types/[email protected] (#3088) (7bb9e37)
  • NODE-2370: correct a return type of hasNext() (#3058) (b6a63df)
  • NODE-2899: sort and correct circular imports (#3072) (48cc729)
  • NODE-3116: reschedule unreliable async interval first (#3006) (33886a7)
  • NODE-3144: pool clear event ordering and retryability tests (#3407) (bdc0d67)
  • NODE-3344: allow setting defaultTransactionOptions with POJO rather than ReadConcern instance (#3032) (53b3164)
  • NODE-3434: errInfo should be exposed on bulk write (#2977) (6b3c161)
  • NODE-3515: do proper opTime merging in bulk results (#3012) (43300c3)
  • NODE-3521: update session support checks (#3151) (aaa453d)
  • NODE-3559: incorrect GridFS stream type (#2981) (3915ea8)
  • NODE-3565: Improve error message for insertMany with partially empty array (#3221) (0ef2516)
  • NODE-3585: MongoClientOptions#compressors has incorrect type (#2976) (f1b896d)
  • NODE-3591: tlsCertificateKeyFile option does not default cert (#2979) (6d42267)
  • NODE-3599: incorrect indexes return type (#2980) (122b9f3)
  • NODE-3609: correct listDatabases return type (#2986) (a8e9938)
  • NODE-3621: fixed type of documentKey property on ChangeStreamDocument (#3118) (c63a21b)
  • NODE-3624: Incorrect default aggregation generic type (#2987) (440517e)
  • NODE-3627: Enable flexible BSON validation for server error key containing invalid utf-8 (#3054) (7a507f0)
  • NODE-3648: run get more ops through server selection (#3030) (268e211)
  • NODE-3668: compile error with OptionalId on TS 4.5 beta (#3004) (ee7f095)
  • NODE-3675: SRV option bug correctly defaults authSource to $external (#3079) (30f2a2d)
  • NODE-3688: make handshake errors retryable (#3165) (3f8765a)
  • NODE-3705: ReadPreference.fromOptions omitting hedge and maxStalenessSeconds when readPreference is a string (#3060) (b9fbac5)
  • NODE-3711: retry txn end on retryable write (#3045) (7b00d0f)
  • NODE-3712,NODE-4546: electionId should be ordered before setVersion (#3174) (ca51fec)
  • NODE-3726: add optional option overloads of Db's createCollection function (#3019) (c3149e1)
  • NODE-3727: add overloads for BulkOperationBase's execute function (#3018) (216d194)
  • NODE-3765: make replacement for replaceOne operations without _id (#3040) (e07e564)
  • NODE-3767: don't delete dbName if authSource is provided (#3055) (0a830e2)
  • NODE-3769: retryable writes are not compliant with specification (#3144) (ff26b12)
  • NODE-3770: Filter type uses WithId on the schema (#3053) (307d623)
  • NODE-3792: remove offensive language throughout the codebase (#3091) (8e2b0cc)
  • NODE-3795: unexpected No auth provider for DEFAULT defined error (#3092) (fb38a56)
  • NODE-3803: Fix _id typing on collection create operations (#3077) (f1979db)
  • NODE-3810: delay timeout errors by one event loop tick (#3180) (0ed7cbf)
  • NODE-3813: unexpected type conversion of read preference tags (#3138) (3e7b894)
  • NODE-3833: return early on end if gridfs upload stream is already ended (#3223) (c27e844)
  • NODE-3852,NODE-3854,NODE-3856: Misc typescript fixes for 4.3.1 (#3102) (dd5195a)
  • NODE-3878: use legacy count operation on collection.count (#3126) (12c6835)
  • NODE-3917: Throw an error when directConnection is set with multiple hosts (#3143) (b192493)
  • NODE-3921: error on invalid TLS option combinations (#3405) (1a550df)
  • NODE-3928: don't throw error in Response constructor (#3199) (441fc63)
  • NODE-3948: Add error code to MongoSystemError (#3149) (446da95)
  • NODE-3986: unskip MONGODB-AWS test (#3397) (5676f81)
  • NODE-4031: options parsing for array options (#3193) (4b2e3d1)
  • NODE-4069: remove 'default' from options for fullDocument field in change stream options (#3169) (799689e)
  • NODE-4074: ensure getTopology doesn't throw synchronously (#3172) (329f081)
  • 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-4129: constrain watch type parameter to extend ChangeStream type parameter (#3183) (43ba9fc)
  • NODE-4133: array field NestedPaths return type (#3184) (c46c984)
  • NODE-4156: remove comment from commands pre-4.4 (#3195) (4e6dccd)
  • 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-4188: default localThresholdMS to 15ms (#3207) (5e730ff)
  • NODE-4208: add aws http request timeout handler (#3225) (829d7be)
  • 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-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-4999: Write Concern 0 Must Not Affect Read Operations (#3541) (ddfc2b9)
  • NODE-5026: revert "ensure that MessageStream is destroyed when connections are destroyed" (#3551) (c4da623)
  • NODE-5097: set timeout on write and reset on message (#3590) (2d3576b)
  • NODE-5161: metadata duplication in handshake (#3628) (b790142)
  • NODE-5200: relax SRV record validation to account for a dot suffix (#3640) (4272c43)
  • NODE-5262: AWS Lambda metadata detection logic is too permissive (#3683) (c0c3d99)
  • NODE-5311: construct error messages for AggregateErrors in Node16+ (#3683) (98b7bdf)
  • NODE-5316: prevent parallel topology creation in MongoClient.connect (#3696) (e13038d)
  • NODE-5356: prevent scram auth from throwing TypeError if saslprep is not a function (#3732) (2d028af)
  • NODE-5536: remove credentials from ConnectionPoolCreatedEvent options (#3812) (2910dca)
  • NODE-5573: fix saslprep import (#3838) (ff6c293)
  • stricter protocol check in connection string (#3078) (bc05671)
  • sync showExpandedEvents spec tests (#3288) (cfe18f9)

Performance Improvements

  • NODE-4727: Improve performance of buffering and cursors (#3447) (78b2dd5)

Reverts

  • NODE-3784: Add enableUtf8Validation option" (#3073) (3c041f4)
  • 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