Skip to content

Commit 07594e7

Browse files
author
rstam
committed
Change logs and release notes for 1.6.
1 parent a200c61 commit 07594e7

File tree

3 files changed

+84
-25
lines changed

3 files changed

+84
-25
lines changed

Release Notes/Change Log v1.6-Bson.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
BSON library changes from 1.5 to 1.6
22

3+
BsonWriter.cs
4+
no longer allow $csharpnull (driver now uses _csharpnull instead)
5+
36
BsonSerializerAttribute.cs
47
new attribute to configure a serializer for a class or a member
58

9+
BsonValueSerializer.cs
10+
BsonNullSerializer now uses _csharpnull instead of $csharpnull for a C# null value of type BsonNull
11+
612
ReadOnlyCollectionSerializer.cs
713
new serializer for ReadOnlyCollection
814

Release Notes/Change Log v1.6-Driver.txt

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
C# driver changes from 1.5 to 1.6
22

3+
IndexOptionsBuilder.cs
4+
added SetTimeToLive
5+
36
QueryBuilder.cs
47
QueryBuilderTyped.cs
58
Mod arguments changed from int to long
@@ -8,13 +11,21 @@ AggregateResult.cs
811
new class
912
represents the result of an aggregate command
1013

14+
CollectionStatsResults.cs
15+
added CollectionSystemFlags and CollectionUserFlags enums
16+
marked Flags property obsolete
17+
added SystemFlags and UserFlags properties
18+
1119
IsMasterResult.cs
1220
new class
1321
represents the result of an IsMaster command
1422

1523
ConnectWaitFor.cs
1624
enum removed (obsoleted by ReadPreference)
1725

26+
GetIndexesResult.cs
27+
added TimeToLive property to IndexInfo class
28+
1829
MongoCollection.cs
1930
added Aggregate helper method
2031
obsoleted slaveOk
@@ -56,6 +67,8 @@ MongoServer.cs
5667
instance management logic moved from this class to new proxy classes
5768
static constructor no longer registers serializers (see MongoDBRef and SystemProfileInfo)
5869
removed ConnectWaitFor overload to Connect
70+
obsoleted slaveOk
71+
added support for ReadPreference
5972

6073
MongoServerBuildInfo.cs
6174
added new FromCommandResult helper factory method
@@ -65,11 +78,14 @@ MongoServerInstance.cs
6578
added tracking of a running average Ping time
6679
moved state verification time here from MongoConnectionPool
6780
added several new internal properties (AveragePingTime, ReplicaSetInformation, InstanceType)
68-
changed most thread synchronization to use Interlocked methods rather than locks
81+
reengineered how locking is used
82+
changed some thread synchronization to use Interlocked methods rather than locks
83+
IsMasterResult now returns an instance of the new IsMasterResult class
6984
reimplemented VerifyState
70-
reimplemented Connect
85+
reimplemented Connect and Disconnect
7186
renamed internal VerifyState helper method to LookupServerInformation (and reimplemented it)
7287
added internal Ping helper method that keeps running average of Ping time
88+
added new ServerInformation helper class
7389

7490
MongoServerSettings.cs
7591
obsoleted slaveOk
@@ -136,46 +152,60 @@ DiscoveringMongoServerProxy.cs
136152
new class that is used when we won't know what kind of server we are connected to until we try to connect to it
137153

138154
IMongoServerProxy.cs
139-
interface for proxies
155+
interface for server proxies
140156

141157
MongoConnection.cs
142158
added support for SSL
159+
changed RunCommand to take a database name instead of a collection name
143160

144161
MongoConnectionPool.cs
145162
moved state verification timer to MongoServerInstance
163+
new MaintainPoolSize method is a refactoring of the old TimerCallback method
146164
RemoveConnection is now private
147165

148166
MongoServerProxyFactory.cs
149167
new class to handle choosing the type of IMongoServerProxy to create based on settings
150168

151-
MultipleConnectionMongoServerProxy.cs
169+
MultipleInstanceMongoServerProxy.cs
152170
new abstract class for managing multiple active MongoServerInstances
153171

154172
PingTimeAggregator.cs
155173
new class to keep track of ping times and their average for a MongoServerInstance
156174

157175
ReplicaSetConnector.cs
158176
removed class
159-
more or less replaced by MultipleConnectionMongoServerProxy and ReplicaSetMongoServerProxy
177+
more or less replaced by MultipleInstanceMongoServerProxy and ReplicaSetMongoServerProxy
160178

161179
ReplicaSetInformation.cs
162180
new class to hold information about a replica set
163181

164182
ReplicaSetMongoServerProxy.cs
165-
new subclass of MultipleConnectionMongoServerProxy to implement replica set specifics
183+
new subclass of MultipleInstanceMongoServerProxy to implement replica set specifics
166184

