Skip to content

Bump MongoDB.Driver from 2.20.0 to 3.10.0 - #9

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/MongoDB.Driver-3.10.0
Open

Bump MongoDB.Driver from 2.20.0 to 3.10.0#9
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/MongoDB.Driver-3.10.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 26, 2026

Copy link
Copy Markdown
Contributor

Updated MongoDB.Driver from 2.20.0 to 3.10.0.

Release notes

Sourced from MongoDB.Driver's releases.

3.10.0

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 EnsureNoMemberMapConflicts for 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.
... (truncated)

3.9.0

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.

3.8.1

This is a patch release that addresses a security issue:

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.

3.8.0

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:

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

3.7.1

This is a patch release that contains fixes and stability improvements:

  • CSHARP-5916: ExpressionNotSupportedException when a $set stage expression references a member of a captured constant
  • CSHARP-5918: ExpressionNotSupportedException when a $set stage expression uses ToList method
  • CSHARP-5917: Mql.Field should lookup for default serializer if null is provided as a bsonSerializer parameter
  • CSHARP-5920: SerializerFinder wrapping serializer into Upcast/Downcast serializer breaks some expressions translation
  • CSHARP-5905: Fix bug when using EnumRepresentationConvention or ObjectSerializerAllowedTypesConvention
  • CSHARP-5928: LINQ Provider throws misleading exception if expression translation is not supported
  • CSHARP-5929: Improve SerializerFinder to proper handling of IUnknowableSerializer

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

3.7.0

This is the general availability release for the 3.7.0 version of the driver.

The main new features in 3.7.0 include:

  • CSHARP-3124: OpenTelemetry implementation
  • CSHARP-5736: Expose atClusterTime parameter in snapshot sessions
  • CSHARP-5805: Add support for server selection's deprioritized servers to all topologies
  • CSHARP-5712: WithTransaction API retries too frequently
  • CSHARP-5836: Support new Reverse with array overload introduced by .NET 10
  • CSHARP-4566: Support filters comparing nullable numeric or char field to constant
  • CSHARP-5606: Support ConvertChecked as well as Convert

Improvements:

  • CSHARP-5841: Rewrite $elemMatch with $or referencing implied element due to server limitations
  • CSHARP-5572: Implement new SerializerFinder
  • CSHARP-5861: Use ConnectAsync in synchronous code-path to avoid dead-locks
  • CSHARP-5876: Convert some disposer classes to structs
  • CSHARP-5889: Optimize comparison with nullable constant translation
  • CSHARP-5890: Avoid byte array allocations writing Int64, Double, Decimal128 in ByteBufferStream
  • CSHARP-5888: Optimize CommandEventHelper to avoid redundant message decoding

Fixes:

  • CSHARP-5564: Enum with ushort underlying type is not serialized correctly
  • CSHARP-5654: String.IndexOf comparisons to -1 return incorrect results
  • CSHARP-5866: Avoid raising ClusterDescriptionChangedEvent on unchanged DNS records update
  • CSHARP-5850: Use of an untranslatable property reference in a LINQ expression should be executed client-side
  • CSHARP-5863: The built-in IPAddressSerializer throws when using IPAddress.Any, etc
  • CSHARP-5877: Fix First/Last field path in GroupBy optimizer when source is wrapped
  • CSHARP-5894: Deadlock during concurrent BsonClassMap initialization

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

3.6.0

This is the general availability release for the 3.6.0 version of the driver.

The main new features in 3.6.0 include:

  • CSHARP-5717: Typed builders for vector indexes
  • CSHARP-5812: Support lexical prefilters for vector search
  • CSHARP-5763: Auto-embedding for vector search
  • CSHARP-5737: Add legacy representation for TimeOnly
  • CSHARP-5705: Use standard RID paths in MongoDB.Driver.Encryption packaging
  • CSHARP-5730: Support static String.Compare method
  • CSHARP-1913: Support using Dictionary fields as IEnumerable<KeyValuePair<TKey, TValue>>
  • CSHARP-5779: Support Dictionary Keys and Values properties
  • CSHARP-5786: Add Decimal128 ctor overload for byte/short, for compatibility with net10
  • CSHARP-5793: Map MemoryExtensions Contains and SequenceEqual with null comparer to Enumerable methods with no comparer parameter
  • CSHARP-5749: Support C# 14 changes that result in overloads now binding MemoryExtensions extension methods

