========== What's New ========== What's new in 3.3 ----------------- * Supports Distributed Transactions * Supports On-Demand Materialized Views with the $merge operator * Supports Wildcard Indexes * Supports Retryable Reads * Supports MongoDB Query Language Enhancements. * SRV Polling for Sharded Clusters * Beta support for MongoDB Client-Side Encryption `Full 3.3 Changes Here `_ What's new in 3.2 ----------------- * Supports new "Unified Topology" for resolving servers (opt in with ``useUnifiedTopology`` option for ``MongoClient``\ ) * Supports ``session.withTransaction`` helper * Supports Asynchronous Iteration (\ ``for await...`` syntax) on cursors * Supports Database-level Aggregations (\ ``db.aggregate(pipeline, options)``\ ) `Full 3.2 Changes Here `_ What's new in 3.1 ----------------- * Support for MongoDB version 4.0 * Support for Transactions * Support for authentication with SCRAM-SHA-256 * Support for new URL parser (opt in with ``useNewUrlParser`` option for ``MongoClient``\ ) `Full 3.1 Changes Here `_ What's new in 3.0 ----------------- * Support added for Retryable Writes * Support added for DNS Seedlists * Support added for Change Streams * Support added for sessions * ``MongoClient.connect`` now returns a ``Client`` instead of a ``DB``. `Full 3.0 Changes Here `_ What's New in 2.3 ----------------- * Implements `Decimal128 `_\ , a decimal floating-point numbering format that occupies 16 bytes (128 bits). See the :doc:`CRUD tutorial ` for an example. What's New in 2.2 ----------------- * Redesigned Connection Pool. * Connection close will drain any outstanding operations. * replicaSet parameter **MUST** be specified if using MongoClient to connect to replicaset, due to SDAM specification implementation. * Domain support disabled by default, enable with parameter **domainsEnabled** on MongoClient or on the Server/ReplSet/Mongos. What's New in 2.1 ----------------- * Implements the new GridFS specification * Implements support for the new 3.2 wire protocol level **find**\ , **getMore** and **killCursor** commands * A growing/shrinking connection pool * A worker-based connection pool which minimizes the impact of slow operations on throughput and latency when the number of slow operations is less than the number of connections in the pool * Topology monitoring specification implementation, allowing applications to monitor the view of the topology as it changes What's New in 2.0 ----------------- * Adherence to the SDAM (Server Discovery and Monitoring Specification) * Implementation of the CRUD Specification * Performance improvements * New JS-BSON parser which replaces the C++ extension * A new core driver on top of which you can build alternative or experimental driver APIs * APM (Application Performance Monitoring) API