v6.3.0
6.3.0 (2023-11-15)
The MongoDB Node.js team is pleased to announce version 6.3.0 of the mongodb
package!
Release Notes
New client option serverMonitoringMode
For users that want to control the behaviour of the monitoring connection between each node in the topology, a new option, serverMonitoringMode
, has been added. This defaults to auto
but can be forced into a specific mode by providing a value of poll
or stream
. When the setting is auto
the monitoring mode will be determined by the environment the driver is running in, specifically, FaaS environments prefer "polling" mode and all others prefer "streaming".
A polling monitor periodically issues a hello
command to the node at an interval of heartbeatFrequencyMS
. A streaming monitor sends an initial hello
and then will automatically get a response from the Node when a change in server configuration occurs or at a maximum time of heartbeatFrequencyMS
. The value of that option defaults to 10000 milliseconds.
This new option can be provided in the connection string or as an option to the MongoClient
.
// In the connection string.
new MongoClient('mongodb://127.0.0.1:27017/?serverMonitoringMode=stream');
// In the options
new MongoClient('mongodb://127.0.0.1:27017/', { serverMonitoringMode: 'stream' });
Fix connection leak when serverApi
is enabled
When enabling serverApi
the driver's RTT measurement logic (used to determine the closest node) still sent the legacy hello command "isMaster" causing the server to return an error. Unfortunately, the error handling logic did not correctly destroy the socket which would cause a leak.
Both sending the correct hello command and the error handling connection clean-up logic are fixed in this change.
GridFS fields deprecated
The GridFS contentType
and aliases
options are deprecated. According to the GridFS spec, applications wishing to store contentType
and aliases
should add a corresponding field to the metadata
document instead.
Remove deprecation warning about punycode
The mongodb-connection-string-url
package which parses connection strings relied on Node's punycode module, the package now imports the community package removing the deprecation warning on Node.js 20+.
Features
- NODE-3881: require hello command + OP_MSG when 'loadBalanced=True' (#3907) (fd58eec)
- NODE-5197: add server monitoring mode (#3899) (ae4c94a)
- NODE-5590: deprecate GridFS fields (#3905) (d2225da)
Bug Fixes
- NODE-4863: do not use RetryableWriteError for non-server errors (#3914) (08c9fb4)
- NODE-5709: bump mongodb-connection-string-url to 3.0.0 (#3909) (1c3dc02)
- NODE-5749: RTTPinger always sends legacy hello (#3921) (ebbfb8a)
Documentation
We invite you to try the mongodb
library immediately and report any issues to the NODE project.