Improvements:

  • CSHARP-5675: Where possible, return null for average over the empty set
  • CSHARP-5666: Remove GetBitArray allocations in BsonClassMapSerializer.DeserializeClass
  • CSHARP-5748: Use KeyValuePairSerializer consistently for KeyValuePair
  • CSHARP-5663: Avoid RentedBuffer boxing in DisposableSegment
  • CSHARP-5734: Update doc comments for IBsonIdProvider GetDocumentId method
  • CSHARP-5348: Avoid allocations for Bson*Context
  • CSHARP-5628: Add new boolean expression simplifications to PartialEvaluator
  • CSHARP-5632: Consolidate driver project Type extension methods in Misc\TypeExtensions.cs
  • CSHARP-5785: Optimize LINQ translation for First() and FirstOrDefault() methods with predicates
  • CSHARP-5667: Switch to 'for' loop in BsonClassMapSerializer.SerializeClass to reduce allocations
  • CSHARP-5807: Add benchmarks with strong-typed POCOs

Fixes:

  • CSHARP-5725: C# driver stopped working with Unity since v3.2.0
  • CSHARP-5757: The problem of filtering by derived types

Maintenance:

  • CSHARP-3984: Remove BinaryConnection.DropBox
  • CSHARP-5744: Fix interruptInUse flaky tests
    The full list of issues resolved in this release is available at CSHARP JIRA project.
    Documentation on the .NET driver can be found here.

3.5.2

[!IMPORTANT]

.NET 10 / C# 14

If you are targeting .NET 10 or using C# 14 in your project you should upgrade to this release as soon as possible as it contains important compatibilty fixes.

Projects targeting prior versions of .NET or not using C# 14 can upgrade at their convenience.

This is a patch release that contains fixes and stability improvements:

  • CSHARP-5793: Map MemoryExtensions Contains and SequenceEqual with null comparer to Enumerable methods with no comparer parameter

The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.

3.5.1

This is a patch release that contains fixes and stability improvements:

  • CSHARP-5777: Avoid ThreadPool-dependent IO methods in sync API
  • CSHARP-5743: Version 3.5 causes delays and disruptions because it is trying to access a disposed semaphore slim
  • CSHARP-5749: Support C# 14 changes that result in overloads now binding MemoryExtensions extension methods
  • CSHARP-5786: Add Decimal128 byte constructor overload (net10 compat)

The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.

3.5.0

This is the general availability release for the 3.5.0 version of the driver.

[!IMPORTANT]

Internal Changes for an Upcoming Feature

This release includes low level changes to internal subsystems including operation execution, timeout handling, and resource cleanup logic - in preparation for supporting Client-Side Operations Timeout (CSOT) in an upcoming release.
While these changes should be backward-compatible and not alter existing behavior, they touch core driver infrastructure.
If you experience unexpected issues such as:

  • Operations timing out unexpectedly or not timing out when expected
  • Unusual delays or hangs in database calls
  • Differences in command cancellation behavior

Please let us know via the MongoDB JIRA Driver project or your MongoDB support channel, providing driver logs and a reproduction if possible.

Experimental Support for Queryable Encryption Text Field Prefix, Suffix and Substring Queries

Substring, prefix and suffix search for Queryable Encryption are in preview and should be used for experimental workloads only. These features are unstable and their security is not guaranteed until released as Generally Available (GA). The GA version of these features may not be backwards compatible with the preview version.

The main new features in 3.5.0 include:

  • CSHARP-5453: Add builder for CSFLE schemas
  • CSHARP-3222: Add LINQ support for median and percentile accumulators/window functions
  • CSHARP-5672: Support sorting by value in PushEach operation
  • CSHARP-5625: Support text indexes for explicit and automatic encryption
  • CSHARP-734: SOCKS5 Proxy Support
  • CSHARP-3458: Extend IAsyncCursor and IAsyncCursorSource to support IAsyncEnumerable

