MongoRelease Notes



  • New: Added ConnectionManagerPooled.isConnectedToMaster().
  • Chg: Exposed ConnectionManager in Collection and Database classes.
  • 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 ssl and authSource MongoDB 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.


  • New: Collection.deleteAll() convenience method.
  • Chg: skip and limit values are clamped at 0 to prevent negative values - which cause server errors.


  • Chg: 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 MongoCmdErr and added code() and errmsg() helper methods.
  • Chg: PooledConnectionManager.minPoolSize now defaults to 1 (used to be 0).


  • New: PrettyPrinter for printing MongoDB documents.
  • New: Index.TEXT for creating text indexes.
  • Chg: Replaced Cursor.fields with Cursor.projection. (Breaking change.)
  • Chg: Exposed some advanced use classes.
  • Chg: Removed deprecated MongoDB 2.6 methods.



  • Bug: Database.collectionNames() didn't work with MongoDB v3.2+ and WiredTiger storage.


  • New: Collection.runCmd(...) to run arbitrary commands against collections.
  • Chg: Updates to Collections and Indexes to 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 journal in write concern to j.
  • Chg: Allowed some Collection methods to take null queries.


  • Chg: Changed the signature of Collection.mapReduce() to make out default to inline. (Breaking change.)


  • New: Updated for MongoDB 3.x.
  • Chg: Added fieldNames parameter to findAll() - see Issue #1.
  • Chg: Made the deleteMulti(), insertMulti() and updateMulti() methods in Collection public.
  • Chg: Documented some options parameters.


  • 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 waitQueueTimeoutMS Mongo 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 connectTimeoutMS and socketTimeoutMS Mongo URL connection options.
  • Chg: The default write concern has moved out of MongoClient / Database / Collection / User and into the ConnectionManager.
  • Chg: Cursor.count now takes into account skip and limit.
  • 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.count threw an Err if the query was ordered.



  • Bug: Index.ensure() when comparing indexes did not respect unique:false.


  • New: ConnectionManagerPooled instances are created with a Mongo Connection URI.
  • New: ConnectionManagerPooled accepts default database and user credentails to initially authenticate all leased connections with.


  • New: Preview Release