The MongoDB Node.js team is pleased to announce version 6.1.0 of the
In this release, we have adopted the changes made to Decimal128 in bson version 6.1.0. We have added a new
fromStringWithRounding() method which exposes the previously available inexact rounding behaviour.
See the bson v6.1.0 release notes for more information.
When using IAM AssumeRoleWithWebIdentity AWS authentication the driver uses the @aws-sdk/credential-providers package to contact the Security Token Service API for temporary credentials. AWS recommends using Regional AWS STS endpoints instead of the global endpoint to reduce latency, build-in redundancy, and increase session token validity. Unfortunately, environment variables
AWS_REGION do not directly control the region the SDK’s STS client contacts for credentials.
The driver now has added support for detecting these variables and setting the appropriate options when calling the SDK’s API: fromNodeProviderChain().
The driver will only set region options if BOTH environment variables are present.
AWS_STS_REGIONAL_ENDPOINTSMUST be set to either
AWS_REGIONmust be set.
In a previous release, 5.7.0, we refactored cursor internals from callbacks to async/await. In particular, the
next function that powers cursors was written with callbacks and would recursively call itself depending on the cursor type. For
ChangeStreams, this function would call itself if there were no new changes to return to the user. After converting that code to async/await each recursive call created a new promise that saved the current async context. This would slowly build up memory usage if no new changes came in to unwind the recursive calls.
The function is now implemented as a loop, memory leak be gone!
- NODE-5551: set AWS region from environment variable for STSClient (#3831) (e9a5079)
- NODE-5588: recursive calls to next cause memory leak (#3841) (9a8fdb2)
We invite you to try the
mongodb library immediately, and report any issues to the NODE project.