Releases: mongodb/mongo-csharp-driver
Release list
.NET Driver Version 3.11.2 Release Notes
Important
This is a security patch release. It addresses two CVEs reported against the driver, along with a small number of related fixes. There are no public API changes and no application code changes are required to upgrade. Note that the shape of some queries generated by the LINQ provider and by GridFS has changed — see the individual tickets below.
This is a patch release that contains fixes and stability improvements:
- CSHARP-6177 / CVE-2026-88026: Query filter regex injection via unescaped backslash and bracket in LINQ character-set translation
- CSHARP-6190 / CVE-2026-88025: Use exact match for file ID in GridFS delete methods
- CSHARP-6213: Normalize SRV target host names to lower case during SRV polling
The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.
.NET Driver Version 3.11.1 Release Notes
Important
This is a security patch release. It addresses a number of CVEs reported against the driver and does not include any functional changes or API modifications. Upgrading is recommended for all users; no code changes are required on the application side.
This is a patch release that contains fixes and stability improvements:
- CSHARP-6164 / CVE-2026-81530: KMS master key exposure via unredacted credential serialization in driver settings string
- CSHARP-6171 / CVE-2026-81529: Connection-option injection via unescaped settings in the canonical MongoDB URL builder
- CSHARP-6158 / CVE-2026-81528: NoSQL injection via array replacement bypassing update shape validation in driver write path
- CSHARP-6156 / CVE-2026-81527: NoSQL injection via unquoted constant GroupBy keys in LINQ pipeline translation
- CSHARP-6178 / CVE-2026-81527: NoSQL injection via equality-filter simplification of dollar-keyed documents in the LINQ provider
- CSHARP-6185 / CVE-2026-81527: NoSQL injection via unescaped dollar-prefixed values in LINQ constant arrays and documents
The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.
.NET Driver Version 3.11.0 Release Notes
This is the general availability release for the 3.11.0 version of the driver.
The main new features in 3.11.0 include:
- CSHARP-6005: CSFLE/QE support for HTTP Proxies
- CSHARP-6089: Client Backpressure with baseBackoffMS
Fixes:
- CSHARP-6125: Reject non-collection inner sequences in LINQ Join/LeftJoin
The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.
.NET Driver Version 3.10.0 Release Notes
This is the general availability release for the 3.10.0 version of the driver.
Important
In-Use Encryption String (renamed from Text) API GA
The GA API requires mongodb server version 9.0. The preview API can continue to be used with pre-9.0 server versions.
The main new features in 3.10.0 include:
- CSHARP-6017: Support LINQ LeftJoin for joins and includes
- CSHARP-3791: Allow hint for unacknowledged writes using OP_MSG when supported by the server
- CSHARP-5826: Add $top, $bottom, $topN and $bottomN expression operators
- CSHARP-6024: Support ReadOnlySet Serialization
- CSHARP-6020: Add builders for the doesNotAffect field for in, range, equals and compound Atlas Search operators
- CSHARP-4216: Support $topN and similar accumulators in $setWindowFields
- CSHARP-5750: Add support for new QE prefix/substring/suffix aggregation expression operators
- CSHARP-5495: Support $concatArrays and $setUnion aggregation accumulators
- CSHARP-6041: Add $setWindowFields support for the $minMaxScaler window operator
- CSHARP-6091: Support checked arithmetic operators in LINQ translation
- CSHARP-5984: Add QE prefix+suffix GA and rename API to string
- CSHARP-6105: Add QE substring GA
- CSHARP-5693: Allow Instantiated MongoClients to Send Client Metadata On-Demand
Improvements:
- CSHARP-6094: Use minimum supported wire version for CompatibilityLevel when null
- CSHARP-5964: Investigate a way to read into BsonBinaryData property if it's missed in the stored document
- CSHARP-6093: Compile one-shot LINQ eval lambdas with preferInterpretation
- CSHARP-6096: Optimize AsyncCursor<> disposal to consume less resources
Fixes:
- CSHARP-5816: Insonsistent behavior of
EnsureNoMemberMapConflictsfor discriminator convention - CSHARP-5740: Remove duplicate read concern for operations in snapshot sessions
- CSHARP-5846: Global GuidSerializer settings ignored for object-typed properties
- CSHARP-5658: Queries using Equals with different types throw
- CSHARP-6066: FilteredMongoCollectionBase.FindOneAndUpdate throws NullReferenceException when options is null
- CSHARP-6080: Pool clear with closeInUseConnections leaks raw ObjectDisposedException to the application instead of a retryable connection error
Maintenance:
- CSHARP-5746: Update $lookup prose test for MONGOCRYPT-793
- CSHARP-6062: Add empty permissions section to PR workflow
- CSHARP-6007: Mark Server version 4.2 as EOL from driver's PoV (Min server version as 4.4, minWireVersion as 9)
- CSHARP-5992: Add LINQ translation benchmark suite
- CSHARP-6030: Add case and diacritic sensitivity prose tests for text explicit encryption
- CSHARP-5943: Add per-area AGENTS.md files and reviewer sub-agents
- CSHARP-6071: Script to create a local Docker container with a single replica set
- CSHARP-6100: Clarify status and semver treatment for shipped IWM driver APIs
The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.
.NET Driver Version 3.9.0 Release Notes
This is the general availability release for the 3.9.0 version of the driver.
Important
Next minor release will raise the minimum supported MongoDB Server version from 4.2 to 4.4. This is in accordance with MongoDB Software Lifecycle Schedules. Support for MongoDB Server 4.2 will be dropped in a future release!
The main new features in 3.9.0 include:
- CSHARP-5567: Add a LINQ equivalent for $toHashedIndexKey
- CSHARP-4901: Add support for SearchMeta facet without operator
- CSHARP-5930: Allow registering the same encryption provider multiple times
- CSHARP-5899: Add support for "flat" indexing method in vector search index builders
- CSHARP-5931: Add builder support for $scoreFusion stage
Improvements:
- CSHARP-3556: Use EndPointServerSelector in SingleServerBinding instead of busy wait
- CSHARP-5611: Support ReadOnlySpan in ObjectId and eliminate the temporary byte array allocations
Fixes:
- CSHARP-5967: Ensure SerializerFinder proper support of Parse method
- CSHARP-5966: Add support of string.TrimStart and TrimEnd methods to SerializerFinder
- CSHARP-5942: Fix serializer resolution for dictionary paths with numeric string keys
- CSHARP-2868: Allow maxIdleTimeMS=0 and treat it as no idle time limit
- CSHARP-5762: Avoid changing "filter" to "parentFilter" in previously supported case
- CSHARP-5629: Respect BsonElement attribute in NamedIdMemberConvention
- CSHARP-6029: Execute endSessions on ServerSessionPool close
- CSHARP-6043: NullReferenceException in IEnumerableSerializerBase.Serialize when projecting nullable array with conditional Select
- CSHARP-6040: Fix StackOverflowException in convention CouldApply on self-referencing IEnumerable<T> types
Maintenance:
- CSHARP-6055: Update SharpCompress to remedy vulnerability
- CSHARP-6023: Update libmongocrypt URLs for 1.18.0+
- CSHARP-5943: Initial small AGENTS.md file for the C# driver
- CSHARP-5671: Replace Artifactory with ECR for container image pulls
The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.
.NET Driver Version 3.8.1 Release Notes
This is a patch release that addresses a security issue:
- CSHARP-6034: Update Snappier to fix a security issue (GHSA-pggp-6c3x-2xmx)
Known warning when restoring: SharpCompress NU1902
When restoring a project that references this driver with the .NET 8 SDK or newer, NuGet may emit the NU1902 audit warning for the transitive SharpCompress 0.30.1 dependency (GHSA-6c8g-7p36-r338 — directory traversal via IArchive.WriteToDirectory()). The driver does not use that API; SharpCompress is only used for in-memory ZLib stream compression of MongoDB wire-protocol messages, so the driver's usage does not expose consumers to this advisory. This issue will be addressed in an upcoming release (CSHARP-6037).
Documentation on the .NET driver can be found here.
.NET Driver Version 3.8.0 Release Notes
This is the general availability release for the 3.8.0 version of the driver.
The main new features in 3.8.0 include:
Important
Added support for MongoDB ’s Intelligent Workload Management (IWM) and ingress connection rate limiting features. The driver now gracefully handles write-blocking scenarios and optimizes connection establishment during high-load conditions to maintain application availability. These features will be functional with MongoDB Server Version 9.0 and above. More details in CSHARP-5802: Client Backpressure Support
- CSHARP-5882: Support storedSource in vector search indexes and returnStoredSource in $vectorSearch queries
- CSHARP-5769: Implement hasAncestor, hasRoot, and returnScope for Atlas Search
- CSHARP-5646: Implement vector similarity match expressions
- CSHARP-5762: MongoDB Vector Search now supports vector search against nested embeddings and arrays of embeddings.
- CSHARP-5884: Add new fields for Auto embedding in Atlas Vector search indexes
MongoDB v8.3 Compatible Features:
- CSHARP-5852: Expression to determine the subtype of BinData field
- CSHARP-5713: Allow native conversion from string to BSON object
- CSHARP-5949: $convert should allow any type to be converted to string
- CSHARP-5818: Allow users to generate a hash from a UTF-8 string or binary data
- CSHARP-5950: Support base conversion in $convert
- CSHARP-5847: Support Select/SelectMany/Where index overloads in LINQ provider
- CSHARP-5828: Add Rerank stage builder
- CSHARP-5656: Support Aggregation Operator to generate random object ids
- CSHARP-5973: Support SkipWhile/TakeWhile index overloads in LINQ provider
- CSHARP-5825: Support (de)serialization between BSON and EJSON
- CSHARP-5655: Support regular expressions in $replaceAll search string and $split delimiter
Improvements:
- CSHARP-5887: Simplify retryable read and writes
- CSHARP-2593: Add numeric error code to default error message in NativeMethods.CreateException
- CSHARP-2150: Add check that the serializer's ValueType matches the type when registering the serializer
Fixes:
- CSHARP-5947: Increase SingleServerReadBinding timeout
- CSHARP-2862: Check that max pool size is never less than min pool size in connection string
- CSHARP-5935: Command activities may be skipped when using pooled connection
- CSHARP-5952: SerializerFinder resolve wrong serializer for BsonDocument members
Maintenance:
- CSHARP-5957: Bump maxWireVersion to 9.0
The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.