Improvements:

  • CSHARP-5603: Add Big Endian support in BinaryVectorReader and BinaryVectorWriter
  • CSHARP-5614: Fix deserialization of primitive arrays on Big Endian systems
  • CSHARP-5619: Replace IConnection.SendMessages with the method to send a single message
  • CSHARP-5377: Eliminate unnecessary killCursors command when batchSize == limit

Fixes:

  • CSHARP-3435: FilterDefinition Inject method should use root serializer
  • CSHARP-3662: MongoClientSettings.SocketTimeout does not work for values under 500ms on Windows for sync code
  • CSHARP-4040: Fix bug when using field with same element name as discriminator
  • CSHARP-5587: FindOneAndUpdate should insert correct discriminator value on upsert
  • CSHARP-3494: Fix discriminator for generic types
  • CSHARP-5588: Unable to select KeyValuePair Key when using camelCase convention
  • CSHARP-5633: BsonSerializer.IsTypeDiscriminated is not thread-safe

Maintenance:

The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.

3.4.3

This is a patch release that contains fixes and stability improvements:

  • CSHARP-5697: Fix Client.BulkWrite failure in case complex type is being used as Document's Id

The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.

3.4.2

This is a patch release that contains fixes and stability improvements:

  • CSHARP-5661: Fix UnobservedTaskException on socket connecting timeout

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

Upgrading
There are no known backwards breaking changes in this release.

3.4.1

This is a patch release that addresses some issues reported since 3.4.0 was released:

  • CSHARP-5588 Fix issue with conventions being ignored when using KeyValuePair in LINQ
  • CSHARP-5633 Fix thread safety issue with BsonSerializer.IsTypeDiscriminated

The list of JIRA tickets resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

Upgrading
There are no known backwards breaking changes in this release.

3.4.0

This is the general availability release for the 3.4.0 version of the driver.

The main new features in 3.4.0 include:

  • CSHARP-5551: Support KeyValuePair.Create<TKey,TValue>method in LINQ
  • CSHARP-5552: Add support for $convert in LINQ
  • CSHARP-5505: Add $geoNear stage aggregation builders
  • CSHARP-4935: Support casting from an interface to a type that implements that interface in LINQ queries
  • CSHARP-4779: Support Dictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection) constructor in LINQ
  • CSHARP-5543: Add new options for Atlas Search Text and Phrase operators
  • CSHARP-4535: Support queries after casting IQueryable<Derived> to IQueryable<Base>

Improvements:

  • CSHARP-5531: Reduce memory allocations in BsonStreamAdapter.WriteDouble and WriteInt64
  • CSHARP-5529: Optimize grouping.First().X to not retrieve the entire $$ROOT

Fixes:

  • CSHARP-5540: Fix exception when using AsQueryable().Last()
  • CSHARP-5471: Incorrectly resolving the authentication mechanism parameters from SRV connection string
  • CSHARP-5442: Fixed use of serializer by Atlas Search operators

[!NOTE]
Driver will start using registered serializers for Atlas Search operators, to continue using the previous behavior use SearchDefinition.UseConfiguredSerializers(false)

The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.

3.3.0

This is the general availability release for the 3.3.0 version of the driver.

[!IMPORTANT]
A future minor release will raise the minimum supported MongoDB Server version from 4.0 to 4.2. This is in accordance with MongoDB Software Lifecycle Schedules. Support for MongoDB Server 4.0 will be dropped in a future release!

The main new features in 3.3.0 include:

  • CSHARP-5469: Support $lookup in CSFLE and QE
  • CSHARP-5205: Add option to configure DEK cache lifetime
  • CSHARP-4883: Support SkipWhile and TakeWhile methods in LINQ
  • CSHARP-5472: Support of NamespaceType property into ChangeStreamDocument
  • CSHARP-5478: Support for $rankFusion aggregation stage
  • CSHARP-5527: Support for $sigmoid expression in LINQ
  • CSHARP-5506: Support dictionary[key] for keys that aren't strings but are serialized as strings in LINQ queries
  • CSHARP-1585: Support for $elemMatch filters directly against the elements with no field name
  • CSHARP-5481: Implement OfType and Is support for queries with scalar discriminators

