Skip to content

Commit 9d88cad

Browse files
CSHARP-2680: Add [Beta] flags for public FLE classes/methods/properties. Add release notes for 2.10.0-beta1.
1 parent 9aea751 commit 9d88cad

16 files changed

+81
-56
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# .NET Driver Version 2.10.0-beta1 Release Notes
2+
3+
This is a beta release for the 2.10.0 version of the driver.
4+
5+
The main new features in 2.10.0-beta1 are:
6+
7+
* Support Client-side Field Level Encryption
8+
9+
An online version of these release notes is available at:
10+
11+
https://github.com/mongodb/mongo-csharp-driver/blob/master/Release%20Notes/Release%20Notes%20v2.10.0-beta1.md
12+
13+
The full list of JIRA issues that are currently scheduled to be resolved in this release is available at:
14+
15+
https://jira.mongodb.org/issues/?jql=project%20%3D%20CSHARP%20AND%20fixVersion%20%3D%202.10.0%20ORDER%20BY%20key%20ASC
16+
17+
The list may change as we approach the release date.
18+
19+
Documentation on the .NET driver can be found at:
20+
21+
http://mongodb.github.io/mongo-csharp-driver/
22+
23+
## Upgrading
24+
25+
Support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.

src/MongoDB.Bson/ObjectModel/BsonBinarySubType.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public enum BsonBinarySubType
5151
/// </summary>
5252
MD5 = 0x05,
5353
/// <summary>
54-
/// Encrypted binary data.
54+
/// [Beta] Encrypted binary data.
5555
/// </summary>
5656
Encrypted = 0x06,
5757
/// <summary>

