-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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 6.6.0 [skip-ci] #4037
Merged
nbbeeken
merged 1 commit into
main
from
release-please--branches--main--components--mongodb
May 3, 2024
Merged
chore(main): release 6.6.0 [skip-ci] #4037
nbbeeken
merged 1 commit into
main
from
release-please--branches--main--components--mongodb
May 3, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
github-actions
bot
force-pushed
the
release-please--branches--main--components--mongodb
branch
7 times, most recently
from
March 20, 2024 20:56
c4b4028
to
7523924
Compare
github-actions
bot
force-pushed
the
release-please--branches--main--components--mongodb
branch
5 times, most recently
from
March 27, 2024 14:42
5b6702c
to
f458331
Compare
github-actions
bot
force-pushed
the
release-please--branches--main--components--mongodb
branch
7 times, most recently
from
April 8, 2024 16:20
9db07cf
to
801b901
Compare
github-actions
bot
force-pushed
the
release-please--branches--main--components--mongodb
branch
7 times, most recently
from
April 16, 2024 13:03
c53b07b
to
27afde0
Compare
github-actions
bot
force-pushed
the
release-please--branches--main--components--mongodb
branch
3 times, most recently
from
April 18, 2024 15:12
94e3eb5
to
5f7a8c7
Compare
github-actions
bot
force-pushed
the
release-please--branches--main--components--mongodb
branch
5 times, most recently
from
April 25, 2024 15:17
51bf9f6
to
284498c
Compare
run release_notes |
github-actions
bot
force-pushed
the
release-please--branches--main--components--mongodb
branch
from
May 1, 2024 20:39
284498c
to
8771b58
Compare
run release_notes |
github-actions
bot
force-pushed
the
release-please--branches--main--components--mongodb
branch
from
May 2, 2024 19:38
8771b58
to
d32e24b
Compare
run release_notes |
baileympearson
approved these changes
May 2, 2024
aditi-khare-mongoDB
approved these changes
May 2, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🌱 A new release!
6.6.0 (2024-05-02)
The MongoDB Node.js team is pleased to announce version 6.6.0 of the
mongodb
package!Release Notes
Aggregation pipelines can now add stages manually
When creating an aggregation pipeline cursor, a new generic method
addStage()
has been added in the fluid API for users to add aggregation pipeline stages in a general manner.Thank you @prenaissance for contributing this feature!
cause and package name included for
MongoMissingDependencyErrors
MongoMissingDependencyError
s now include acause
and adependencyName
field, which can be used to programmatically determine which package is missing and why the driver failed to load it.For example:
ServerDescription
Round Trip Time (RTT) measurement changes(1)
ServerDescription.roundTripTime
is now a moving averagePreviously,
ServerDescription.roundTripTime
was calculated as a weighted average of the most recently observed heartbeat duration and the previous duration. This update changes this behaviour to averageServerDescription.roundTripTime
over the last 10 observed heartbeats. This should reduce the likelihood that the selected server changes as a result of momentary spikes in server latency.(2) Added
minRoundTripTime
toServerDescription
A new
minRoundTripTime
property is now available on theServerDescription
class which gives the minimum RTT over the last 10 heartbeats. Note that this value will be reported as 0 when fewer than 2 samples have been observed.type
supported inSearchIndexDescription
It is now possible to specify the type of a search index when creating a search index:
Collection.findOneAndModify
'sUpdateFilter.$currentDate
no longer throws on collections with limited schemaExample:
TopologyDescription
now properly stringifies itself to JSONThe
TopologyDescription
class is exposed by the driver in server selection errors and topology monitoring events to provide insight into the driver's current representation of the server's topology and to aid in debugging. However, the TopologyDescription usesMap
s internally, which get serialized to{}
when JSON stringified. We recommend using Node'sutil.inspect()
helper to print topology descriptions becauseinspect
properly handles all JS types and all types we use in the driver. However, if JSON must be used, theTopologyDescription
now provides a customtoJSON()
hook:Omit
readConcern
andwriteConcern
inCollection.listSearchIndexes
options argumentImportant
readConcern
andwriteConcern
are no longer viable keys in the options argument passed intoCollection.listSearchIndexes
This type change is a correctness fix.
Collection.listSearchIndexes
is an Atlas specific method, and Atlas' search indexes do not supportreadConcern
andwriteConcern
options. The types for this function now reflect this functionality.Don't throw error when non-read operation in a transaction has a
ReadPreferenceMode
other than'primary'
The following error will now only be thrown when a user provides a
ReadPreferenceMode
other thanprimary
and then tries to perform a command that involves a read:Prior to this change, the Node Driver would incorrectly throw this error even when the operation does not perform a read.
Note: a
RunCommandOperation
is treated as a read operation for this error.TopologyDescription.error
type isMongoError
Important
The
TopologyDescription.error
property type is nowMongoError
rather thanMongoServerError
.This type change is a correctness fix.
Before this change, the following errors that were not instances of
MongoServerError
were already passed intoTopologyDescription.error
at runtime:MongoNetworkError
(excludingMongoNetworkRuntimeError
)MongoError
with aMongoErrorLabel.HandshakeError
labelindexExists()
no longer supports thefull
optionThe
Collection.indexExists()
helper supported an option,full
, that modified the internals of the method. Whenfull
was set totrue
, the driver would always returnfalse
, regardless of whether or not the index exists.The
full
option is intended to modify the return type of index enumeration APIs (Collection.indexes()
andCollection.indexInformation()
, but since the return type ofCollection.indexExists()
this option does not make sense for theCollection.indexExists()
helper.We have removed support for this option.
indexExists()
,indexes()
andindexInformation()
support cursor options in TypescriptThese APIs have supported cursor options at runtime since the 4.x version of the driver, but our Typescript has incorrectly omitted cursor options from these APIs.
Index information helpers have accurate Typescript return types
Collection.indexInformation()
,Collection.indexes()
andDb.indexInformation()
are helpers that return index information for a given collection or database. These helpers take an option,full
, that configures whether the return value contains full index descriptions or a compact summary:However, the Typescript return type of these helpers was always
Document
. Thanks to @prenaissance, these helpers now have accurate type information! The helpers return a new type,IndexDescriptionCompact | IndexDescriptionInfo[]
, which accurately reflects the return type of these helpers. The helpers also support type narrowing by providing a boolean literal as an option to the API:AWS credentials with expirations no longer throw when using on-demand AWS KMS credentials
In addition to letting users provide KMS credentials manually, client-side encryption supports fetching AWS KMS credentials on-demand using the AWS SDK. However, AWS credential mechanisms that returned access keys with expiration timestamps caused the driver to throw an error.
The driver will no longer throw an error when receiving an expiration token from the AWS SDK.
ClusterTime
interfacesignature
optionalityThe
ClusterTime
interface incorrectly reported thesignature
field as required, the server may omit it, so the typescript has been updated to reflect reality.Summary
Features
timeoutMS
anddefaultTimeoutMS
(#4068) (ddd1e81)cause
and package name for allMongoMissingDependencyError
s (#4067) (62ea94b)minRoundTripTime
toServerDescription
and changeroundTripTime
to a moving average (#4059) (0e3d6ea)type
option in create search index helpers (#4060) (3598c23)bson
to ^6.5.0 (#4035) (8ab2055)bson
to ^6.7.0 (#4099) (7f191cf)Bug Fixes
Collection.findOneAndModify
UpdateFilter.$currentDate
(#4047) (a8670a7)ReadPreferenceMode
other thanprimary
(#4075) (39fc198)v
tocreateIndexes
command whenversion
is specified (#4043) (1879a04)TopologyDescription.error
type toMongoError
(#4028) (30432e8)full
is set totrue
(#4034) (0ebc1ac)libmongocrypt
after fetching AWS KMS credentials (#4057) (c604e74)ClusterTime.signature
can be undefined (#4069) (ce55ca9)Performance Improvements
setTimeout
callback (#4094) (6abc074)Documentation
We invite you to try the
mongodb
library immediately, and report any issues to the NODE project.