A complete re-write from the ground up. Optimised to work with Mongo's stable API v1, as introduced in Mongo 5.2.
- Chg: Initial socket connection errors are now subject to an binary exponential backoff algorithm. This makes re-connections after a failover more robust.
- Chg: Remove any default auto-added writeConcerns from cmds when running inside multi-statement transactions.
- Bug: Fixed TLS SNI issue when retrying cmds sent to an Atlas sharded cluster during a failover re-connection.
- New: Added
- Chg: Moar explicit err msgs on duplicate index key errors.
- Chg: Exposed (unofficial)
disableTxnsMongoConn URL query option.
- Bug: Fixed NPE on checking out conns after a lost connection.
- Bug: Fixed detached sessions being checked in during multi-read cursor ops.
- New: Support for multi-document, multi-collection transactions. See
- New: Retryable read and retryable write support via logical sessions, for robustness.
zlibmsg compression now supported via the
- New: Connections now linger before being closed (by
maxIdleTimeMS) to avoid socket throttling during bursts of activity.
coll()convenience methods on
appnameis now supported in Mongo connection URLs and passed to MongoDB handshakes.
- Chg: Exposed new
MongoConnUrlclass with connection URL options.
- Chg: Refactored the structure of
MongoConnMgrand re-assessed its methods (breaking backwards compatibility).
- New: Everything!
- Chg: Class names have been abbreviated and start with a
- New: Updated to be compatible with Fantom 1.0.77.
- Chg: Connections are no longer closed if there are more messages queued up to use the pool.
- Chg: When
IOErron TCP connection, the cause is no longer lost.
- New: Added
- Chg: Exposed ConnectionManager in
- Chg: Better handling of network IO errors.
- Bug: Fixed potential deadlock during failovers.
- New: Support for MongoDB 4.2 and dodgy MongoDB Altas clusters.
- New: Added
authSourceMongoDB connection option.
- New: Contains UberPod meta data.
- Chg: Database connections authenticate against the
authSource, not themselves.
- Chg: Fixed
Cursor.count()to work with MongoDB 4.2.
limitvalues are clamped at 0 to prevent negative values - which cause server errors.
Collection.update()returns a map of update data and not just the number of docs updated. (Potential breaking change.)
- Bug: Failover did not occur when a host simply went offline and refused connections.
- New: Proper fail over in the event of lost connections. Ensure your MongoDB URL has multiple host nodes.
- New: Should the Master Mongo connection switch / fail over to a replica node, the Connection Manager automatically plays "Hunt the Primary" to re-establish connection with the new Master.
- Chg: Re-jigged the signature of
Collection.create(). (Potential breaking change.)
- Chg: Exposed
PooledConnectionManager.minPoolSizenow defaults to 1 (used to be 0).
PrettyPrinterfor printing MongoDB documents.
- Chg: Replaced
Cursor.projection. (Breaking change.)
- Chg: Exposed some advanced use classes.
- Chg: Removed deprecated MongoDB 2.6 methods.
Database.collectionNames()didn't work with MongoDB v3.2+ and WiredTiger storage.
Collection.runCmd(...)to run arbitrary commands against collections.
- Chg: Updates to
Indexesto work with MongoDB v3.2+ and WiredTiger storage.
- Chg: Created a couple
xxx26()methods that now only with MongoDB v2.6.
- Bug: Creating unique indexes didn't work.
- New: SCRAM-SHA-1 over SASL - New authentication protocol for MongoDB 3.x.
- Chg: Updated
journalin write concern to
- Chg: Allowed some
Collectionmethods to take null queries.
- Chg: Changed the signature of
outdefault to inline. (Breaking change.)
- New: Updated for MongoDB 3.x.
- Chg: Added
findAll()- see Issue #1.
- Chg: Made the
- Chg: Documented some
- New: Support for connecting to Replica Sets via multiple hosts in the Mongo connection URL. All read and write operations performed on the primary.
- New: Support for the
waitQueueTimeoutMSMongo connection URL option with a truncated binary exponential backoff algorithm to wait for available connections.
- New: Support for write concern options in the Mongo connection URL.
- New: Support for
socketTimeoutMSMongo URL connection options.
- Chg: The default write concern has moved out of MongoClient / Database / Collection / User and into the ConnectionManager.
Cursor.countnow takes into account
- Chg: Renamed
- Chg: Index keys must be ordered if they contain more than one entry.
- Chg: Better Err msg if could not connect to MongoDB.
Cursor.countthrew an Err if the query was ordered.
Index.ensure()when comparing indexes did not respect
ConnectionManagerPooledinstances are created with a Mongo Connection URI.
ConnectionManagerPooledaccepts default database and user credentails to initially authenticate all leased connections with.
- New: Preview Release