You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
7.6 KiB
221 lines
7.6 KiB
C# Driver Version 1.3 Release Notes
|
|
===================================
|
|
|
|
This release of the C# driver has fewer changes than most releases before it. The primary goal of this release is to support
|
|
new features introduced by the 2.0 server release, and to fix bugs reported since the 1.2 C# driver was released.
|
|
|
|
Highlights
|
|
Support for new features introduced by 2.0 server release
|
|
A number of minor bug fixes
|
|
One important bug fix for Disconnect (which caused the connection pool to get jammed)
|
|
|
|
Breaking changes (mostly internal and/or low level)
|
|
Slight changes in Equals and == for BsonValues
|
|
Equals no longer does numeric coercion and uses Equals (instead of ==) to compare values
|
|
Comparing BsonDouble NaN values now mirrors Equals and == behavior of System.Double
|
|
Operator == (and !=) still coerce different numeric types to a compatible type before comparing
|
|
Calling BsonMemberMap.SetDefaultValue no longer automatically sets SerializeDefaultValue to true
|
|
GetIndexes now returns a GetIndexesResult (original return value is still available as result.RawDocuments)
|
|
|
|
JIRA Issues resolved
|
|
--------------------
|
|
|
|
The list of JIRA issues resolved in this driver release can be found at https://jira.mongodb.org/secure/IssueNavigator.jspa?mode=hide&requestId=11131
|
|
|
|
BSON Library changes
|
|
--------------------
|
|
|
|
BsonBuffer.cs
|
|
SkipCString optimized
|
|
|
|
BsonWriter.cs
|
|
Improved error message when trying to write anything other than a BsonDocument at the root level
|
|
|
|
JsonReader.cs
|
|
ParseJavaScriptDateTimeString now falls back to RFC 822 DateTime formats if DateTime.Parse fails
|
|
|
|
BsonArray.cs
|
|
BsonBinaryData.cs
|
|
BsonBoolean.cs
|
|
BsonDateTime.cs
|
|
BsonJavaScript.cs
|
|
BsonJavaScriptWithScope.cs
|
|
BsonMaxKey.cs
|
|
BsonMinKey.s
|
|
BsonNull.cs
|
|
BsonObjectId.cs
|
|
BsonRegularExpression.cs
|
|
BsonString.cs
|
|
BsonSymbol.cs
|
|
BsonTimestamp.cs
|
|
BsonUndefined.cs
|
|
Added implementations of operator == and operator !=
|
|
Equals now checks type of rhs
|
|
|
|
BsonDocument.cs
|
|
Added implementations of operator == and operator !=
|
|
Equals now checks type of rhs
|
|
Added ToDictionary and ToHashtable methods
|
|
|
|
BsonDouble.cs
|
|
Added implementations of operator == and operator != (now handles NaN same as System.Double)
|
|
Equals now uses Equals instead of == to compare values (now handles NaN same as System.Double)
|
|
Equals now checks type of rhs
|
|
Equals no longer does numeric coercions (now only == and != do)
|
|
|
|
BsonElement.cs
|
|
Equals now checks type of rhs
|
|
|
|
BsonInt32.cs
|
|
BsonInt64.cs
|
|
Added implementations of operator == and operator !=
|
|
Equals now checks type of rhs
|
|
Equals no longer does numeric coercions (now only == and != do)
|
|
|
|
BsonValue.cs
|
|
Operator == and != now call virtual method OperatorEqualsImplementation
|
|
Default implementation of OperatorEqualsImplementation calls Equals, but numeric subclasses override to do numeric coercions
|
|
|
|
BsonDictionaryOptionsAttribute.cs
|
|
New attribute used to choose the representation to use when serializing a Dictionary
|
|
|
|
DictionarySerializationOptions.cs
|
|
New serialization options used to choose the representation to use when serializing a Dictionary
|
|
|
|
DictionaryGenericSerializer.cs
|
|
DictionarySerializer.cs
|
|
Add type information to serialized form when nominalType is object
|
|
Added support for the new DictionarySerializationOptions
|
|
|
|
BsonMemberMap.cs
|
|
SetDefaultValue and SetSerializeDefaultValue now operate independently of each other
|
|
|
|
Driver changes
|
|
--------------
|
|
|
|
GeoHaystackSearchOptionsBuilder.cs
|
|
New class used to build options for GeoHaystack searches
|
|
|
|
IndexKeysBuilder.cs
|
|
Added GeoSpatialHaystack method
|
|
|
|
IndexOptionsBuilder.cs
|
|
Added SetBucketSize method (used with GeoHaystack indexes)
|
|
|
|
MapReduceOptionsBuilder.cs
|
|
Added MapReduceOutputMode enum (Inline, Replace, Merge or Reduce)
|
|
Added support for specifying output collection to a different database
|
|
Added support for sharded output collection
|
|
Added CollectionName property
|
|
Added DatabaseName property
|
|
Added Mode property
|
|
Added Sharded property
|
|
Added support for jsMode option
|
|
|
|
QueryBuilder.cs
|
|
And method now support $and (but avoids using it if possible for backward compatibility)
|
|
Added WithinPolygon method
|
|
|
|
GeoHaystackSearchResult.cs
|
|
New class used to represent the result of a GeoHaystack search
|
|
|
|
GetProfilingLevelResult.cs
|
|
New class used to represent the result of GetProfilingLevel
|
|
|
|
IMongoGeoHaystackSearchOptions.cs
|
|
New marker interface representing GeoHaystack search options
|
|
|
|
GeoHaystackSearchOptionsDocument.cs
|
|
New subclass of BsonDocument that implements IMongoGeoHaystackSearchOptions
|
|
|
|
GeoHaystackSearchOptionsWrapper.cs
|
|
New wrapper that implements IMongoGeoHaystackSearchOptions
|
|
|
|
GetIndexesResult.cs
|
|
New class used to represent result of GetIndexes
|
|
|
|
InsertFlags.cs
|
|
New flags enum used with Insert (ContinueOnError is the only value for now)
|
|
|
|
MongoCollection.cs
|
|
Added GeoHaystackSearch method
|
|
Added GeoHaystackSearchAs method
|
|
GetIndexes now returns a GetIndexesResult (original return value is still available as result.RawDocuments)
|
|
|
|
MongoCollectionSettings.cs
|
|
Added new constructor that inherits some settings from the database settings
|
|
|
|
MongoConnectionStringBuilder.cs
|
|
Added support for "j"
|
|
Added support for "w" string values (in addition to integer)
|
|
|
|
MongoCredentials.cs
|
|
Now implements IEquatable<MongoCredentials>
|
|
Standardized implementation of operator == and Equals
|
|
|
|
MongoDatabase.cs
|
|
Stricter validation of characters in database names (prohibit any character that is not valid in a filename)
|
|
Added GetProfilingInfo method
|
|
Added GetProfilingLevel method
|
|
Added SetProfilingLevel method
|
|
|
|
MongoDatabaseSettings.cs
|
|
Added new constructor that inherits some settings from the server settings
|
|
|
|
MongoInsertOptions.cs
|
|
Added support for InsertFlags
|
|
|
|
MongoServerAddress.cs
|
|
Standardized implementation of operator == and Equals
|
|
|
|
MongoUrl.cs
|
|
Now implements IEquatable<MongoUrl>
|
|
Standardized implementation of operator == and Equals
|
|
|
|
MongoUrlBuilder.cs
|
|
Added support for "j"
|
|
Added support for "w" string values (in addition to integer)
|
|
|
|
ProfilingLevel.cs
|
|
New enum representing profiling level (None, Slow, All)
|
|
|
|
Safemode.cs
|
|
Is no longer an immutable class (so all properties are now settable)
|
|
Added Freeze method (so instance is effectively immutable once it has been frozen)
|
|
Now implements IEquatable<Safemode>
|
|
Added constructor that inherits initial settings from another SafeMode instance
|
|
Standardized implementation of operator == and Equals
|
|
Added J property
|
|
Added WMode property (used when "w" value is a string)
|
|
|
|
SystemProfileInfo.cs
|
|
New class to represent a document from the system.profile collection
|
|
|
|
MongoGridFS.cs
|
|
Now correctly inherits SafeMode from database settings
|
|
|
|
MongoGridFSFileInfo.cs
|
|
Now implements IEquatable<MongoGridFSFileInfo>
|
|
Standardized implementation of operator == and Equals
|
|
|
|
MongoGridFSSettings.cs
|
|
Added a constructor that inherits some settings from the database settings
|
|
|
|
MongoConnection.cs
|
|
Implemented support for "j" and "w" string values for getLastError
|
|
|
|
MongoConnection.cs
|
|
Fixed bug in Clear (called by Disconnect) that was causing connection pool to get jammed
|
|
|
|
MongoInsertMessage.cs
|
|
Added support for Insert flags
|
|
|
|
MongoUpdateMessage.cs
|
|
Added support for null query (treated like an empty BsonDocument)
|
|
|
|
Environments tested on
|
|
----------------------
|
|
|
|
Visual Studio 2010 on Windows 7 x64 against MongoDB 1.8.3, 2.0.0
|
|
Visual Studio 2008 on Windows 7 x64 against MongoDB 1.8.3, 2.0.0
|
|
MonoDevelop 2.6 (with Mono 2.10) on Windows 7 x64, OS X Snow Leopard against MongoDB 1.8.3, 2.0.0
|