Skip to content

Commit 5bd7442

Browse files
author
rstam
committed
Added change logs and release notes for 1.4.1.
1 parent 71a20b1 commit 5bd7442

File tree

5 files changed

+452
-2
lines changed

5 files changed

+452
-2
lines changed

CSharpDriver-2010.sln

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,27 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1515
CustomDictionary.xml = CustomDictionary.xml
1616
GlobalAssemblyInfo.cs = GlobalAssemblyInfo.cs
1717
README.md = README.md
18-
Release Notes\Release Notes v1.4.md = Release Notes\Release Notes v1.4.md
1918
uuidhelpers.js = uuidhelpers.js
2019
EndProjectSection
2120
EndProject
21+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Release Notes", "Release Notes", "{AA4F6FD3-8844-4DF1-9944-0364C934B3F7}"
22+
ProjectSection(SolutionItems) = preProject
23+
Release Notes\Change Log v1.4-Bson.txt = Release Notes\Change Log v1.4-Bson.txt
24+
Release Notes\Change Log v1.4-Driver.txt = Release Notes\Change Log v1.4-Driver.txt
25+
Release Notes\Change Log v1.4.1-Bson.txt = Release Notes\Change Log v1.4.1-Bson.txt
26+
Release Notes\Change Log v1.4.1-Driver.txt = Release Notes\Change Log v1.4.1-Driver.txt
27+
Release Notes\Release Notes v0.11.txt = Release Notes\Release Notes v0.11.txt
28+
Release Notes\Release Notes v0.7.txt = Release Notes\Release Notes v0.7.txt
29+
Release Notes\Release Notes v0.9.txt = Release Notes\Release Notes v0.9.txt
30+
Release Notes\Release Notes v1.0.txt = Release Notes\Release Notes v1.0.txt
31+
Release Notes\Release Notes v1.1.txt = Release Notes\Release Notes v1.1.txt
32+
Release Notes\Release Notes v1.2.txt = Release Notes\Release Notes v1.2.txt
33+
Release Notes\Release Notes v1.3.1.txt = Release Notes\Release Notes v1.3.1.txt
34+
Release Notes\Release Notes v1.3.txt = Release Notes\Release Notes v1.3.txt
35+
Release Notes\Release Notes v1.4.1.md = Release Notes\Release Notes v1.4.1.md
36+
Release Notes\Release Notes v1.4.md = Release Notes\Release Notes v1.4.md
37+
EndProjectSection
38+
EndProject
2239
Global
2340
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2441
Debug|Any CPU = Debug|Any CPU
@@ -45,4 +62,7 @@ Global
4562
GlobalSection(SolutionProperties) = preSolution
4663
HideSolutionNode = FALSE
4764
EndGlobalSection
65+
GlobalSection(NestedProjects) = preSolution
66+
{AA4F6FD3-8844-4DF1-9944-0364C934B3F7} = {00502D63-7789-410D-B6BE-5F16327FF810}
67+
EndGlobalSection
4868
EndGlobal

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ http://jira.mongodb.org/browse/CSHARP
1919
### Maintainers:
2020
* Robert Stam [email protected]
2121
* Sridhar Nanjundeswaran [email protected]
22+
* Craig Wilson [email protected]
2223

2324
### Contributors:
2425
* Bit Diffusion Limited [email protected]
@@ -35,6 +36,5 @@ http://jira.mongodb.org/browse/CSHARP
3536
* Andrew Rondeau [email protected]
3637
3738
38-
* Craig Wilson [email protected]
3939