Improvements:

  • CSHARP-5496: Reduce locks contention on server selection and connection checkout

Fixes:

  • CSHARP-5513: Fix ChangeStream DisambiguatedPaths implementation

Maintenance:

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

3.2.1

This is a patch release that addresses some issues reported since 3.2.0 was released:

  • Fix potential leak with KMS retry mechanism - CSHARP-5489
  • Fix stack overflow exception on POCOs that represents tree-like structures - CSHARP-5493

An online version of these release notes is available here.

The list of JIRA tickets resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

Upgrading

There are no known backwards breaking changes in this release.

3.2.0

This is the general availability release for the 3.2.0 version of the driver.

The main new features in 3.2.0 include:

  • Support casting from an interface to a concrete type in a filter expression - CSHARP-4572
  • Support for BSON Binary Vector subtype that helps make MongoDB Vector Search more efficient and easy to work with - CSHARP-5202
  • Support for additional methods in LINQ, such as Append, OfType, Repeat, SequenceEqual - CSHARP-4872, CSHARP-4876, CSHARP-4878, CSHARP-4880
  • Support strings with "Range" operator for Atlas Search - CSHARP-5429
  • Added ObjectSerializerAllowedTypesConvention to more easily configure allowed types for ObjectSerializer - CSHARP-4495
  • Added Kubernetes Support for OIDC - CSHARP-5026
  • Added BsonDateOnlyOptionsAttribute to control the serialization of DateOnly - CSHARP-5345
  • Added array field support for "In" and "Range" operators in Atlas Search - CSHARP-5430
  • Fixed an error where BulkWrite command would not be retried when throwing a ClientBulkWriteException - CSHARP-5449
  • Fixed a bug where BsonGuidRepresentationAttribute will not work on nullable GUIDs - CSHARP-5456
  • EnumRepresentationConvention will now also be applied to collection of enums - CSHARP-2096
  • Automatically retry KMS requests on transient errors - CSHARP-5017
  • LINQ aggregate Group now supports $addToSet operator - CSHARP-5446
  • Minor bug fixes and improvements.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

3.1.0

This is the general availability release for the 3.1.0 version of the driver.

The main new features in 3.1.0 include:

  • Support token field type and array field expressions with Atlas Search builders for equals operator - CSHARP-4926
  • Support SearchIndexType option when creating Atlas Search indexes - CSHARP-4960
  • Support for valid SRV hostnames with less than 3 parts - CSHARP-5200
  • Support for search sequential pagination - CSHARP-5420
  • Support for Mql methods: Exists, IsMissing and IsNullOrMissing in filters when possible - CSHARP-5427
  • Support for Exact Vector Search (ENN) - CSHARP-5212
  • Allow sort option to be supplied to update commands (updateOne, etc.) - CSHARP-5201
  • Disabled TLS renegotiation when possible - CSHARP-2843
  • Fix a bug in discriminator convention inheritance - CSHARP-5349
  • New Serializers for ImmutableArray and other immutable collections - CSHARP-5335
  • Minor bug fixes and improvements.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

3.0.0

The MongoDB .NET/C# driver team is pleased to announce our v3.0.0 release! The 3.0.0 release incorporates many user-requested fixes and improvements that have been deferred as backwards-incompatible, as well as internal improvements to pay down technical debt and improve maintainability. Additional major changes include removal of a large area of the public API (mainly from MongoDB.Driver.Core), which was not intended for public use. Removed APIs are marked as deprecated in v2.30.0 version.
For all the breaking changes and for the upgrade guidlines, please see the upgrade guide.