src/MongoDB.Driver.Core/Core/Clusters/CryptClientCreator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@
2424
namespace MongoDB.Driver.Core.Clusters
2525
{
2626
/// <summary>
27-
/// Represents a creator for CryptClient.
27+
/// [Beta] Represents a creator for CryptClient.
2828
/// </summary>
2929
public sealed class CryptClientCreator
3030
{
3131
#region static
3232
#pragma warning disable 3002
3333
/// <summary>
34-
/// Create a CryptClient instance.
34+
/// [Beta] Create a CryptClient instance.
3535
/// </summary>
3636
/// <param name="kmsProviders">The kms providers.</param>
3737
/// <param name="schemaMap">The schema map.</param>

src/MongoDB.Driver.Core/Core/Clusters/ICluster.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public interface ICluster : IDisposable
6868
ICoreServerSession AcquireServerSession();
6969

7070
/// <summary>
71-
/// Gets the crypt client.
71+
/// [Beta] Gets the crypt client.
7272
/// </summary>
7373
/// <returns>A crypt client.</returns>
7474
#pragma warning disable CS3003

src/MongoDB.Driver.Core/Core/Configuration/ClusterSettings.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@ public class ClusterSettings
5252
/// </summary>
5353
/// <param name="connectionMode">The connection mode.</param>
5454
/// <param name="endPoints">The end points.</param>
55-
/// <param name="kmsProviders">The kms providers.</param>
55+
/// <param name="kmsProviders">[Beta] The kms providers.</param>
5656
/// <param name="maxServerSelectionWaitQueueSize">Maximum size of the server selection wait queue.</param>
5757
/// <param name="replicaSetName">Name of the replica set.</param>
5858
/// <param name="serverSelectionTimeout">The server selection timeout.</param>
5959
/// <param name="preServerSelector">The pre server selector.</param>
6060
/// <param name="postServerSelector">The post server selector.</param>
61-
/// <param name="schemaMap">The schema map.</param>
61+
/// <param name="schemaMap">[Beta] The schema map.</param>
6262
/// <param name="scheme">The connection string scheme.</param>
6363
public ClusterSettings(
6464
Optional<ClusterConnectionMode> connectionMode = default(Optional<ClusterConnectionMode>),
@@ -108,7 +108,7 @@ public IReadOnlyList<EndPoint> EndPoints
108108
}
109109

110110
/// <summary>
111-
/// Gets the kms providers.
111+
/// [Beta] Gets the kms providers.
112112
/// </summary>
113113
/// <value>
114114
/// The kms providers.
@@ -141,7 +141,7 @@ public string ReplicaSetName
141141
}
142142

143143
/// <summary>
144-
/// Gets the schema map.
144+
/// [Beta] Gets the schema map.
145145
/// </summary>
146146
/// <value>
147147
/// The schema map.
@@ -201,13 +201,13 @@ public IServerSelector PostServerSelector
201201
/// </summary>
202202
/// <param name="connectionMode">The connection mode.</param>
203203
/// <param name="endPoints">The end points.</param>
204-
/// <param name="kmsProviders">The kms providers.</param>
204+
/// <param name="kmsProviders">[Beta] The kms providers.</param>
205205
/// <param name="maxServerSelectionWaitQueueSize">Maximum size of the server selection wait queue.</param>
206206
/// <param name="replicaSetName">Name of the replica set.</param>
207207
/// <param name="serverSelectionTimeout">The server selection timeout.</param>
208208
/// <param name="preServerSelector">The pre server selector.</param>
209209
/// <param name="postServerSelector">The post server selector.</param>
210-
/// <param name="schemaMap">The schema map.</param>
210+
/// <param name="schemaMap">[Beta] The schema map.</param>
211211
/// <param name="scheme">The connection string scheme.</param>
212212
/// <returns>A new ClusterSettings instance.</returns>
213213
public ClusterSettings With(

src/MongoDB.Driver.Core/Core/WireProtocol/IBinaryCommandFieldEncryptor.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
namespace MongoDB.Driver.Core.WireProtocol
2020
{
2121
/// <summary>
22-
/// Interface for decrypting fields in a binary document.
22+
/// [Beta] Interface for decrypting fields in a binary document.
2323
/// </summary>
2424
public interface IBinaryCommandFieldEncryptor
2525
{
2626
/// <summary>
27-
/// Encrypts the fields.
27+
/// [Beta] Encrypts the fields.
2828
/// </summary>
2929
/// <param name="databaseName">The database name.</param>
3030
/// <param name="unencryptedCommandBytes">The unencrypted command bytes.</param>
@@ -33,7 +33,7 @@ public interface IBinaryCommandFieldEncryptor
3333
byte[] EncryptFields(string databaseName, byte[] unencryptedCommandBytes, CancellationToken cancellationToken);
3434

3535
/// <summary>
36-
/// Encrypts the fields asynchronously.
36+
/// [Beta] Encrypts the fields asynchronously.
3737
/// </summary>
3838
/// <param name="databaseName">The database name.</param>
3939
/// <param name="unencryptedCommandBytes">The unencrypted command bytes.</param>

src/MongoDB.Driver.Core/Core/WireProtocol/IBinaryDocumentFieldDecryptor.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@
1919
namespace MongoDB.Driver.Core.WireProtocol
2020
{
2121
/// <summary>
22-
/// Interface for decrypting fields in a binary document.
22+
/// [Beta] Interface for decrypting fields in a binary document.
2323
/// </summary>
2424
public interface IBinaryDocumentFieldDecryptor
2525
{
2626
/// <summary>
27-
/// Decrypts the fields.
27+
/// [Beta] Decrypts the fields.
2828
/// </summary>
2929
/// <param name="encryptedDocumentBytes">The encrypted document bytes.</param>
3030
/// <param name="cancellationToken">The cancellation token.</param>
3131
/// <returns>An unencrypted document.</returns>
3232
byte[] DecryptFields(byte[] encryptedDocumentBytes, CancellationToken cancellationToken);
3333

3434
/// <summary>
35-
/// Decrypts the fields asynchronously.
35+
/// [Beta] Decrypts the fields asynchronously.
3636
/// </summary>
3737
/// <param name="encryptedDocumentBytes">The encrypted document bytes.</param>
3838
/// <param name="cancellationToken">The cancellation token.</param>

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/MessageBinaryEncoderBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ protected UTF8Encoding Encoding
6969
}
7070

7171
/// <summary>
72-
/// Gets a flag whether encryption has been configured.
72+
/// [Beta] Gets a flag whether encryption has been configured.
7373
/// </summary>
7474
/// <value>
7575
/// The flag whether encryption is configured or not.

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/MessageEncoderSettings.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ public static class MessageEncoderSettingsName
2525
{
2626
// encoder settings used by the binary encoders
2727
/// <summary>
28-
/// The name of the binary document field decryptor setting.
28+
/// [Beta] The name of the binary document field decryptor setting.
2929
/// </summary>
3030
public const string BinaryDocumentFieldDecryptor = "BinaryDocumentFieldDecryptor";
3131

3232
/// <summary>
33-
/// The name of the binary document field encryptor setting.
33+
/// [Beta] The name of the binary document field encryptor setting.
3434
/// </summary>
3535
public const string BinaryDocumentFieldEncryptor = "BinaryDocumentFieldEncryptor";
3636

src/MongoDB.Driver/Encryption/AutoEncryptionOptions.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
namespace MongoDB.Driver.Encryption
2424
{
2525
/// <summary>
26-
/// Auto encryption options.
26+
/// [Beta] Auto encryption options.
2727
/// </summary>
2828
public class AutoEncryptionOptions
2929
{
@@ -37,7 +37,7 @@ public class AutoEncryptionOptions
3737

3838
// constructors
3939
/// <summary>
40-
/// Initializes a new instance of the <see cref="AutoEncryptionOptions"/> class.
40+
/// [Beta] Initializes a new instance of the <see cref="AutoEncryptionOptions"/> class.
4141
/// </summary>
4242
/// <param name="keyVaultNamespace">The keyVault namespace.</param>
4343
/// <param name="kmsProviders">The kms providers.</param>
@@ -66,55 +66,55 @@ public AutoEncryptionOptions(
6666

6767
// public properties
6868
/// <summary>
69-
/// Gets a value indicating whether to bypass automatic encryption.
69+
/// [Beta] Gets a value indicating whether to bypass automatic encryption.
7070
/// </summary>
7171
/// <value>
7272
/// <c>true</c> if automatic encryption should be bypasssed; otherwise, <c>false</c>.
7373
/// </value>
7474
public bool BypassAutoEncryption => _bypassAutoEncryption;
7575

7676
/// <summary>
77-
/// Gets the extra options.
77+
/// [Beta] Gets the extra options.
7878
/// </summary>
7979
/// <value>
8080
/// The extra options.
8181
/// </value>
8282
public IReadOnlyDictionary<string, object> ExtraOptions => _extraOptions;
8383

8484
/// <summary>
85-
/// Gets the key vault client.
85+
/// [Beta] Gets the key vault client.
8686
/// </summary>
8787
/// <value>
8888
/// The key vault client.
8989
/// </value>
9090
public IMongoClient KeyVaultClient => _keyVaultClient;
9191

9292
/// <summary>
93-
/// Gets the key vault namespace.
93+
/// [Beta] Gets the key vault namespace.
9494
/// </summary>
9595
/// <value>
9696
/// The key vault namespace.
9797
/// </value>
9898
public CollectionNamespace KeyVaultNamespace => _keyVaultNamespace;
9999

100100
/// <summary>
101-
/// Gets the KMS providers.
101+
/// [Beta] Gets the KMS providers.
102102
/// </summary>
103103
/// <value>
104104
/// The KMS providers.
105105
/// </value>
106106
public IReadOnlyDictionary<string, IReadOnlyDictionary<string, object>> KmsProviders => _kmsProviders;
107107

108108
/// <summary>
109-
/// Gets the schema map.
109+
/// [Beta] Gets the schema map.
110110
/// </summary>
111111
/// <value>
112112
/// The schema map.
113113
/// </value>
114114
public IReadOnlyDictionary<string, BsonDocument> SchemaMap => _schemaMap;
115115

116116
/// <summary>
117-
/// Returns a new instance of the <see cref="AutoEncryptionOptions"/> class.
117+
/// [Beta] Returns a new instance of the <see cref="AutoEncryptionOptions"/> class.
118118
/// </summary>
119119
/// <param name="keyVaultNamespace">The keyVault namespace.</param>
120120
/// <param name="kmsProviders">The kms providers.</param>

src/MongoDB.Driver/Encryption/ClientEncryption.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
namespace MongoDB.Driver.Encryption
2424
{
2525
/// <summary>
26-
/// Explicit client encryption.
26+
/// [Beta] Explicit client encryption.
2727
/// </summary>
2828
public sealed class ClientEncryption : IDisposable
2929
{
@@ -34,7 +34,7 @@ public sealed class ClientEncryption : IDisposable
3434

3535
// constructors
3636
/// <summary>
37-
/// Initializes a new instance of the <see cref="ClientEncryption"/> class.
37+
/// [Beta] Initializes a new instance of the <see cref="ClientEncryption"/> class.
3838
/// </summary>
3939
/// <param name="clientEncryptionOptions">The client encryption options.</param>
4040
public ClientEncryption(ClientEncryptionOptions clientEncryptionOptions)
@@ -49,7 +49,7 @@ public ClientEncryption(ClientEncryptionOptions clientEncryptionOptions)
4949

5050
// public methods
5151
/// <summary>
52-
/// Creates a data key.
52+
/// [Beta] Creates a data key.
5353
/// </summary>
5454
/// <param name="kmsProvider">The kms provider.</param>
5555
/// <param name="dataKeyOptions">The data key options.</param>
@@ -65,7 +65,7 @@ public Guid CreateDataKey(string kmsProvider, DataKeyOptions dataKeyOptions, Can
6565
}
6666

6767
/// <summary>
68-
/// Creates a data key.
68+
/// [Beta] Creates a data key.
6969
/// </summary>
7070
/// <param name="kmsProvider">The kms provider.</param>
7171
/// <param name="dataKeyOptions">The data key options.</param>
@@ -81,7 +81,7 @@ public Task<Guid> CreateDataKeyAsync(string kmsProvider, DataKeyOptions dataKeyO
8181
}
8282

8383
/// <summary>
84-
/// Decrypts the specified value.
84+
/// [Beta] Decrypts the specified value.
8585
/// </summary>
8686
/// <param name="value">The value.</param>
8787
/// <param name="cancellationToken">The cancellation token.</param>
@@ -92,7 +92,7 @@ public BsonValue Decrypt(BsonBinaryData value, CancellationToken cancellationTok
9292
}
9393

9494
/// <summary>
95-
/// Decrypts the specified value.
95+
/// [Beta] Decrypts the specified value.
9696
/// </summary>
9797
/// <param name="value">The value.</param>
9898
/// <param name="cancellationToken">The cancellation token.</param>
@@ -113,7 +113,7 @@ public void Dispose()
113113
}
114114

115115
/// <summary>
116-
/// Encrypts the specified value.
116+
/// [Beta] Encrypts the specified value.
117117
/// </summary>
118118
/// <param name="value">The value.</param>
119119
/// <param name="encryptOptions">The encrypt options.</param>
@@ -131,7 +131,7 @@ public BsonBinaryData Encrypt(BsonValue value, EncryptOptions encryptOptions, Ca
131131
}
132132

133133
/// <summary>
134-
/// Encrypts the specified value.
134+
/// [Beta] Encrypts the specified value.
135135
/// </summary>
136136
/// <param name="value">The value.</param>
137137
/// <param name="encryptOptions">The encrypt options.</param>

src/MongoDB.Driver/Encryption/ClientEncryptionOptions.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
namespace MongoDB.Driver.Encryption
2020
{
2121
/// <summary>
22-
/// Client encryption options.
22+
/// [Beta] Client encryption options.
2323
/// </summary>
2424
public class ClientEncryptionOptions
2525
{
@@ -30,7 +30,7 @@ public class ClientEncryptionOptions
3030

3131
// constructors
3232
/// <summary>
33-
/// Initializes a new instance of the <see cref="ClientEncryptionOptions"/> class.
33+
/// [Beta] Initializes a new instance of the <see cref="ClientEncryptionOptions"/> class.
3434
/// </summary>
3535
/// <param name="keyVaultClient">The key vault client.</param>
3636
/// <param name="keyVaultNamespace">The key vault namespace.</param>
@@ -49,31 +49,31 @@ public ClientEncryptionOptions(
4949

5050
// public properties
5151
/// <summary>
52-
/// Gets the key vault client.
52+
/// [Beta] Gets the key vault client.
5353
/// </summary>
5454
/// <value>
5555
/// The key vault client.
5656
/// </value>
5757
public IMongoClient KeyVaultClient => _keyVaultClient;
5858

5959
/// <summary>
60-
/// Gets the key vault namespace.
60+
/// [Beta] Gets the key vault namespace.
6161
/// </summary>
6262
/// <value>
6363
/// The key vault namespace.
6464
/// </value>
6565
public CollectionNamespace KeyVaultNamespace => _keyVaultNamespace;
6666

6767
/// <summary>
68-
/// Gets the KMS providers.
68+
/// [Beta] Gets the KMS providers.
6969
/// </summary>
7070
/// <value>
7171
/// The KMS providers.
7272
/// </value>
7373
public IReadOnlyDictionary<string, IReadOnlyDictionary<string, object>> KmsProviders => _kmsProviders;
7474

7575
/// <summary>
76-
/// Returns a new ClientEncryptionOptions instance with some settings changed.
76+
/// [Beta] Returns a new ClientEncryptionOptions instance with some settings changed.
7777
/// </summary>
7878
/// <param name="keyVaultClient">The key vault client.</param>
7979
/// <param name="keyVaultNamespace">The key vault namespace.</param>

0 commit comments

Comments
 (0)