4040
If you have contributed and I have neglected to add you to this list please contact me at [email protected] to be added to the list (with apologies).
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
BSON library changes from 1.4 to 1.4.1
2+
3+
BsonBinaryWriter.cs
4+
added calls to base.WriteStartArray/base.WriteEndArray
5+
added calls to base.WriteStartDocument/base.WriteEndDocument
6+
7+
BsonDocumentWriter.cs
8+
added calls to base.WriteStartArray/base.WriteEndArray
9+
added calls to base.WriteStartDocument/base.WriteEndDocument
10+
11+
BsonWriter.cs
12+
added private field _serializationDepth
13+
added public property SerializationDepth
14+
changed WriteEndArray to decrement _serializationDepth
15+
changed WriteEndDocument to increment _serializationDepth
16+
changed WriteStartArray to increment _serializationDepth and check if it exceeds MaxSerializationDepth
17+
changed WriteStartDocument to increment _serializationDepth and check if it exceeds MaxSerializationDepth
18+
19+
BsonWriterSettings.cs
20+
added private field _maxSerializationDepth
21+
added public property MaxSerializationDepth
22+
23+
JsonWriter.cs
24+
added calls to base.WriteStartArray/base.WriteEndArray
25+
added calls to base.WriteStartDocument/base.WriteEndDocument
26+
changed WriteRegularExpression to not escape "\" (if it needed to be escaped it already would be)
27+
28+
BsonArray.cs
29+
added checks for invalid null arguments
30+
changed AddRange(IEnumerable<BsonValue>) to skip null BsonValues passed in (as per functional construction conventions)
31+
changed AddRange(IEnumerable<string>) to map null to BsonNull.Value
32+
changed AddRange(IEnumerable) to use BsonTypeMapper.MapToBsonValue
33+
changed Clone to be shallow like it was supposed to be
34+
35+
BsonBinaryData.cs
36+
added checks for invalid null arguments
37+
38+
BsonDocument.cs
39+
added checks for invalid null arguments
40+
changed Add(IDictionary<string, object>) to use BsonTypeMapper.MapToBsonValue
41+
changed Add(IDictionary) to use BsonTypeMapper.MapToBsonValue
42+
changed GetDocumentId to return the Value instead of the RawValue as the Id
43+
changed GetDocumentId to handle special case of Guid Id
44+
changed SetDocumentId to assume Id is already of type BsonValue
45+
changed ToDictionary to use new BsonTypeMapper.MapToDotNetValue method
46+
changed ToHashtable to use new BsonTypeMapper.MapToDotNetValue method
47+
removed private method ToDictionaryHelper (no longer needed now that MapToDotNetValue exists)
48+
removed private method ToHashtable (no longer needed now that MapToDotNetValue exists)
49+
50+
BsonElement.cs
51+
added checks for invalid null arguments
52+
changed Clone to be shallow like it was supposed to be
53+
54+
BsonJavaScript.cs
55+
added checks for invalid null arguments
56+
57+
BsonJavaScriptWithScope.cs
58+
added checks for invalid null arguments
59+
60+
BsonRegularExpression.cs
61+
added checks for invalid null arguments
62+
changed constructor to not unescape "\" (if it's escaped it's because it needs to be)
63+
changed ToString to not escape "\" (it would already be escaped)
64+
65+
BsonString.cs
66+
added checks for invalid null arguments
67+
68+
BsonSymbol.cs
69+
added checks for invalid null arguments
70+
71+
BsonSymbolTable.cs
72+
added checks for invalid null arguments
73+
74+
BsonTypeMapper.cs
75+
changed MapToBsonValue to map null to BsonNull.Value
76+
added new MapToDotNetValue methods (maps from BsonValue to best matching .NET types)
77+
changed TryMapToBsonValue to map null to BsonNull.Value
78+
79+
BsonTypeMapperOptions.cs
80+
new class containing options for the new MapToDotNetValue method
81+
82+
BsonValue.cs
83+
added checks for invalid null arguments
84+
85+
ObjectId.cs
86+
added checks for invalid null arguments
87+
88+
BsonElement.cs
89+
added no argument constructor (to support opt-in serialization of read-only properties without requiring an explicit element name)
90+
91+
IdGenerators.cs
92+
added new BsonBinaryDataGuidGenerator class
93+
94+
CollectionGenericSerializer.cs
95+
changed Deserialize methods to handle representation with discriminator when nominalType is object
96+
changed Serialize methods to use representation with discriminator when nominalType is object
97+
98+
CollectionSerializer.cs
99+
changed Deserialize methods to handle representation with discriminator when nominalType is object
100+
changed Serialize methods to use representation with discriminator when nominalType is object
101+
102+
NetPrimitiveSerializers.cs
103+
changed Deserialize method of UriSerializer to allow relative or absolute URIs
104+
changed Serializer method of UriSerializer to serialize original string (to support relative or absolute URIs)
105+
106+
BsonClassMap.cs
107+
added public property AllMemberMaps
108+
added public property DeclaredMemberMaps
109+
deprecated public property MemberMaps (use AllMemberMaps or DeclaredMemberMaps instead)
110+
moved GetTypeNameDiscriminator method to new TypeNameDiscriminator class
111+
changed AutoMapMember to support using BsonElement to opt-in serialization of read-only properties
112+
changed FindMembers to support using BsonElement to opt-in serialization of read-only properties
113+
114+
BsonClassMapSerializer.cs
115+
changed Deserialize to ignore any values that were serialized for opted-in read-only properties
116+
changed GetMemberSerializationInfo to check AllMemberMaps directly instead of calling GetMemberMap
117+
changed DeserializeExtraElement to use new MapToDotNetValue method when extra elements property is of type IDictionary<string, object>
118+
removed MapBsonValueToDotNetValue (use new MapToDotNetValue method of BsonTypeMapper instead)
119+
120+
BsonMemberMap.cs
121+
added public property IsReadOnly
122+
123+
TypeNameDiscriminator.cs
124+
new helper class
125+
added public method GetActualType that maps a friendly type name discriminator value to a Type
126+
added public method GetDiscriminator that maps a Type to a friendly type name discriminator value
127+
128+
BsonDefaults.cs
129+
added private static field _maxSerializationDepth with a default value of 100
130+
added public static property MaxSerializationDepth
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
C# driver changes from 1.4 to 1.4.1
2+
3+
QueryBuilder.cs
4+
changed Or method to support empty queries (an empty query matches all documents)
5+
6+
MongoCollection.cs
7+
added checks for invalid null arguments
8+
9+
MongoDatabase.cs
10+
moved private static field __invalidDatabaseNameChars to MongoServer
11+
removed static constructor (no longer needed)
12+
added checks for invalid null arguments
13+
added public method IsCollectionNameValid
14+
removed ValidateDatabaseName method (see new IsDatabaseNameValid method in MongoServer)
15+
16+
MongoServer.cs
17+
added private static field __invalidDatabaseNameChars
18+
changed static constructor to also initialize __invalidDatabaseNameChars
19+
added public method IsDatabaseNameValid
20+
21+
MongoGridFS.cs
22+
changed Download to optionally not verify MD5 (default is to verify)
23+
changed Upload to optionally not verify MD5 (default is to verify)
24+
25+
MongoGridFSSettings.cs
26+
added private field _updateMD5
27+
added private field _verifyMD5
28+
added public property UpdateMD5
29+
added public property VerifyMD5
30+
changed Clone, Equal and GetHashCode to consider new fields
31+
32+
MongoGridFSStream.cs
33+
added private field _fileIsDirty
34+
changed SetLength to set _fileIsDirty to true
35+
changed Write to set _fileIsDirty to true
36+
changed WriteByte to set _fileIsDirty to true
37+
changed Dispose to only call Flush and UpdateMetadata if file is actually dirty
38+
changed OpenCreate to set _fileIsDirty to true
39+
changed OpenTruncate to set _fileIsDirty to true
40+
41+
ExpressionFormatter.cs
42+
implemented VisitTypeBinary method
43+
changed VisitValue to handle char and Type values
44+
45+
ExpressionParameterFinder.cs
46+
new class used to find a parameter in an expression
47+
48+
ExpressionPrettyPrinter.cs
49+
implemented VisitTypeBinary method
50+
51+
MongoQueryTranslator.cs
52+
changed GetDocumentType to handle bare AsQueryable (no Where clause or anything else)
53+
54+
SelectQuery.cs
55+
added private field _ofType
56+
added public property OfType
57+
changed Execute to handle LINQ queries that included an OfType query operator
58+
changed Translate to handle bare AsQueryable (no Where clause or anything else)
59+
changed Translate to move switch statement on method name to new TranslateMethodCall method
60+
changed BuildArrayLengthQuery to handle constant on either side
61+
changed BuildComparisonQuery to handle constant on either side
62+
added private method BuildEqualsQuery to support Equals method in LINQ queries
63+
added private method BuildIsNullOrEmptyQuery to support string.IsNullOrEmpty method in LINQ queries
64+
changed BuildModQuery to handle constant on either side
65+
added private method BuildStringIndexOfQuery to support string.IndexOf and IndexOfAny methods in LINQ queries
66+
added private method BuildStringIndexQuery to support string[index] in LINQ queries
67+
added private method BuildStringLengthQuery to support string.Length in LINQ queries
68+
changed BuildStringQuery to allow combining ToLower/ToUpper/Trim/TrimStart/TrimEnd with Contains/StartsWith/EndsWith in LINQ queries
69+
added private method BuildTypeComparisonQuery to support x.GetType() == typeof(X) in LINQ queries
70+
added private method BuildTypeIsQuery to support x is X in LINQ queries
71+
changed CombinePredicateWithWhereClause to handle parameter type being changed by OfType query operator
72+
changed GetSerializationInfo to lookup serializer based on the parameter type (and not necessarily the document type)
73+
changed GetSerializationInfoMember to stop recursion when it gets to a parameter (which may or may not be of the document type)
74+
added private method GetTrimCharsPattern
75+
added private method TranslateMethodCall
76+
added private method TranslateOfType to support OfType query operator
77+
78+
LinqExtensionMethods.cs
79+
added an overload of AsQueryable that can deduce the type of <T> from the collection parameter

0 commit comments

Comments
 (0)