v3.5.4
The MongoDB Node.js team is pleased to announce version 3.5.4 of the driver
Release Highlights
Regression in hasNext
when piping a cursor
Pierre Mallet and @Sintendo helped identify a regression with our cursors which did not
properly rewind a cursor when hasNext
was called before the cursor was piped.
Regression in server selection queue processing
A change introduced in v3.5.3 converted the server selection loop from a loop with timers
to a queue of callbacks. A subtle bug was introduced to the code to process the quere where
the upper bound of a for loop was using a dynamically decreasing length, leading to some
operations being ignored, and ultimately timing out. Many thanks to Frederic Maillasson,
@paulrobinson, and @adityapatadia for helping uncover this issue
Only ensure minimum connection pool size if a size is specified
User @millerick submitted a PR short circuiting the background task for ensuring a minimum
pool size if no minimum size was set.
Release Notes
Bug
- [NODE-2454] - Cursor.hasNext() seems to consume first document when the cursor is piped in a writable stream
- [NODE-2464] - max election ID comparison uses invalid comparison for tracking
- [NODE-2466] - Driver does not seem to properly recover from a long disconnection with primary server
- [NODE-2467] - MongoServerSelectionError when using useUnifiedTopology: true
Improvement
- [NODE-2459] - Do not run minimum connection size task if there is no minimum pool size