This is the general availability release for the 2.19.0 version of the driver.
The main new features in 2.19.0 include:
- Atlas Search builders
- Default LinqProvider changed to LINQ3
- ObjectSerializer allowed types configuration
- Bucket and BucketAuto stages support in LINQ3
- Support Azure VM-assigned Managed Identity for Automatic KMS Credentials
- Native support for AWS IAM Roles
ObjectSerializer has been changed to only allow deserialization of types that are considered safe.
What types are considered safe is determined by a new configurable
AllowedTypes function (of type
AllowedTypes function is
ObjectSerializer.DefaultAllowedTypes which returns true for a number of well-known framework types that we have deemed safe.
A typical example might be to allow all the default allowed types as well as your own types. This could be accomplished as follows:
var objectSerializer = new ObjectSerializer(type => ObjectSerializer.DefaultAllowedTypes(type) || type.FullName.StartsWith("MyNamespace")); BsonSerializer.RegisterSerializer(objectSerializer);
More information about the
ObjectSerializer is available in our FAQ.
Default LinqProvider has been changed to LINQ3.
LinqProvider can be changed back to LINQ2 in the following way:
var connectionString = "mongodb://localhost"; var clientSettings = MongoClientSettings.FromConnectionString(connectionString); clientSettings.LinqProvider = LinqProvider.V2; var client = new MongoClient(clientSettings);
If you encounter a bug in LINQ3 provider, please report it in CSHARP JIRA project.
The full list of issues resolved in this release is available at CSHARP JIRA project.
Documentation on the .NET driver can be found here.