The main new features in 3.0.0 include:

  • CSHARP-4904: Adding .NET 6 target framework
  • CSHARP-4916: Removing .NETSTANDARD 2.0 target framework
  • CSHARP-5193: Removing LINQ2 provider
  • CSHARP-5233: Remove IMongoQueryable interface
  • CSHARP-4145: Improved Bulk Write API
  • CSHARP-4763: Client side projections with Find and Select
  • CSHARP-3899: Removing MongoDB.Driver.Legacy package
  • CSHARP-4917: Removing MongoDB.Driver.Core package and various non-user-facing APIs (see v2.30.0 for deprecation messages)
  • CSHARP-5232: Embedding MongoDB.Driver.GridFS package into MongoDB.Driver package
  • CSHARP-4912: Refactoring the Client Side field level description to an optional MongoDB.Driver.Encryption package. MongoDB.Libmongocrypt package is not in use anymore and will not get any further updates
  • CSHARP-4911: Refactoring the AWS authentication to an optional MongoDB.Driver.Authentication.AWS package
  • CSHARP-5291: Removing MONGODB-CR support
  • CSHARP-5263: Removing support for TLS1.0 and 1.1
  • CSHARP-2930: Changing default GUID serialization mode and removing GuidRepresentationMode
  • CSHARP-3717: Adding DateOnly/TimeOnly support

The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.

2.30.0

This is the general availability release for the 2.30.0 version of the driver. Version 2.30.0 of the driver is the last scheduled 2.x release. Further driver development will continue in 3.x versions.

Version 2.30.0 does not introduce new features or bug fixes. The single purpose of 2.30 is to ease the migration to 3.x by marking the public API that was removed in 3.0 as obsolete.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.29.0

This is the general availability release for the 2.29.0 version of the driver.

Version 2.29.0 of the driver has been tested against MongoDB Server version 8.0 and adds support for the following new features in server version 8.0:

  • Support for v2 of the Queryable Encryption range protocol - CSHARP-4959
  • Range indexes for Queryable Encryption are now GA - CSHARP-5057

The following server 8.0 features are not yet supported and will be supported in a later release of the driver:

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.28.0

This is the general availability release for the 2.28.0 version of the driver.

NOTICE: MongoDB 3.6 reached end-of-life in April 2021. The .NET/C# Driver will be removing support for MongoDB 3.6 in an upcoming release.

The main new features in 2.28.0 include:

  • Provide Strong-Named Assemblies - CSHARP-1276
  • Support additional numeric conversions involving Nullable - CSHARP-5180
  • CSFLE/QE KMIP support "delegated" protocol - CSHARP-4941

Bug fixes:

  • Verify that operands to numeric operators in LINQ expressions are represented as numbers on the server - CSHARP-4985
  • IReadOnlyDictionary indexer access fails to translate in v3 - CSHARP-5171
  • Projection Expressions Fail to Deserialize Data Correctly - CSHARP-5162
  • Enum conversion within IQueryable fails with Expression not supported exception - CSHARP-5043
  • IMongoCollection.AsQueryable().Select() fails for array type (regression) - CSHARP-4957

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.27.0

This is the general availability release for the 2.27.0 version of the driver.

The main new features in 2.27.0 include:

  • Support $sample aggregation operator - CSHARP-2659
  • Implement Equals method for serializers in LINQ3 - CSHARP-3315
  • Avoid Appending Write/Read Concern in Atlas Search Index Helper Commands - CSHARP-4839
  • Disallow comma character in authMechanismProperties connection string value - CSHARP-5106
  • Fix translation issue during serialization of numbers with differing sizes - CSHARP-5163
  • Support Linux distros using libdl.so.2 CSHARP-4889
  • Multiple bug fixes and improvements.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.26.0

This is the general availability release for the 2.26.0 version of the driver.

The main new features in 2.26.0 include:

  • Support SelectMany inside Project/Select - CSHARP-5081
  • Support Dictionary.ContainsValue in LINQ queries - CSHARP-2509
  • Support string concatenation of mixed types - CSHARP-5071
  • Enable use of native crypto in libmongocrypt bindings - CSHARP-4944
  • Support serialization of Memory and ReadOnlyMemory structs - CSHARP-4807
  • OIDC: support for GCP Identity Provider - CSHARP-4610
  • Implement signing of NuGet packages - CSHARP-5050
  • Direct read/write retries to another mongos if possible - CSHARP-3757
  • Multiple bug fixes and improvements.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.25.0

This is the general availability release for the 2.25.0 version of the driver.

NOTICE: MongoDB 3.6 reached end-of-life in April 2021. The .NET/C# Driver will be removing support for MongoDB 3.6 in an upcoming release.

