MongoRelease Notes
v2.x
A complete re-write from the ground up. Optimised to work with Mongo's stable API v1, as introduced in Mongo 5.2.
v2.1.8
- New: Added connection debug info to
MongoConnMgr.props. - Fix: Added a guard against Mongo
getMore()returning an empty batch.
v2.1.6
- Chg: Initial socket connection errors are now subject to an binary exponential backoff algorithm. This makes re-connections after a failover more robust.
v2.1.4
- 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.
v2.1.2
- New: Added
MongoConnMgr.isConnected()utility method. - 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.
v2.1.0
- New: Support for multi-document, multi-collection transactions. See
MongoConnMgr.runInTxn(). - New: Retryable read and retryable write support via logical sessions, for robustness.
- New:
zlibmsg compression now supported via theOP_COMPRESSIONcmd. - New: Connections now linger before being closed (by
maxIdleTimeMS) to avoid socket throttling during bursts of activity. - New:
db()andcoll()convenience methods onMongoCollandMongoIdx. - New:
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).
v2.0.0
- New: Everything!
- Chg: Class names have been abbreviated and start with a
Mongoprefix.
v1.1
v1.1.14
- 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
TcpConnectionthrows anIOErron TCP connection, the cause is no longer lost.
v1.1.12
- New: Added
ConnectionManagerPooled.isConnectedToMaster(). - Chg: Exposed ConnectionManager in
CollectionandDatabaseclasses. - Chg: Better handling of network IO errors.
- Bug: Fixed potential deadlock during failovers.
v1.1.10
- New: Support for MongoDB 4.2 and dodgy MongoDB Altas clusters.
- New: Added
sslandauthSourceMongoDB 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.
v1.1.8
- New:
Collection.deleteAll()convenience method. - Chg:
skipandlimitvalues are clamped at 0 to prevent negative values - which cause server errors.
v1.1.6
- Chg:
Collection.update()returns a map of update data and not just the number of docs updated. (Potential breaking change.)
v1.1.4
- Bug: Failover did not occur when a host simply went offline and refused connections.
v1.1.2
- 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
MongoCmdErrand addedcode()anderrmsg()helper methods. - Chg:
PooledConnectionManager.minPoolSizenow defaults to 1 (used to be 0).
v1.1.0
- New:
PrettyPrinterfor printing MongoDB documents. - New:
Index.TEXTfor creatingtextindexes. - Chg: Replaced
Cursor.fieldswithCursor.projection. (Breaking change.) - Chg: Exposed some advanced use classes.
- Chg: Removed deprecated MongoDB 2.6 methods.
v1.0
v1.0.10
- Bug:
Database.collectionNames()didn't work with MongoDB v3.2+ and WiredTiger storage.
v1.0.8
- New:
Collection.runCmd(...)to run arbitrary commands against collections. - Chg: Updates to
CollectionsandIndexesto 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.
v1.0.6
- New: SCRAM-SHA-1 over SASL - New authentication protocol for MongoDB 3.x.
- Chg: Updated
journalin write concern toj. - Chg: Allowed some
Collectionmethods to take null queries.
v1.0.4
- Chg: Changed the signature of
Collection.mapReduce()to makeoutdefault to inline. (Breaking change.)
v1.0.2
- New: Updated for MongoDB 3.x.
- Chg: Added
fieldNamesparameter tofindAll()- see Issue #1. - Chg: Made the
deleteMulti(),insertMulti()andupdateMulti()methods inCollectionpublic. - Chg: Documented some
optionsparameters.
v1.0.0
- 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
connectTimeoutMSandsocketTimeoutMSMongo URL connection options. - Chg: The default write concern has moved out of MongoClient / Database / Collection / User and into the ConnectionManager.
- Chg:
Cursor.countnow takes into accountskipandlimit. - Chg: Renamed
ConnectionManager.mongoUri->ConnectionManager.mongoUrl. - Chg: Index keys must be ordered if they contain more than one entry.
- Chg: Better Err msg if could not connect to MongoDB.
- Bug:
Cursor.countthrew an Err if the query was ordered.
v0.0
v0.0.6
- Bug:
Index.ensure()when comparing indexes did not respectunique:false.
v0.0.4
- New:
ConnectionManagerPooledinstances are created with a Mongo Connection URI. - New:
ConnectionManagerPooledaccepts default database and user credentails to initially authenticate all leased connections with.
v0.0.2
- New: Preview Release