Skip to content

Commit 590101b

Browse files
author
rstam
committed
1.8 Driver change log.
1 parent 79f657e commit 590101b

File tree

2 files changed

+368
-1
lines changed

2 files changed

+368
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ JsonReaderSettings.cs
126126
obsoleted additional constructors
127127
reimplemented CloneImplementation
128128

129-
JsontWriter.cs
129+
JsonWriter.cs
130130
WriteBinaryData now has a single BsonBinaryData parameter
131131
new WriteBytes method
132132
WriteObjectId now has a single ObjectId parameter
Lines changed: 367 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,369 @@
11
C#/.NET driver changes from 1.8 to 1.8
22

3+
DeprecatedQueryBuilder.cs
4+
removed deprecated class
5+
6+
FieldsBuilder.cs
7+
added ElemMatch methods
8+
9+
IndexKeysBuilder.cs
10+
added GeoSpatialSpherical methods
11+
added Hashed methods
12+
added private GetElementName method
13+
changed GetElementNames to use new GetElementName method
14+
15+
PushEachOptions.cs
16+
new options class used with UpdateBuilder.PushEach
17+
18+
QueryBuilder.cs
19+
added new GetIntersects methods
20+
added new Near method overloads for GetJsonPoints
21+
Or method now returns { } if any sub query is { }
22+
added new Within method overload for GetJsonPolygon
23+
24+
UpdateBuilder.cs
25+
changed parameter type of Combine from UpdateBuilder to IMongoUpdate
26+
added new PushEach methods
27+
added new PushEachWrapped methods
28+
added new SetOnInsert methods
29+
30+
CollectionStatResults.cs
31+
all methods that were using AsInt32 now use ToInt32
32+
33+
CommandResults.cs
34+
added new Code property
35+
36+
IsMasterResult.cs
37+
added IsReplicaSet property
38+
MaxMessageLength now checks to see if server reply has a maxMessageSizeBytes element
39+
40+
MongoDeleteMessage.cs
41+
WriteBody now has a BsonBuffer parameter
42+
43+
MongoGetMoreMessage.cs
44+
WriteBody now has a BsonBuffer parameter
45+
46+
MongoInsertMessage.cs
47+
AddDocument now has a BsonBuffer parameter
48+
RemoveLastDocument now has a BsonBuffer parameter
49+
ResetBatch now has a BsonBuffer parameter
50+
WriteBody now has a BsonBuffer parameter
51+
52+
MongoKillCursorsMessage.cs
53+
WriteBody now has a BsonBuffer parameter
54+
55+
MongoQueryMessage.cs
56+
removed unnecessary constructor
57+
WriteBody now has a BsonBuffer parameter
58+
59+
MongoReplyMessage.cs
60+
ReadFrom now handles error response separately from normal response
61+
ReadFrom now uses faster SingleChunkBuffers to deserialize documents that don't span chunks
62+
63+
MongoRequestMessage.cs
64+
no longer implements IDisposable (because it no longer owns a BsonBuffer)
65+
removed Buffer property
66+
removed Dispose method
67+
WriteToBuffer now has a BsonBuffer parameter
68+
BackpatchMessageLength now has a BsonBuffer parameter
69+
WriteBody now has a BsonBuffer parameter
70+
71+
MongoUpdateMessage.cs
72+
WriteBody now has a BsonBuffer parameter
73+
74+
DirectMongoServerProxy.cs
75+
no longer has a reference to a MongoServer, only to the MongoServerSettings
76+
77+
DiscoveringMongoServerProxy.cs
78+
no longer has a reference to a MongoServer, only to the MongoServerSettings
79+
80+
MongoServerProxyFactory.cs
81+
Create method now has a MongoServerSettings parameter instead of a MongoServer parameter
82+
83+
MultipleInstanceMongoServerProxy.cs
84+
no longer has a reference to a MongoServer, only to the MongoServerSettings
85+
EnsureInstanceWithAddress no longer sets state to Connecting
86+
ProcessInstanceStateChange now handles MyAddress equal to null
87+
88+
ReplicaSetMongoServerProxy.cs
89+
no longer has a reference to a MongoServer, only to the MongoServerSettings
90+
DetermineServerState now sets state to Connecting if no instances are Connected
91+
IsValidInstance now handles replica set Name equal to null
92+
93+
ShardedMongoServerProxy.cs
94+
no longer has a reference to a MongoServer, only to the MongoServerSettings
95+
DetermineServerState now sets state to Connecting if no instances are Connected
96+
97+
Security folder
98+
new folder containing the many files that implement the new logon mechanisms
99+
100+
MongoConnection.cs
101+
no longer needs to track any authentications
102+
removed Authenticate method (logic moved to MongoCRAuthenticationProtocol.cs)
103+
removed CanAuthenticate method (no longer relevant)
104+
removed CheckAuthentication method (no longer relevant)
105+
removed IsAuthenticated method (no longer relevant)
106+
removed Logout method (was never used and is no longer relevant)
107+
Open method supports many new SSL configuration options
108+
Open method now greedily authenticates every connection against all provided credentials
109+
ReceiveMessage now sets the _lastUsedAt field
110+
ReceiveMessage can use a SingleChunkBuffer if reply from server is short enough
111+
SendMessage now sets the _lastUsedAt field
112+
new overload of SendMessage that allows the ByteBuffer to be passed in
113+
removed nested Authentication class (no longer relevant)
114+
115+
MongoConnectionPool.cs
116+
no longer has a reference to a MongoServer, only to MongoServerSettings
117+
AcquireConnection database parameter removed
118+
new overload of AcquireConnection that has an AcquireConnectionOptions parameter
119+
AcquireConnection no longer has to do anything about authentications (all connections are equal)
120+
AcquireConnection now enforces MaxIdleTime and MaxLifeTime strictly
121+
MaintainPoolSize has been reimplemented
122+
ReleaseConnection no longer returns expired connections to the pool
123+
ReleaseConnection discards connection if necessary to shrink to MaxConnectionPoolSize
124+
added nested AcquireConnectionOptions class
125+
126+
MongoServerInstance.cs
127+
no longer has a reference to a MongoServer, only to MongoServerSettings
128+
Ping no longer creates a new connection if possible
129+
VerifyState no longer creates a new connection if possible
130+
AcquireConnection no longer needs a database parameter
131+
AcquireConnection no longer needs to do anything regarding authentication
132+
StateVerificationTimerCallback no longer creates a new connection if possible
133+
134+
ReplicaSetInformation.cs
135+
Name can now be null (because sometimes isMaster fails to return it)
136+
137+
GeoJsonObjectModel folder
138+
new set of classes to build GeoJson values in a type-safe way
139+
instances of these classes serialize to valid GeoJson BSON documents
140+
141+
MongoGridFS.cs
142+
constructor now applies default values to settings
143+
144+
MongoGridFSFileInfo.cs
145+
GetHashCode now checks _name for null
146+
Refresh now checks _name for null
147+
CacheFileInfo now uses TryGetValue instead of GetValue with a default value of null
148+
149+
MongoGridFSSettings.cs
150+
uses the new Setting class for all settings
151+
obsoleted unnecessary constructors
152+
obsoleted ChunksCollectionName property
153+
obsoleted FilesCollectionName property
154+
new ApplyDefaultValues method
155+
156+
ExpressionNormalizer.cs
157+
VisitUnary is more careful about what it normalizes
158+
159+
SelectQuery.cs
160+
new IndexHint property
161+
Execute now handles index hints
162+
TranslateDistinct checks that Distinct isn't used in combination with an index hint
163+
TranslateMethodCall dispatches "WithIndex" to TranslateWithIndex
164+
new TranslateWithIndex method
165+
166+
LinqToMongo.cs
167+
new Explain extension method
168+
new WithIndex extension method
169+
170+
AssemblyInfo.cs
171+
set ComVisible to false
172+
173+
CollectionOptionsDocument.cs
174+
CommandDocument.cs
175+
FieldsDocument.cs
176+
GeoHaystackSearchOptionsDocument.cs
177+
GeoNearOptionsDocument.cs
178+
GroupByDocument.cs
179+
IndexKeysDocument.cs
180+
IndexOptionsDocument.cs
181+
MapReduceOptionsDocument.cs
182+
QueryDocument.cs
183+
ScopeDocument.cs
184+
SortByDocument.cs
185+
UpdateDocument.cs
186+
obsoleted same constructors that were obsoleted in BsonDocument
187+
188+
ExternalEvidence.cs
189+
new class that represents some external evidence of an identity
190+
191+
MongoClientSettings.cs
192+
now implements IEquatable<MongoClientSettings>
193+
added Credentials (all connections are greedily authenticated against all credentials)
194+
removed CredentialsStore (was a mapping from database name to credentials to use with that database)
195+
removed DefaultCredentials
196+
added SslSettings
197+
implemented ==, != and Equals
198+
reimplemented GetHashCode
199+
200+
MongoCollection.cs
201+
constructor now calls ApplyDefaultValues on settings
202+
InsertBatch now allocates a BsonBuffer and passes it to WriteToBuffer
203+
InsertBatch sends a GLE after each sub-batch even if WriteConcern is Unacknowledged but ContinueOnError is false
204+
GetReaderSettings now uses the ReadEncoding from the settings
205+
GetWriterSettings now uses the WriteEncoding from the settings
206+
GetIndexName has been changed to no longer use RawValue
207+
new constructor that takes a name parameter
208+
obsoleted the constructor that is missing a name parameter
209+
210+
MongoCollectionSettings.cs
211+
uses the new Setting class for all settings
212+
obsoleted unnecessary constructors
213+
obsoleted CollectionName (the collection name is now a parameter to GetCollection)
214+
obsoleted DefaultDocumentType (the default document type is now a parameter to GetCollection)
215+
added ReadEncoding
216+
added WriteEncoding
217+
reimplemented Clone
218+
reimplemented ToString
219+
added ApplyDefaultValues method
220+
obsoleted MongoCollectionSettings<TDefaultDocument> (use non-typed class instead)
221+
222+
MongoConnectionStringBuilder.cs
223+
added AuthenticationMechanism
224+
added AuthenticationSource
225+
226+
MongoCredential.cs
227+
now represents any credential, not just username/password
228+
new Identity property is an abstract concept that replaces Username
229+
new Evidence property is an abstract concept that replaces Password (some kind of evidence that proves the Identity)
230+
new Mechanism property represents the authentication mechanism to be used
231+
new Source property represents where the identity is sourced from (returns Identity.Source)
232+
obsoleted Password property
233+
changed Username property to return Identity.Username
234+
new CreateGssapiCredential factory methods
235+
new CreateMongoCrCredential factory methods
236+
changed format of ToString result (and it no longer includes the password)
237+
new private FromComponents helper method
238+
239+
MongoCredentialStore.cs
240+
is no longer a mapping from database name to credential, but just a list of credentials
241+
so almost all methods and properties changed
242+
EnsureCredentialsAreCompatibleWithEachOther method enforces the rule that all credentials must be from different sources
243+
244+
MongoCredentials.cs
245+
renamed to MongoCredential.cs (singular)
246+
247+
MongoCredentialsStore.cs
248+
renamed to MongoCredentialStore.cs
249+
250+
MongoDatabase.cs
251+
no longer maintains a mapping from collection settings to previously created MongoCollection instances (no need)
252+
obsoleted unnecessary constructors
253+
constructor now calls ApplyDefaultValues on the settings
254+
removed Credentials property (no longer relevant)
255+
GridFS returns a new instance every time (it's a lightweight object that doesn't need to be cached)
256+
removed some overloads of AddUser that could no longer be supported in the new authorization model
257+
obsoleted CreateCollectionSettings
258+
Eval method no longer sends empty args array to the server
259+
obsoleted overloads of GetCollection that don't have a collection name parameter
260+
GetCollection now returns a new instance of MongoCollection every time it is called (it's a lightweight object that doesn't need to be cached)
261+
removed any method overloads that had an adminCredentials parameter (no longer relevant)
262+
263+
MongoDatabaseSettings.cs
264+
uses the new Setting class for all settings
265+
obsoleted unnecessary constructors
266+
removed Credentials property
267+
removed DatabaseName property
268+
added ReadEncoding property
269+
added WriteEncoding property
270+
reimplemented Clone method
271+
reimplemented GetHashCode method
272+
reimplemented ToString method
273+
new internal ApplyDefaultValues method
274+
275+
MongoDefaults.cs
276+
added AuthenticationMechanism property
277+
278+
MongoExternalIdentity.cs
279+
new subclass of MongoIdentity representing an identity defined outside of MongoDB
280+
281+
MongoIdentity.cs
282+
new abstract class representing the concept of an identity
283+
Source property represents the source of the identity (in other words, where it is defined)
284+
Username property represent the name of the identity
285+
286+
MongoIdentityEvidence.cs
287+
new abstract class representing some kind of evidence used to prove that a MongoIdentity is valid
288+
289+
MongoInternalIdentity.cs
290+
new subclass of MongoIdentity representing a user defined internally to MongoDB
291+
Source property is the database where the user is defined
292+
Username property is the user name defined in the MongoDB database
293+
294+
MongoServer
295+
no longer maintains a mapping from database settings to previously created MongoDatabase instances (no need)
296+
removed all overloads of members that took a credentials or adminCredentials parameter (no longer relevant)
297+
obsoleted [] indexers
298+
obsoleted CreateDatabaseSettings
299+
obsoleted overloads of GetDatabase that didn't have a database name parameter
300+
GetDatabase now returns a new instance of MongoDatabase every time it is called (no need to cache such a light weight object)
301+
internal method AcquireConnection no longer has a database parameter (all connections are now greedily authenticated against all supplied credentials)
302+
303+
MongoServerSettings.cs
304+
now implements IEquatable<MongoServerSettings>
305+
uses the new Setting class for all settings
306+
removed obsolete constructor
307+
obsoleted AddressFamily property
308+
renamed CredentialsStore property to Credentials (it's now just a list of credentials, not a mapping from a database name to a credential)
309+
removed DefaultCredentials property
310+
added ReadEncoding property
311+
added SslSettings property
312+
added WriteEncoding property
313+
implemented ==, != and Equals
314+
removed GetCredentials method (no longer relevant)
315+
reimplemented GetHashCode
316+
reimplemented ToString
317+
318+
MongoUrl.cs
319+
added AuthenticationMechanism property
320+
added AuthenticationSource property
321+
removed DefaultCredentials property
322+
added Password property
323+
added Username property
324+
325+
MongoUrlBuilder.cs
326+
added AuthenticationMechanism property
327+
added AuthenticationSource property
328+
removed DefaultCredentials property
329+
added Password property
330+
added Username property
331+
Parse method handles username/password differently
332+
Parse method supports new authMechanism and authSource keywords in connection string
333+
ToString changed slightly to support new properties
334+
335+
MongoUser.cs
336+
constructors are not totally backward compatible
337+
new HashPassword overload taking PasswordEvidence parameter instead of string
338+
339+
PasswordEvidence.cs
340+
new subclass of MongoIdentityEvidence representing a password used to prove an identity
341+
password is stored as a SecureString and never converted back to a regular string anywhere in the driver
342+
343+
Setting.cs
344+
new helper struct used in settings classes
345+
the HasBeenSet property indicates if the value has been set or not
346+
the Value property represents the value of the setting
347+
348+
SslSettings.cs
349+
new class represents settings used to control SSL connections
350+
351+
SystemProfileInfo.cs
352+
CursorId default value when not returned from server is now -1
353+
ExceptionCode default value when not returned from server is now -1
354+
KeyUpdates default value when not returned from server is now -1
355+
new NumberMoved property
356+
NumberOfYields default value when not returned from server is now -1
357+
NumberReturned default value when not returned from server is now -1
358+
NumberScanned default value when not returned from server is now -1
359+
NumberToReturn default value when not returned from server is now -1
360+
NumberToSkip default value when not returned from server is now -1
361+
ResponseLength default value when not returned from server is now -1
362+
new DatabaseReadLock property
363+
new DatabaseWriteLock property
364+
new GlobalReadLock property
365+
new GlobalWriteLock property
366+
obsoleted Read property
367+
obsoleted Write property
368+
fixed BSON element names of timeAcquiringMicros and timeLockedMicros in SystemProfileLockStatisticsSerializer
369+
fixed SystemProfileReadWriteLockStatisticsSerializer to handle new database and global breakdown

0 commit comments

Comments
 (0)