The main new features in 2.25.0 include:

  • Support of MONGODB-OIDC Authentication mechanism - CSHARP-4448
  • MONGODB-OIDC: Automatic token acquisition for Azure Identity Provider - CSHARP-4474
  • Improved error message when no matching constructor found - CSHARP-5007
  • Driver Container and Kubernetes Awareness - CSHARP-4718
  • Logging of executed MQL for a LINQ query - CSHARP-4684
  • Allow custom service names with srvServiceName URI option - CSHARP-3745
  • BulkWrite enumerates requests argument only once - CSHARP-1378
  • Support of Range Explicit Encryption - CSHARP-5009
  • Multiple bug fixes and improvements.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.24.0

.NET Driver Version 2.24.0 Release Notes

This is the general availability release for the 2.24.0 version of the driver.

The main new features in 2.24.0 include:

  • New DistinctMany method in IMongoCollection
  • Support for latest $dateFromString optional arguments
  • ExceededTimeLimit server error is now retryable for reads as well as writes
  • Support sort by score in $search stage
  • New custom method to test if a field exists or is missing in LINQ (Mql.Exists, Mql.IsMissing, Mql.IsNullOrMissing)
  • Enable TLS 1.3 support
  • Fix a GridFS error when attempting to upload a GridFS file with a duplicate id and the new file is smaller than the original file
  • Add support for Atlas Search $in operator
  • Add support for IComparable CompareTo method in LINQ queries
  • Add VectorSearchScore builder for $vectorSearch stage
  • Update libmongocrypt package version
  • Support for nested AsQueryable in LINQ queries (not a common use case but legal, primarily added for use by the EF Core Provider)
  • Updated authentication to occur over OP_MSG on supporting servers to improve MongoDB Atlas Serverless compatibility
  • Use polling monitoring when running within a FaaS environment such as AWS Lambda
  • Fixed segfault in Kerberos (libgssapi) on newer Linux distros

An online version of these release notes is available here.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.23.2

This is a patch release that addresses some issues reported since 2.23.1 was released.

An online version of these release notes is available here.

The list of JIRA tickets resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

Upgrading

There are no known backwards breaking changes in this release.

2.23.1

This is a patch release that addresses some issues reported since 2.23.0 was released.

An online version of these release notes is available here.

The list of JIRA tickets resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

Upgrading

There are no known backwards breaking changes in this release.

2.23.0

This is the general availability release for the 2.23.0 version of the driver.

The main new features in 2.23.0 include:

An online version of these release notes is available here.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.22.0

.NET Driver Version 2.22.0 Release Notes

This is the general availability release for the 2.22.0 version of the driver.

The main new features in 2.22.0 include:

  • LINQ3 bug fixes and improvements
  • Support for $set aggregation stage
  • Added synonym support for Atlas Search
  • Support for $vectorSearch aggregation stage
  • Reduced memory allocations when using encryption
  • Additional logging messages

An online version of these release notes is available here.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

2.21.0

.NET Driver Version 2.21.0 Release Notes

This is the general availability release for the 2.21.0 version of the driver.

The main new features in 2.21.0 include:

  • LINQ3 bug fixes and improvements
  • Atlas Search sort, tracking, score details options added
  • Atlas Search embeddedDocuments operator support
  • Atlas Search index mangement API added
  • Anonymous types added to default AllowedTypes in ObjectSerializer

Atlas Search minor breaking change

All Render methods in Atlas Search builders have a new signature:

Render(IBsonSerializer<TDocument> documentSerializer, IBsonSerializerRegistry serializerRegistry)

Changed to

Render(SearchDefinitionRenderContext<TDocument> renderContext)

An online version of these release notes is available here.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

Commits viewable in compare view.

@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Jul 26, 2026
@dependabot
dependabot Bot force-pushed the dependabot/nuget/MongoDB.Driver-3.10.0 branch from 430f51d to 069ae77 Compare July 26, 2026 20:34
---
updated-dependencies:
- dependency-name: MongoDB.Driver
  dependency-version: 3.10.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/nuget/MongoDB.Driver-3.10.0 branch from 069ae77 to 1179d1f Compare July 26, 2026 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants