Skip to content

Commit 73d955b

Browse files
author
rstam
committed
Change logs and release notes for 1.7.
1 parent 87b83be commit 73d955b

File tree

4 files changed

+203
-0
lines changed

4 files changed

+203
-0
lines changed

CSharpDriver-2010.sln

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Release Notes", "Release No
3232
Release Notes\Change Log v1.6-Driver.txt = Release Notes\Change Log v1.6-Driver.txt
3333
Release Notes\Change Log v1.6.1-Bson.txt = Release Notes\Change Log v1.6.1-Bson.txt
3434
Release Notes\Change Log v1.6.1-Driver.txt = Release Notes\Change Log v1.6.1-Driver.txt
35+
Release Notes\Change Log v1.7-Bson.txt = Release Notes\Change Log v1.7-Bson.txt
36+
Release Notes\Change Log v1.7-Driver.txt = Release Notes\Change Log v1.7-Driver.txt
3537
Release Notes\Release Notes v0.11.txt = Release Notes\Release Notes v0.11.txt
3638
Release Notes\Release Notes v0.7.txt = Release Notes\Release Notes v0.7.txt
3739
Release Notes\Release Notes v0.9.txt = Release Notes\Release Notes v0.9.txt
@@ -46,6 +48,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Release Notes", "Release No
4648
Release Notes\Release Notes v1.5.md = Release Notes\Release Notes v1.5.md
4749
Release Notes\Release Notes v1.6.1.md = Release Notes\Release Notes v1.6.1.md
4850
Release Notes\Release Notes v1.6.md = Release Notes\Release Notes v1.6.md
51+
Release Notes\Release Notes v1.7.md = Release Notes\Release Notes v1.7.md
4952
EndProjectSection
5053
EndProject
5154
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DriverUnitTestsVB", "DriverUnitTestsVB\DriverUnitTestsVB.vbproj", "{19ED9AD5-A2CA-4F1B-9BE4-96450382F404}"
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
BSON library changes from 1.6.1 to 1.7
2+
3+
BsonClassMap.cs
4+
added GetRegisteredClassMaps method
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
C#/.NET driver changes from 1.6.1 to 1.7
2+
3+
SafeModeResult.cs
4+
deprecated class
5+
use WriteConcernResult instead
6+
7+
WriteConcernResult.cs
8+
new class
9+
replaces SafeModeResult
10+
derives from SafeModeResult for temporary backwards compatibiliy
11+
12+
MongoClient.cs
13+
new root class (see Release Notes)
14+
use instead of MongoServer (or in addition to)
15+
16+
MongoClientSettings.cs
17+
new class
18+
used instead of MongoServerSettings
19+
20+
MongoCollection.cs
21+
all methods that used to return a SafeModeResult now return a WriteConcernResult
22+
all methods that used to take a SafeMode parameter now take a WriteConcern parameter
23+
24+
MongoCollectionSettings.cs
25+
deprecated SafeMode property (use WriteConcern instead)
26+
added WriteConcern property
27+
28+
MongoConnectionStringBuilder.cs
29+
deprecated SafeMode property (use FSync, Journal, W and WTimeout instead)
30+
added FSync, Journal, W and WTimeout properties
31+
added argument checking to many property set methods
32+
added GetWriteConcern method
33+
remove use of safe=true (Parse still supports it for backwards compatibility)
34+
35+
MongoCredentialsStore.cs
36+
added IsFrozen property
37+
38+
MongoDatabase.cs
39+
deprecated Create methods (use MongoClient and GetDatabase instead)
40+
all methods that used to take a SafeMode parameter now take a WriteConcern parameter
41+
42+
MongoDatabaseSettings.cs
43+
deprecated SafeMode property (use WriteConcern instead)
44+
added WriteConcern property
45+
46+
MongoInsertOptions.cs
47+
deprecated SafeMode property (use WriteConcern instead)
48+
added WriteConcern property
49+
50+
MongoServer.cs
51+
deprecated Create methods (use MongoClient and GetServer instead)
52+
all methods that used to take a SafeMode parameter now take a WriteConcern parameter
53+
54+
MongoServerAddress.cs
55+
fixed exception message for invalid server address
56+
57+
MongoServerSettings.cs
58+
deprecated SafeMode property (use WriteConcern instead)
59+
added WriteConcern property
60+
fixed default connection mode to be Automatic
61+
deprecated one constructor that will be removed in a later version
62+
added FromClientSettings method
63+
added FromConnectionStringBuilder method
64+
added FromUrl method
65+
reimplemented Clone
66+
67+
MongoUpdateOptions.cs
68+
deprecated SafeMode property (use WriteConcern instead)
69+
added WriteConcern property
70+
71+
MongoUrl.cs
72+
added private fields for all values (instead of using an instance of MongoServerSettings to hold the values)
73+
deprecated SafeMode property (use FSync, Journal, W and WTimeout instead)
74+
added FSync, Journal, W and WTimeout properties
75+
added GetWriteConcern method
76+
deprecated ToServerSettings (use MongoServerSettings.FromUrl instead)
77+
78+
MongoUrlBuilder.cs
79+
deprecated SafeMode property (use FSync, Journal, W and WTimeout instead)
80+
added FSync, Journal, W and WTimeout properties
81+
added argument checking to many property set methods
82+
added GetWriteConcern method
83+
deprecated ToServerSettings (use MongoServerSettings.FromUrl instead)
84+
remove use of safe=true (Parse still supports it for backwards compatibility)
85+
86+
SafeMode.cs
87+
deprecated class (use WriteConcern instead)
88+
reimplemented to forward all operations to an underlying WriteConcern
89+
90+
WriteConcern.cs
91+
new class (replaces SafeMode, see Release Notes)
92+
new nested abstract class WValue and subclasses WCount and WMode
93+
94+
MongoSafeModeException.cs
95+
deprecated class (use WriteConcernException instead)
96+
97+
WriteConcernException.cs
98+
new class (replaces MongoSafeModeException)
99+
derives from MongoSafeModeException for backward compatibility
100+
101+
MongoGridFSSettings.cs
102+
deprecated SafeMode property (use WriteConcern instead)
103+
added WriteConcern property
104+
105+
PredicateTranslator.cs
106+
added support for ToLowerInvariant and ToUpperInvariant in LINQ queries
107+
improved support for mapping array element references in LINQ queries to dotted field notation in more cases
108+
improved support for type related LINQ queries
109+
110+
MongoDefaults.cs
111+
deprecated SafeMode property (no replacement, the default WriteConcern is always Acknowledged)

