From b3ef860e7c35450c520886d9a51fb9cdc550cdb0 Mon Sep 17 00:00:00 2001 From: rstam Date: Fri, 5 Apr 2013 16:43:40 -0400 Subject: [PATCH] Release notes for 1.8.1. --- CSharpDriver-2010.sln | 3 + Release Notes/Change Log v1.8-Driver.txt | 2 +- Release Notes/Change Log v1.8.1-Bson.txt | 29 +++++++++ Release Notes/Change Log v1.8.1-Driver.txt | 57 +++++++++++++++++ Release Notes/Release Notes v1.8.1.md | 74 +++++++++++++++++++++- 5 files changed, 162 insertions(+), 3 deletions(-) create mode 100644 Release Notes/Change Log v1.8.1-Bson.txt create mode 100644 Release Notes/Change Log v1.8.1-Driver.txt diff --git a/CSharpDriver-2010.sln b/CSharpDriver-2010.sln index 46408174f4..8545efc548 100644 --- a/CSharpDriver-2010.sln +++ b/CSharpDriver-2010.sln @@ -36,6 +36,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Release Notes", "Release No Release Notes\Change Log v1.7-Driver.txt = Release Notes\Change Log v1.7-Driver.txt Release Notes\Change Log v1.8-Bson.txt = Release Notes\Change Log v1.8-Bson.txt Release Notes\Change Log v1.8-Driver.txt = Release Notes\Change Log v1.8-Driver.txt + Release Notes\Change Log v1.8.1-Bson.txt = Release Notes\Change Log v1.8.1-Bson.txt + Release Notes\Change Log v1.8.1-Driver.txt = Release Notes\Change Log v1.8.1-Driver.txt Release Notes\Release Notes v0.11.txt = Release Notes\Release Notes v0.11.txt Release Notes\Release Notes v0.7.txt = Release Notes\Release Notes v0.7.txt Release Notes\Release Notes v0.9.txt = Release Notes\Release Notes v0.9.txt @@ -51,6 +53,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Release Notes", "Release No Release Notes\Release Notes v1.6.1.md = Release Notes\Release Notes v1.6.1.md Release Notes\Release Notes v1.6.md = Release Notes\Release Notes v1.6.md Release Notes\Release Notes v1.7.md = Release Notes\Release Notes v1.7.md + Release Notes\Release Notes v1.8.1.md = Release Notes\Release Notes v1.8.1.md Release Notes\Release Notes v1.8.md = Release Notes\Release Notes v1.8.md EndProjectSection EndProject diff --git a/Release Notes/Change Log v1.8-Driver.txt b/Release Notes/Change Log v1.8-Driver.txt index 42695f224b..40de18a6d3 100644 --- a/Release Notes/Change Log v1.8-Driver.txt +++ b/Release Notes/Change Log v1.8-Driver.txt @@ -1,4 +1,4 @@ -C#/.NET driver changes from 1.8 to 1.8 +C#/.NET driver changes from 1.7 to 1.8 DeprecatedQueryBuilder.cs removed deprecated class diff --git a/Release Notes/Change Log v1.8.1-Bson.txt b/Release Notes/Change Log v1.8.1-Bson.txt new file mode 100644 index 0000000000..b944078826 --- /dev/null +++ b/Release Notes/Change Log v1.8.1-Bson.txt @@ -0,0 +1,29 @@ +BSON library changes from 1.8 to 1.8.1 + +ByteArrayBuffer.cs + LoadFrom now checks for end of stream + +ByteArrayBuffer.cs + LoadFrom now checks for end of stream + +MultiChunkBuffer.cs + LoadFrom now checks for end of stream + +AscendingGuidGenerator.cs + new Guid generator that generates Guids that are ascending according to MongoDB + (the Guids will only be ascending if stored using GuidRepresentation.Standard) + +CombGuidGenerator.cs + this class is not deprecated, but the Guids it generates are only ascending if compared the weird way SQL Server compares Guids + timestamp portion now uses SQL server timer resolution (1/300th of a second per tick) + +InterfaceSerializer.cs + new serializer that can be used with any interface + Deserialize uses a discriminator convention to figure out the actual type and calls Deserialize on the actual type's serializer + Serialize looks up the serializer of the actual type and calls Serialize on the actual type's serializer + +BsonClassMap.cs + renamed private method ResolveExplicitProperty to FindPropertyImplementation and made it more robust + +BsonDefaultSerializationProvider.cs + GetSerializer now returns an InterfaceSerializer if the type is an interface diff --git a/Release Notes/Change Log v1.8.1-Driver.txt b/Release Notes/Change Log v1.8.1-Driver.txt new file mode 100644 index 0000000000..119ce571c0 --- /dev/null +++ b/Release Notes/Change Log v1.8.1-Driver.txt @@ -0,0 +1,57 @@ +C#/.NET driver changes from 1.8 to 1.8.1 + +AggregateResult.cs +CollectionStatusResult.cs +DatabaseStatsResult.cs +FindAndModifyResult.cs +GeoHaystackSearchResult.cs +GeoNearResult.cs +GetLastErrorResult.cs +GetProfilingLevelResult.cs +IsMasterResult.cs +MapReduceResult.cs +SafeModeResult.cs +ValidateCollectionResult.cs +WriteConcernResult.cs + now deserialized using standard deserialization mechanisms + +CommandResult.cs + now deserialized using standard deserialization mechanisms + removed Initialize method (deserialization handles setting response, Command is now set via the property) + +CommandResultSerializer.cs + new serializer for CommandResult and most of its subclasses + some CommandResults have their own serializer (e.g. DistinctCommandResult) + +DistinctCommandResult.cs + new subclass of CommandResult for the distinct command + +DistinctCommandResultSerializer.cs + new serializer for DistinctCommandResult + +MongoInsertMessage.cs + fixed bug in ResetBatch that was affecting InsertBatch with multiple sub-batches + +MongoReplyMessage.cs + the serializer to use for the returned documents is now passed in to the constructor + +MongoConnection.cs + internal method RunCommand was renamed RunCommandAs and now returns a TCommandResult + internal method ReceiveMessage has new serializer parameter so it can pass it along to the MongoReplyMessage constructor + internal method SendMessage now uses standard serialization mechanisms to deserialize the WriteConcernResult + +MongoCollection.cs + new Distinct method that returns the distinct values as TValue(s) instead of BsonValue(s) + FindAs is now responsible for looking up the serializer for the result documents + RunCommandAs now uses standard serialization mechanisms to deserialize the command result + +MongoCursor.cs + now receives the serializer and serialization options to use for the result document in the constructor + added new Serializer property + static Create method now has additional serializer and serialization options parameters + +MongoCursorEnumerator.cs + GetReply now uses the serializer and serialization options specified by the cursor + +MongoDatabase.cs + fixed bug in Eval that was preventing args being sent to the server when there was exactly one arg diff --git a/Release Notes/Release Notes v1.8.1.md b/Release Notes/Release Notes v1.8.1.md index 5927a2307f..d0a865d16e 100644 --- a/Release Notes/Release Notes v1.8.1.md +++ b/Release Notes/Release Notes v1.8.1.md @@ -1,2 +1,72 @@ -C# Driver Version 1.8.1 Release Notes -===================================== \ No newline at end of file +C#/.NET Driver Version 1.8.1 Release Notes +========================================== + +This is a minor release. It should be considered a mandatory upgrade from 1.8. The +issues fixed were minor changes but their impact is not minor. In particular, if +you are using replica sets or are using InsertBatch with very large batches you +should consider 1.8.1 a mandatory upgrade. + +An online version of these release notes is available at: + +https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Release%20Notes%20v1.8.1.md + +File by file change logs are available at: + +https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Change%20Log%20v1.8.1-Bson.txt +https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Change%20Log%20v1.8.1-Driver.txt + +The full list of JIRA issues resolved in this release is available at: + +https://jira.mongodb.org/secure/IssueNavigator.jspa?mode=hide&requestId=13252 + +Documentation on the C#/.NET driver can be found at: + +http://www.mongodb.org/display/DOCS/CSharp+Language+Center +http://api.mongodb.org/csharp/current/ + +BSON Library Changes +==================== + +Handling of closed sockets +-------------------------- + +There was an unfortunate regression in 1.8 with respect to sockets closed by the +server which causes the driver to hang waiting for data that is never going to +arrive. + +This was discovered by a user who called Shutdown (which of course resulted in +all sockets being closed), but you could also encounter this issue if +you are connecting to replica sets and the primary closes all sockets when it +steps down (either due to an explicit step down or a re-election). + +AscendingGuidGenerator +---------------------- + +If you are using Guids as your _ids and you want the values to be ascending so +that they are always inserted at the right hand side of the index you can use +this IdGenerator. Note that for the server to see the Guids as ascending you +have to make sure to store them in the right representation, which is +GuidRepresentation.Standard. + +We used to recommend CombGuidGenerator for this use case, but we have since +realized that the Guids generated by the CombGuid are only considered ascending +when Guids are compared using SQL Server's method of comparing Guids. + +Driver Changes +============== + +MongoCollection +--------------- + +There is a new overload of Distinct which returns the values as TValue(s) +instead of as BsonValue(s). + +There was a bug in InsertBatch that resulted in a high probability of +InsertBatch failing if the batch was big enough to have to be split into +multiple sub-batches. + +MongoDatabase +------------- + +RunCommandAs now uses the standard serialization mechanisms to deserialize +all command results returned from the server.