Docs Menu
Docs Home
/ / /
C#/.NET

What's New

On this page

  • What's New in 2.27
  • What's New in 2.26
  • What's New in 2.25
  • What's New in 2.24
  • What's New in 2.23
  • What's New in 2.22
  • What's New in 2.21
  • What's New in 2.20
  • What's New in 2.19

Learn what's new in:

  • Version 2.27

  • Version 2.26

  • Version 2.25

  • Version 2.24

  • Version 2.23

  • Version 2.22

  • Version 2.21

  • Version 2.20

  • Version 2.19

The 2.27 driver release includes the following new features:

  • Adds support for the $sample aggregation operator.

  • Implements the Equals() method for serializers in LINQ3.

  • Ensures that read and write concerns are not applied to Atlas Search Index Helper commands to avoid errors.

  • Disallows the use of the comma character in authMechanismProperties connection string values when using the MONGODB-OIDC authentication mechanism.

  • Fixes a translation bug that caused an error during serialization involving numbers of different sizes.

  • Adds support for Linux distributions that use the libdl.so.2 library.

For more information about this release, see the v2.27 release notes.

The 2.26 driver release includes the following new features:

  • Added support for using the SelectMany() aggregation method within Select() and Project() aggregation stages.

  • Added support for Dictionary.ContainsValue() calls in LINQ queries.

  • Added support for string concatenation of mixed types.

  • Enabled use of native crypto in libmongocrypt bindings.

  • Added support for serialization of Memory and ReadOnlyMemory structs.

  • Added support for the GCP Identity Provider when using the MONGODB-OIDC authentication mechanism. To learn more, see GCP IMDS in the Enterprise Authentication Mechanisms guide.

  • Implemented signing of NuGet packages.

  • Implemented read and write retries to other mongos instances when possible.

The 2.25 driver release includes the following new features:

  • Added support for the MONGODB-OIDC authentication mechanism and automatic token acquisition for Azure Identity Provider.

  • Added the class name to the error message reported when BsonClassMapSerializer cannot locate a matching creator.

  • Added a LoggedStages field to surface the MQL executed after performing a LINQ query.

  • Added support for overriding the "mongodb" service name with a custom one by using the srvServiceName connection option.

  • Improved behavior of bulk write operations to prevent enumerating the requests parameter more than once.

The 2.24 driver release includes the following new features:

  • Added the IMongoCollection.DistinctMany() method.

  • Added support for the latest optional arguments for the $dateFromString aggregation expression.

  • Added support for sorting by score in the $search aggregation stage.

  • Added the VectorSearchScore builder for the $vectorSearch aggregation stage.

  • Added support for the $in operator in Atlas Search.

  • Added the Mql.Exists(), Mql.IsMissing(), and Mql.IsNullOrMissing() methods for LINQ queries.

  • Added support for the IComparable.CompareTo() method in LINQ queries.

  • Added support for nested calls to the AsQueryable() method to support LINQ queries by the MongoDB Entity Framework Core Provider.

  • Added support for TLS 1.3.

  • Updated the libmongocrypt package version to 1.8.2.

  • Fixed a segfault in Kerberos (libgssapi) on newer Linux distributions.

  • Fixed a GridFS bug in which downloading a file caused an error if a larger file with the same ID had also been uploaded.

  • The ExceededTimeLimit server error is now retryable for both read and write operations.

  • When running within a function-as-a-service (FaaS) environment, such as AWS Lambda, the driver now uses the polling monitoring mechanism.

  • To improve MongoDB Atlas Serverless compatibility, the driver now uses OP_MSG for authentication if the server supports it.

The 2.23 driver release includes the following new features:

  • Improvements and bug fixes to the LINQ3 integration.

  • Added support for aggregation bitwise operators.

  • Added support for the $out operator in MongoDB time series collections.

  • Added ChangeStreamSplitLargeEvent to handle change stream events greater than 16 MB.

The 2.22 driver release includes the following new features:

  • Improvements and bug fixes to the LINQ3 integration.

  • Added support for $set and $vectorSearch aggregation stages.

  • Added synonym support for Atlas Search.

  • Reduced memory allocation when using encryption.

  • Added logging messages for server discovery and monitoring (SDAM) events. For more information on these events, see the MongoDB SDAM Logging and Monitoring specification.

Warning

Breaking changes in v2.21

The v2.21 driver contains breaking changes. See Version 2.21.0 Breaking Changes for more information.

The 2.21 driver release includes the following new features:

  • Improvements and bug fixes to the LINQ3 integration.

  • Accepts options for Atlas Search sorting, tracking, and scoring.

  • Supports the Atlas Search embeddedDocument operator.

  • Offers an API for Atlas Search index management.

  • Accepts anonymous types in the ObjectSerializer.DefaultAllowedTypes method.

The 2.20 driver release includes the following new features:

  • Added full support for MongoDB Server version 7.0.0.

  • Added support for equality query types in Queryable Encryption GA.

  • Improvements to LINQ3 integration.

  • Improvements to serialization features.

  • Improvements to the logging framework.

The 2.19 driver release includes the following new features:

  • The ObjectSerializer allows deserialization of only safe types, as determined by the configurable AllowedTypes function.

  • Changed the default LinqProvider to LINQ3.

  • Added Atlas Search ($search) support to builders, aggregation pipelines, and LINQ3.

  • Added support for $bucket and $bucketAuto aggregation pipeline stages in LINQ3.

  • Added support for automatic KMS credentials for Azure VM Managed Identities.

  • Added native support for AWS IAM roles.

Back

Quick Reference

Next

Usage Examples