Bug
- [CSHARP-691] - UpdateBuilder.Set throws InvalidOperationException when Set twice with the same element.
- [CSHARP-711] - BitmapSerializer needs to be removed as not all formats can be consistently round tripped
- [CSHARP-910] - BsonInternalException thrown in BsonCreatorMap.CreateInstance
- [CSHARP-945] - Consider throwing ArgumentOutOfRangeException when DateTime overload of ObjectId is out of range.
- [CSHARP-1039] - The Equals methods of SslSettings does not compare the certificate collections correctly
- [CSHARP-1094] - ReadPreference and MaxTime not honored for cursor.Count() and Size()
- [CSHARP-1128] - Heartbeats should speed up to minHeartbeatFrequencyMS whenever any SelectServerAsync loop is waiting for a suitable server
- [CSHARP-1133] - Deadlock in mongo db C# drivers when using legacy MongoServer and WebApi
- [CSHARP-1137] - Consider hiding listener interfaces until Monitoring Spec is completed
- [CSHARP-1140] - Using Core Cluster with GSSAPI gets the database incorrectly configured.
- [CSHARP-1172] - Error using ReadPreferenceServerSelector when servers have no tags
- [CSHARP-1174] - IBsonSerializer for a mapped member should flow through expression tree when result type is the same.
- [CSHARP-1178] - MaxSize is ignored when creating a capped collection
- [CSHARP-1189] - FilterDefinitionBuilder doesn't account for all the variants of Eq, Gte, In, etc... where arrays or scalars are allowed
- [CSHARP-1190] - Expression Trees with an upcasted conversion lose original serializer
- [CSHARP-1195] - Driver is not re-establishing connection to MongoDb
- [CSHARP-1198] - mongodb-csharp-driver throwing NullReferenceException when using CountAsync
- [CSHARP-1218] - Null Reference Exception using Unwind with a Projection
- [CSHARP-1221] - GeoWithinBox doesn't contain enough parameters
- [CSHARP-1223] - JsonWriter Closes Underlying TextWriter Upon Dispose
- [CSHARP-1227] - Connection to replicaset, RequestHeartbeat error
Epic
- [CSHARP-936] - Create and adopt a new Core Library
- [CSHARP-974] - New High Level API
New Feature
- [CSHARP-138] - Add asynchronous APIs
- [CSHARP-305] - Implement new Nuget Packaging
- [CSHARP-531] - Support the $ positional operator when building a query for updating a collection
- [CSHARP-539] - Support C# dynamic type
- [CSHARP-716] - Add support for serializing type Tuple introduced in .NET Framework 4
- [CSHARP-719] - Add a setting for Heartbeat Frequency
- [CSHARP-722] - Provide a method to inspect the state of a cluster
- [CSHARP-783] - Support ISet Serialization
- [CSHARP-894] - Add windows performance counters for connection pool status
- [CSHARP-918] - There is no easy way to set a default serialization option for a type (even if it is in an array, dictionary, or derived class)
- [CSHARP-978] - Design and create new database implementation
- [CSHARP-985] - Instrument hooks to enable tracing and performance capture of all network calls from the csharp driver
- [CSHARP-1036] - Design and create new collection implementation
- [CSHARP-1077] - Support deserialization of readonly collection interfaces (IReadOnlyCollection<T>, IReadOnlyLis<T>t)
- [CSHARP-1131] - Support projections in IFluentFind using Expressions and extension methods
- [CSHARP-1132] - Support Project and Group in IAggregateFluent with Expression Trees
- [CSHARP-1161] - Add WithReadPreference and WithWriteConcern to IMongoDatabase and IMongoCollection
- [CSHARP-1173] - Aggregation Framework needs to support $addToSet and $push inside a Group expression tree
- [CSHARP-1175] - Aggregation needs to support set operators.
- [CSHARP-1176] - Aggregation should support Equals method.
- [CSHARP-1197] - New reference documentation site
Task
- [CSHARP-389] - TestBitmap fails using Mono on Mac OS X
- [CSHARP-501] - Remove Items Marked Obsolete
- [CSHARP-875] - Reimplement legacy API on top of New Core
- [CSHARP-1013] - Create new Core Library
- [CSHARP-1037] - Port bulk write operations from 1.x to 2.x
- [CSHARP-1070] - Use listCollections command for helper method
- [CSHARP-1071] - Add listIndexes command
- [CSHARP-1072] - Bump maxWireProtocolVersion for 2.8 features
- [CSHARP-1074] - Reimplement legacy CRUD methods that use commands on top of operations in Core
- [CSHARP-1075] - Reimplement legacy admin methods that use commands on top of operations in Core
- [CSHARP-1081] - Modify CreateIndexOperation to use new createIndexesCommand when supported by server
- [CSHARP-1084] - Avoid using HasFlag
- [CSHARP-1088] - Padding has been removed from Validate Collection
- [CSHARP-1089] - Test against non-mmapv1 storage engine
- [CSHARP-1090] - Work around localhost exception issues in addUser helpers
- [CSHARP-1100] - Remove Command and ServerInstance from CommandResult
- [CSHARP-1102] - Remove RequestStart from the public API
- [CSHARP-1103] - Remove all occurences of FileFormatException
- [CSHARP-1104] - Implement Expression base helpers in the new API.
- [CSHARP-1106] - Review driver exception hierarchy
- [CSHARP-1108] - Add support for storage options to CreateIndex and CreateCollection
- [CSHARP-1113] - Force slaveOk to true for direct connections
- [CSHARP-1120] - Update Core Settings classes to use Record-Style With method
- [CSHARP-1129] - Ensure there is no memory leak when a ReceiveMessageAsync task is cancelled
- [CSHARP-1130] - Consider converting listeners with methods and parameters to use structs
- [CSHARP-1136] - Implement latencyThreshold
- [CSHARP-1141] - Rename MongoNotMasterException to MongoNotPrimaryException
- [CSHARP-1146] - Modify ReadPreference and WriteConcern to use Optional<T> and With like the settings classes
- [CSHARP-1159] - RunCommand should default to Primary ReadPreference
- [CSHARP-1160] - Either enforce the distinction between Direct and Standalone connection modes or remove Standalone from the enum
- [CSHARP-1167] - Fail to connect to single node replication set
- [CSHARP-1182] - Implement Server Selection Spec Yaml Tests
- [CSHARP-1192] - Wrap exceptions that occur during communication with a MongoCommunicationException
- [CSHARP-1201] - Remove OperationTimeout from Settings
Improvement
- [CSHARP-153] - Wrapping internal communication exceptions
- [CSHARP-393] - MongoConnectionPool should throw some kind of MongoException (MongoConnectionException?) instead of TimeoutException
- [CSHARP-470] - Add logging to the Driver to help determine connection issues
- [CSHARP-473] - Unexpected InvalidOperationException in MongoServerInstance.AcquireConnection
- [CSHARP-485] - Investigate Interface Usage in Bson library
- [CSHARP-509] - Remove superfluous Create methods and change how remaining Create methods handle C# null
- [CSHARP-543] - Move common types into base namespaces
- [CSHARP-555] - BsonDocument object model methods should throw ArgumentNullException instead of ignoring C# null
- [CSHARP-558] - Replace AsXyz and ToXyz in BsonValue with GetXyz in BsonDocument
- [CSHARP-560] - Remove explicit conversions from BsonValue
- [CSHARP-573] - Change MD5 Hash for Machine Key to Something FIPS Compliant
- [CSHARP-616] - Remove strong naming
- [CSHARP-625] - Make .NET Framework 4 the minimum requirement for the C# driver
- [CSHARP-663] - Move life cycle managament of server proxy objects down to MongoServerProxyFactory
- [CSHARP-664] - Deprecate MongoClient.GetServer() and Remove MongoServer.Create()
- [CSHARP-730] - Better error messaging for when we ignore read preference
- [CSHARP-863] - How should BsonValues be serialized for C# null?
- [CSHARP-933] - Improve IBsonSerializer design
- [CSHARP-934] - Reorganize Repository
- [CSHARP-937] - connectTimeoutMS should apply to the socket
- [CSHARP-938] - Write API Documentation and Review Visibility of Classes/Members
- [CSHARP-939] - Revisit Dynamic DictionaryRepresentation
- [CSHARP-944] - Investigate using a Trie to speed up UTF8 decoding of element names
- [CSHARP-952] - Remove Support for Partially Trusted Callers
- [CSHARP-968] - Use a Trie in all our handcoded serializers to speed up deserialization
- [CSHARP-975] - Move Caching of Connection Pools out of MongoServer.
- [CSHARP-977] - Remove Deprecated Members in MongoServer, MongoDatabase, MongoDatabaseSettings, MongoCollection, and MongoCollectionSettings
- [CSHARP-979] - Remove MongoConnectionStringBuilder
- [CSHARP-981] - Introduce INameDecoder interface and use it to move Trie based name decoding out of BsonBinaryReader
- [CSHARP-1015] - Fix Build Warnings on Mono
- [CSHARP-1023] - Allow count to work with query hints
- [CSHARP-1029] - Introduce interfaces for IBsonReader/IBsonWriter
- [CSHARP-1032] - Add Documentation for X.509 external authentication for the C# driver
- [CSHARP-1041] - Move Driver Exceptions into Core library
- [CSHARP-1043] - Use Core's ReadPreference in Legacy API
- [CSHARP-1044] - Use Core's WriteConcern in Legacy API
- [CSHARP-1051] - Ensure ConfigureAwait is used internally on awaited async calls
- [CSHARP-1055] - Replace CheckElementNames and CheckUpdateDocument with a more flexible ElementNameValidator
- [CSHARP-1063] - Remove _bsonType field from BsonValue
- [CSHARP-1065] - BsonDocument should postpone creating internal dictionary until document grows large enough
- [CSHARP-1066] - Change BsonElement from a class to a struct
- [CSHARP-1078] - Integrate Server Discovery and Monitoring Tests
- [CSHARP-1082] - Don't allow TagSets to be used with a ReadPreferenceMode of Primary
- [CSHARP-1092] - Optimize output of BSON arrays by caching index names
- [CSHARP-1093] - Handle "not master" errors in compliance with SDAM spec.
- [CSHARP-1096] - Depend on the fewest number of DLLs possible
- [CSHARP-1097] - Add ConnectionId to MongoException (or some suitable subclass of it)
- [CSHARP-1109] - Remove project reference from MongoDB.Driver.Tests to MongoDB.Driver.Core.Tests
- [CSHARP-1111] - Reduce the number of serialization contexts that must be created
- [CSHARP-1112] - Simplify IByteBuffer interface
- [CSHARP-1115] - Support alternate buffer pool strategies
- [CSHARP-1116] - Support alternate strategies for input and output buffers
- [CSHARP-1117] - Add a few methods to IBsonStream and make it a fully functional stream
- [CSHARP-1123] - Remove the ConnectionWrapper, ConnectionHandle and ReferenceCountedConnection classes
- [CSHARP-1124] - Consider removing the SharedConnectionPool class
- [CSHARP-1138] - Add IndexOfName method to BsonDocument
- [CSHARP-1142] - Expose Stream Factory configuration in the High-Level API
- [CSHARP-1145] - Support cursor in listCollections and listIndexes commands
- [CSHARP-1147] - Add Error Categories to WriteError
- [CSHARP-1150] - Replace instances of new UTF8Encoding(false, true) with static singletons
- [CSHARP-1151] - C# doesn't have a "keepAlive" option, which exists in Java driver
- [CSHARP-1168] - problems diagnosing connection issues from C# driver
- [CSHARP-1187] - Ability to set maxTimeMS via Linq
- [CSHARP-1196] - Change minHeartbeatFrequencyMS from 10 to 500
- [CSHARP-1224] - All our Binary and JSON readers and writers should be able to operate on multiple documents
Sub-task
- [CSHARP-1202] - Docs - Landing Page
- [CSHARP-1203] - Docs - Getting Started
- [CSHARP-1204] - Docs - What's New
- [CSHARP-1205] - Docs - Upgrading
- [CSHARP-1207] - Docs - Reading/Writing Raw BSON
- [CSHARP-1208] - Docs - Serialization
- [CSHARP-1209] - Docs - Mapping
- [CSHARP-1211] - Docs - Connecting
- [CSHARP-1212] - Docs - Authentication
- [CSHARP-1217] - Automate building/publishing docs
- [CSHARP-1219] - Docs - SSL
- [CSHARP-1226] - Docs - Convert 1.x Documentation
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.