167185
ShardedMongoServerProxy.cs
168-
new sublcass of MultipleConnectionMongoServerProxy to implement mongos specifics
186+
new sublcass of MultipleInstanceMongoServerProxy to implement mongos specifics
169187

170-
MongoQueryProvider.cs
171-
fixed a bug related to First, FirstOrDefault, Single and SingleOrDefault when projecting a primitive type
188+
ExpressionNormalizer.cs
189+
normalize comparisons of Nullable<T> from VB to C#
190+
VisitUnary now calls base method before normalizing
172191

173192
PredicateTranslator.cs
174-
changed Mod operation to use a 64-bit integer
193+
changed Mod query operator to support either 32-bit or 64-bit integers
194+
195+
Projector.cs
196+
added new IProjector and IProjector<TSource, TResult> interfaces
197+
added new IdentityProjector<T> class
198+
Projector<TSource, TResult> now implements IProjector<TSource, TResult> interface
199+
added Cursor property to Projector
175200

176201
SelectQuery.cs
177202
changed skip and take handling to be order dependent
178203
Distinct now must appear last in the query pipeline
204+
changed Execute so that a projector is always used, even if it is only an IdentityProjector
179205

180206
BsonSerializationInfoHelper.cs
181-
moved code to the BsonSerializationInfo class
207+
moved SerializeValue and SerializeValues to the BsonSerializationInfo class
208+
but left behind forwarding stubs (for now)
209+
210+
MongoQueryProvider.cs
211+
fixed a bug related to First, FirstOrDefault, Single and SingleOrDefault when projecting a primitive type

Release Notes/Release Notes v1.6.md

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,54 @@
11
C# Driver Version 1.6 Release Notes
22
===================================
33

4-
This is a major release featuring support for server 2.2. The major change is
5-
support for[read preferences](http://docs.mongodb.org/manual/applications/replication/#read-preference)
6-
allowing tag based granularity for selecting servers to send commands and
7-
queries to. In addition, we have added support for SSL and a helper method
8-
for the new aggregation framework.
4+
This is a major release featuring support for server 2.2. The major change is
5+
support for read preferences, allowing tag based granularity for selecting
6+
servers to send commands and queries to. In addition, we have added support
7+
for SSL and a helper method for the new aggregation framework.
8+
9+
An online version (with possible corrections) of these release notes is available at:
10+
11+
https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Release%20Notes%20v1.6.md
912

1013
File by file change logs are available at:
1114

1215
https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Change%20Log%20v1.6-Bson.txt
1316
https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Change%20Log%20v1.6-Driver.txt
1417

18+
The full list of JIRA issues resolved in this release is available at:
19+
20+
https://jira.mongodb.org/secure/IssueNavigator.jspa?mode=hide&requestId=12011
21+
22+
Information about read preferences is available online at:
23+
24+
http://docs.mongodb.org/manual/applications/replication/#read-preference
25+
1526
These release notes describe the changes at a higher level, and omits describing
1627
some of the minor changes.
1728

1829
Breaking changes
1930
----------------
2031

21-
- ConnectWaitFor has been removed and replaced with read preferences. Anyone
22-
using the ConnectWaitFor enumeration will need to change their code.
2332
- Commands are no longer always sent to primaries. If you are expecting this
2433
behavior, ensure that your read preference is set to Primary.
25-
26-
JIRA issues resolved
27-
--------------------
28-
29-
The full list of JIRA issues resolved in this release is available at:
30-
31-
https://jira.mongodb.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+CSHARP+AND+fixVersion+%3D+%221.6%22+AND+status+%3D+Closed+ORDER+BY+priority+DESC&mode=hide
34+
- ConnectWaitFor has been removed and replaced with read preferences. Anyone
35+
using the ConnectWaitFor enumeration will need to change their code.
36+
- The serialized representation for a C# null of type BsonNull has been changed
37+
from { $csharpnull : true } to { _csharpnull : true } to work around limitations
38+
of the server. Existing data will still be correctly deserialized but new data
39+
will be written in the new format. This is very unlikely to affect you because
40+
it is very unlikely you have any properties of type BsonNull in your classes.
41+
42+
New features
43+
------------
44+
45+
- There is a new \[BsonSerializer] attribute that can be used to specify which
46+
serializer to use for a class.
47+
- Instances of ReadOnlyCollection are now serializable/deserializable.
48+
- Queries involving Mod now work with 64-bit integers also.
49+
- Support for TTL collections (see IndexOptions.SetTimeToLive).
50+
- Simple helper method for aggregation framework (see MongoCollection.Aggregate).
51+
- SlaveOK has been deprecated and replaced with the more flexible ReadPreference options.
52+
- Support for SSL connections.
53+
- Improved support for LINQ queries from VB.NET.
54+
- Support for connecting to multiple mongos’ with load balancing

0 commit comments

Comments
 (0)