Release Notes/Release Notes v1.7.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
C# Driver Version 1.7 Release Notes
2+
===================================
3+
4+
This is a major release.
5+
6+
This release has two major goals: to standardize on the name WriteConcern and
7+
to make Acknowledged the new default WriteConcern.
8+
9+
The following classes are being replaced:
10+
11+
- SafeMode is replaced by WriteConcern
12+
- SafeModeResult is replaced by WriteConcernResult
13+
- MongoSafeModeException is replaced by WriteConcernException
14+
15+
To make Acknowledged the new default WriteConcern without breaking any existing
16+
code that might rely on the old default we are introducing a new root class
17+
called MongoClient.
18+
19+
An online version of these release notes is available at:
20+
21+
https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Release%20Notes%20v1.7.md
22+
23+
File by file change logs are available at:
24+
25+
https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Change%20Log%20v1.7-Bson.txt
26+
https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Change%20Log%20v1.7-Driver.txt
27+
28+
The full list of JIRA issues resolved in this release is available at:
29+
30+
https://jira.mongodb.org/secure/IssueNavigator.jspa?mode=hide&requestId=12915
31+
32+
Documentation on the C# driver can be found at:
33+
34+
http://www.mongodb.org/display/DOCS/CSharp+Language+Center
35+
http://api.mongodb.org/csharp/current/
36+
37+
Standardizing on WriteConcern instead of SafeMode
38+
-------------------------------------------------
39+
40+
Some MongoDB drivers (the C# driver included) have used SafeMode as the name
41+
for the class which determines whether writes to the database are checked for
42+
errors. We are now standardizing across all drivers to use the name WriteConcern
43+
instead of SafeMode. The C# driver will continue to support the SafeMode class
44+
for a few releases but eventually it will be removed.
45+
46+
You should start using the new WriteConcern class, but we have also provided
47+
an implicit conversion from SafeMode to WriteConcern so any code that passes
48+
a SafeMode argument to a method taking a WriteConcern parameter will still
49+
compile and work.
50+
51+
New MongoClient class and default WriteConcern
52+
----------------------------------------------
53+
54+
The new default WriteConcern is Acknowledged, but we have introduced the new
55+
default in a way that doesn't alter the behavior of existing programs. We
56+
are introducing a new root class called MongoClient that defaults the
57+
WriteConcern to Acknowledged. The existing MongoServer Create methods are
58+
deprecated but when used continue to default to a WriteConcern of Unacknowledged.
59+
60+
In prior releases you would start using the C# driver with code like this:
61+
62+
var connectionString = "mongodb://localhost";
63+
var server = MongoServer.Create(connectionString); // deprecated
64+
var database = server.GetDatabase("test"); // WriteConcern defaulted to Unacknowledged
65+
66+
The new way to start using the C# driver is:
67+
68+
var connectionString = "mongodb://localhost";
69+
var client = new MongoClient(connectionString);
70+
var database = client.GetDatabase("test"); // WriteConcern defaulted to Acknowledged
71+
72+
If you use the old way to start using the driver the default WriteConcern will
73+
be Unacknowledged, but if you use the new way (using MongoClient) the default
74+
WriteConcern will be Acknowledged.
75+
76+
If for some reason you need access to the MongoServer object you can write this instead:
77+
78+
var connectionString = "mongodb://localhost";
79+
var client = new MongoClient(connectionString);
80+
var server = client.GetServer();
81+
var database = server.GetDatabase("test");
82+
83+
You can also navigate from the MongoDatabase object to the MongoServer it belongs to:
84+
85+
var server = database.Server;

0 commit comments

Comments
 (0)