Skip to content

Commit e91018d

Browse files
committed
Mark client side encryption as beta
JAVA-3071 JAVA-3377
1 parent d9dac5a commit e91018d

File tree

10 files changed

+59
-0
lines changed

10 files changed

+59
-0
lines changed

docs/reference/content/driver-async/tutorials/client-side-encryption.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ With field level encryption, developers can encrypt fields client side without a
1717
configuration or directives. Client-side field level encryption supports workloads where applications must guarantee that
1818
unauthorized parties, including server administrators, cannot read the encrypted data.
1919

20+
{{% note class="important" %}}
21+
Support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
22+
{{% /note %}}
23+
2024
{{% note class="important" %}}
2125
Java 8 is the minimum required version that supports Async client side encryption.
2226
{{% /note %}}

docs/reference/content/driver/tutorials/client-side-encryption.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ With field level encryption, developers can encrypt fields client side without a
1717
configuration or directives. Client-side field level encryption supports workloads where applications must guarantee that
1818
unauthorized parties, including server administrators, cannot read the encrypted data.
1919

20+
{{% note class="important" %}}
21+
Support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
22+
{{% /note %}}
23+
2024
## Installation
2125

2226
The recommended way to get started using field level encryption in your project is with a dependency management system.

driver-async/src/main/com/mongodb/async/client/vault/ClientEncryption.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.mongodb.async.client.vault;
1818

