Skip to content

Commit 36f8acb

Browse files
author
rstam
committed
Added release notes for 1.8.3.
1 parent b984c5a commit 36f8acb

File tree

4 files changed

+114
-0
lines changed

4 files changed

+114
-0
lines changed

CSharpDriver.sln

+3
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Release Notes", "Release No
4040
Release Notes\Change Log v1.8.1-Driver.txt = Release Notes\Change Log v1.8.1-Driver.txt
4141
Release Notes\Change Log v1.8.2-Bson.txt = Release Notes\Change Log v1.8.2-Bson.txt
4242
Release Notes\Change Log v1.8.2-Driver.txt = Release Notes\Change Log v1.8.2-Driver.txt
43+
Release Notes\Change Log v1.8.3-Bson.txt = Release Notes\Change Log v1.8.3-Bson.txt
44+
Release Notes\Change Log v1.8.3-Driver.txt = Release Notes\Change Log v1.8.3-Driver.txt
4345
Release Notes\Release Notes v0.11.txt = Release Notes\Release Notes v0.11.txt
4446
Release Notes\Release Notes v0.7.txt = Release Notes\Release Notes v0.7.txt
4547
Release Notes\Release Notes v0.9.txt = Release Notes\Release Notes v0.9.txt
@@ -57,6 +59,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Release Notes", "Release No
5759
Release Notes\Release Notes v1.7.md = Release Notes\Release Notes v1.7.md
5860
Release Notes\Release Notes v1.8.1.md = Release Notes\Release Notes v1.8.1.md
5961
Release Notes\Release Notes v1.8.2.md = Release Notes\Release Notes v1.8.2.md
62+
Release Notes\Release Notes v1.8.3.md = Release Notes\Release Notes v1.8.3.md
6063
Release Notes\Release Notes v1.8.md = Release Notes\Release Notes v1.8.md
6164
EndProjectSection
6265
EndProject
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
BSON library changes from 1.8.2 to 1.8.3
2+
3+
NamedIdMemberConvention.cs
4+
Make sure Id is declared in this class (and not just overridden) before mapping it
5+
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
C#/.NET driver changes from 1.8.2 to 1.8.3
2+
3+
MongoConnection.cs
4+
When an error occurs don't set server instance state to Unknown (instead call RefreshStateAsSoonAsPossible)
5+
6+
MongoServerInstance.cs
7+
Added RefreshStateAsSoonAsPossible method
8+
9+
GeoJson2DCoordinatesSerializer.cs
10+
GeoJson2DGeographicCoordinatesSerializer.cs
11+
GeoJson2DProjectedCoordinatesSerializer.cs
12+
GeoJson3DCoordinatesSerializer.cs
13+
GeoJson3DGeographicCoordinatesSerializer.cs
14+
GeoJson3DProjectedCoordinatesSerializer.cs
15+
Deserialize methods now use DoubleSerializer (to handle conversions from other types to double)
16+
17+
InsertOperation.cs
18+
Container parameter in call to GenerateId is now a MongoCollection instance (like it used to be)
19+
20+
QueryOperation.cs
21+
Execute was sometimes fetching one more batch of results than necessary when limit was used
22+
Exceptions thrown by KillCursor should be ignored
23+
24+
MongoCollection.cs
25+
Pass MongoCollection to new container parameter of InsertOperation (to be passed to GenerateId)
26+
Fixed Save to correctly handle _id value for all possible serializers
27+
28+
MongoServerState.cs
29+
Remove Unknown enum value

Release Notes/Release Notes v1.8.3.md

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
C#/.NET Driver Version 1.8.3 Release Notes
2+
==========================================
3+
4+
This is a minor release but is a recommended upgrade for all 1.8.2 users, particularly
5+
if you use the limit option with queries (1.8.3 fixes a performance issue that occurs
6+
when small limits are used with queries that would otherwise return a large number of
7+
results).
8+
9+
An online version of these release notes is available at:
10+
11+
https://github.com/mongodb/mongo-csharp-driver/blob/v1.8.3/Release%20Notes/Release%20Notes%20v1.8.3.md
12+
13+
File by file change logs are available at:
14+
15+
https://github.com/mongodb/mongo-csharp-driver/blob/v1.8.3/Release%20Notes/Change%20Log%20v1.8.3-Bson.txt
16+
https://github.com/mongodb/mongo-csharp-driver/blob/v1.8.3/Release%20Notes/Change%20Log%20v1.8.3-Driver.txt
17+
18+
The full list of JIRA issues resolved in this release is available at:
19+
20+
https://jira.mongodb.org/issues/?filter=14059
21+
22+
Documentation on the C#/.NET driver can be found at:
23+
24+
http://docs.mongodb.org/ecosystem/drivers/csharp/
25+
http://api.mongodb.org/csharp/current/
26+
27+
BSON Library Changes
28+
====================
29+
30+
Id mapping change
31+
-----------------
32+
33+
If the Id field is declared abstract or virtual in a base class and later overridden
34+
in a derived class we were incorrectly mapping it twice. We now only map it once in
35+
the class where it is first declared.
36+
37+
Driver Changes
38+
==============
39+
40+
Better handling of server state when errors occurr
41+
--------------------------------------------------
42+
43+
When an error occurred on one connection we were setting the server instance state
44+
to Unknown, which caused problems on other connections. Now we simply tell the server
45+
instance to refresh its state as soon as possible.
46+
47+
GeoJson deserialization accepts numeric types besides doubles
48+
-------------------------------------------------------------
49+
50+
In 1.8.2 the GeoJson deserializers required that the coordinate values be stored as
51+
doubles. In 1.8.3 the Serialize method still stores them as doubles but the Deserialize
52+
method can convert from other numeric types to doubles.
53+
54+
Id generators
55+
-------------
56+
57+
The container parameter to the GenerateId method of the IIdGenerator interface was
58+
inadvertently changed in 1.8.2. In 1.8.3 the value of the container parameter is once
59+
again the MongoCollection instance for which an Id needs to be generated.
60+
61+
Performance problem with queries that used limit
62+
------------------------------------------------
63+
64+
The Execute method of the new QueryOperation class would in certain cases fetch one
65+
more batch of results than necessary from the server. This did not affect the correctness
66+
of the results but could result in a substantial loss of performance. This has been
67+
fixed in 1.8.3.
68+
69+
Save method and _id values
70+
--------------------------
71+
72+
The Save method has been simplified to correctly serialize the _id value for all
73+
possible serializers. The new approach is slightly less efficient in some cases but
74+
is the only approach that will work if custom serializers are being used. Since all
75+
Save does is call either Insert or Update you can get slightly better performance
76+
by calling Insert or Update yourself (call Insert if you know it's a new document
77+
or call Update with an appropriate query and the Upsert flag if you are not sure).

0 commit comments

Comments
 (0)