19+
import com.mongodb.annotations.Beta;
1920
import com.mongodb.async.SingleResultCallback;
2021
import com.mongodb.client.model.vault.DataKeyOptions;
2122
import com.mongodb.client.model.vault.EncryptOptions;
@@ -29,8 +30,12 @@
2930
* <p>
3031
* Used to create data encryption keys, and to explicitly encrypt and decrypt values when auto-encryption is not an option.
3132
* </p>
33+
* <p>
34+
* Note: support for client-side encryption is in beta. Backwards-breaking changes may be made before the final release.
35+
* </p>
3236
* @since 3.11
3337
*/
38+
@Beta
3439
public interface ClientEncryption extends Closeable {
3540

3641
/**

driver-async/src/main/com/mongodb/async/client/vault/ClientEncryptions.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,17 @@
1717
package com.mongodb.async.client.vault;
1818

1919
import com.mongodb.ClientEncryptionSettings;
20+
import com.mongodb.annotations.Beta;
2021

2122
/**
2223
* Factory for ClientEncryption implementations.
2324
*
25+
* <p>
26+
* Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
27+
* </p>
2428
* @since 3.11
2529
*/
30+
@Beta
2631
public final class ClientEncryptions {
2732

2833
/**

driver-core/src/main/com/mongodb/AutoEncryptionSettings.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.mongodb;
1818

19+
import com.mongodb.annotations.Beta;
1920
import com.mongodb.annotations.NotThreadSafe;
2021
import com.mongodb.lang.Nullable;
2122
import org.bson.BsonDocument;
@@ -51,9 +52,13 @@
5152
* <p>
5253
* Automatic encryption requires the authenticated user to have the listCollections privilege action.
5354
* </p>
55+
* <p>
56+
* Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
57+
* </p>
5458
*
5559
* @since 3.11
5660
*/
61+
@Beta
5762
public final class AutoEncryptionSettings {
5863
private final MongoClientSettings keyVaultMongoClientSettings;
5964
private final String keyVaultNamespace;
@@ -67,6 +72,7 @@ public final class AutoEncryptionSettings {
6772
* construction through chaining.
6873
*/
6974
@NotThreadSafe
75+
@Beta
7076
public static final class Builder {
7177
private MongoClientSettings keyVaultMongoClientSettings;
7278
private String keyVaultNamespace;

driver-core/src/main/com/mongodb/ClientEncryptionSettings.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.mongodb;
1818

19+
import com.mongodb.annotations.Beta;
1920
import com.mongodb.annotations.NotThreadSafe;
2021

2122
import java.util.Map;
@@ -29,9 +30,14 @@
2930
* Explicit encryption/decryption is a community feature, enabled with the new {@code com.mongodb.client.vault.ClientEncryption} type,
3031
* for which this is the settings.
3132
* </p>
33+
* <p>
34+
* Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final
35+
* release.
36+
* </p>
3237
*
3338
* @since 3.11
3439
*/
40+
@Beta
3541
public final class ClientEncryptionSettings {
3642
private final MongoClientSettings keyVaultMongoClientSettings;
3743
private final String keyVaultNamespace;

driver-core/src/main/com/mongodb/MongoClientSettings.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.mongodb;
1818

19+
import com.mongodb.annotations.Beta;
1920
import com.mongodb.annotations.Immutable;
2021
import com.mongodb.annotations.NotThreadSafe;
2122
import com.mongodb.client.gridfs.codecs.GridFSFileCodecProvider;
@@ -439,11 +440,15 @@ public Builder compressorList(final List<MongoCompressor> compressorList) {
439440
/**
440441
* Sets the auto-encryption settings
441442
*
443+
* <p>
444+
* Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
445+
* </p>
442446
* @param autoEncryptionSettings the auto-encryption settings
443447
* @return this
444448
* @since 3.11
445449
* @see #getAutoEncryptionSettings()
446450
*/
451+
@Beta
447452
public Builder autoEncryptionSettings(final AutoEncryptionSettings autoEncryptionSettings) {
448453
this.autoEncryptionSettings = autoEncryptionSettings;
449454
return this;
@@ -603,11 +608,15 @@ public List<MongoCompressor> getCompressorList() {
603608
* <p>
604609
* Automatic encryption requires the authenticated user to have the listCollections privilege action.
605610
* </p>
611+
* <p>
612+
* Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
613+
* </p>
606614
*
607615
* @return the auto-encryption settings, which may be null
608616
* @since 3.11
609617
*/
610618
@Nullable
619+
@Beta
611620
public AutoEncryptionSettings getAutoEncryptionSettings() {
612621
return autoEncryptionSettings;
613622
}

driver-legacy/src/main/com/mongodb/MongoClientOptions.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.mongodb;
1818

19+
import com.mongodb.annotations.Beta;
1920
import com.mongodb.annotations.Immutable;
2021
import com.mongodb.annotations.NotThreadSafe;
2122
import com.mongodb.connection.ConnectionPoolSettings;
@@ -741,10 +742,14 @@ public boolean isCursorFinalizerEnabled() {
741742
/**
742743
* Gets the auto-encryption settings
743744
*
745+
* <p>
746+
* Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
747+
* </p>
744748
* @return the auto-encryption settings, which may be null
745749
* @since 3.11
746750
*/
747751
@Nullable
752+
@Beta
748753
public AutoEncryptionSettings getAutoEncryptionSettings() {
749754
return autoEncryptionSettings;
750755
}
@@ -1653,10 +1658,14 @@ public Builder requiredReplicaSetName(final String requiredReplicaSetName) {
16531658
/**
16541659
* Set options for auto-encryption.
16551660
*
1661+
* <p>
1662+
* Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
1663+
* </p>
16561664
* @param autoEncryptionSettings auto encryption settings
16571665
* @return this
16581666
* @since 3.11
16591667
*/
1668+
@Beta
16601669
public Builder autoEncryptionSettings(final AutoEncryptionSettings autoEncryptionSettings) {
16611670
this.autoEncryptionSettings = autoEncryptionSettings;
16621671
return this;

driver-sync/src/main/com/mongodb/client/vault/ClientEncryption.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.mongodb.client.vault;
1818

19+
import com.mongodb.annotations.Beta;
1920
import com.mongodb.client.model.vault.DataKeyOptions;
2021
import com.mongodb.client.model.vault.EncryptOptions;
2122
import org.bson.BsonBinary;
@@ -28,8 +29,13 @@
2829
* <p>
2930
* Used to create data encryption keys, and to explicitly encrypt and decrypt values when auto-encryption is not an option.
3031
* </p>
32+
* <p>
33+
* Note: support for client-side encryption should be considered as beta. Backwards-breaking changes may be made before the final
34+
* release.
35+
* </p>
3136
* @since 3.11
3237
*/
38+
@Beta
3339
public interface ClientEncryption extends Closeable {
3440

3541
/**

driver-sync/src/main/com/mongodb/client/vault/ClientEncryptions.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,18 @@
1717
package com.mongodb.client.vault;
1818

1919
import com.mongodb.ClientEncryptionSettings;
20+
import com.mongodb.annotations.Beta;
2021
import com.mongodb.client.internal.ClientEncryptionImpl;
2122

2223
/**
2324
* Factory for ClientEncryption implementations.
2425
*
26+
* <p>
27+
* Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.
28+
* </p>
2529
* @since 3.11
2630
*/
31+
@Beta
2732
public final class ClientEncryptions {
2833

2934
/**

0 commit comments

Comments
 (0)