diff --git a/src/MongoDB.Driver.Core/Core/Clusters/CryptClientCreator.cs b/src/MongoDB.Driver.Core/Core/Clusters/CryptClientCreator.cs
index ba4fd404fe4..9774468d38a 100644
--- a/src/MongoDB.Driver.Core/Core/Clusters/CryptClientCreator.cs
+++ b/src/MongoDB.Driver.Core/Core/Clusters/CryptClientCreator.cs
@@ -27,6 +27,7 @@ namespace MongoDB.Driver.Core.Clusters
///
/// Represents a creator for CryptClient.
///
+ [Obsolete("This class will be made internal in a later release.")]
public sealed class CryptClientCreator
{
#region static
diff --git a/src/MongoDB.Driver.Core/Core/Operations/DeleteRequest.cs b/src/MongoDB.Driver.Core/Core/Operations/DeleteRequest.cs
index 96d1d73d455..84ce36a848a 100644
--- a/src/MongoDB.Driver.Core/Core/Operations/DeleteRequest.cs
+++ b/src/MongoDB.Driver.Core/Core/Operations/DeleteRequest.cs
@@ -13,6 +13,7 @@
* limitations under the License.
*/
+using System;
using MongoDB.Bson;
using MongoDB.Driver.Core.Connections;
using MongoDB.Driver.Core.Misc;
@@ -22,6 +23,7 @@ namespace MongoDB.Driver.Core.Operations
///
/// Represents a request to delete one or more documents.
///
+ [Obsolete("This class will be made internal in a later release.")]
public sealed class DeleteRequest : WriteRequest
{
// fields
diff --git a/src/MongoDB.Driver.Core/Core/Operations/ElementNameValidators/ElementNameValidatorFactory.cs b/src/MongoDB.Driver.Core/Core/Operations/ElementNameValidators/ElementNameValidatorFactory.cs
index 8bbef708300..eacff58011c 100644
--- a/src/MongoDB.Driver.Core/Core/Operations/ElementNameValidators/ElementNameValidatorFactory.cs
+++ b/src/MongoDB.Driver.Core/Core/Operations/ElementNameValidators/ElementNameValidatorFactory.cs
@@ -13,6 +13,7 @@
* limitations under the License.
*/
+using System;
using MongoDB.Bson.IO;
namespace MongoDB.Driver.Core.Operations.ElementNameValidators
@@ -20,6 +21,7 @@ namespace MongoDB.Driver.Core.Operations.ElementNameValidators
///
/// Represents a factory for element name validators based on the update type.
///
+ [Obsolete("This class will be made internal in a later release.")]
public static class ElementNameValidatorFactory
{
///
diff --git a/src/MongoDB.Driver.Core/Core/Operations/InsertRequest.cs b/src/MongoDB.Driver.Core/Core/Operations/InsertRequest.cs
index 523d9ef0056..b7c7bb485dd 100644
--- a/src/MongoDB.Driver.Core/Core/Operations/InsertRequest.cs
+++ b/src/MongoDB.Driver.Core/Core/Operations/InsertRequest.cs
@@ -24,6 +24,7 @@ namespace MongoDB.Driver.Core.Operations
///
/// Represents a request to insert a document.
///
+ [Obsolete("This class will be made internal in a later release.")]
public sealed class InsertRequest : WriteRequest
{
// fields
diff --git a/src/MongoDB.Driver.Core/Core/Operations/UpdateRequest.cs b/src/MongoDB.Driver.Core/Core/Operations/UpdateRequest.cs
index 56cb715ad24..1f35f57d677 100644
--- a/src/MongoDB.Driver.Core/Core/Operations/UpdateRequest.cs
+++ b/src/MongoDB.Driver.Core/Core/Operations/UpdateRequest.cs
@@ -24,6 +24,7 @@ namespace MongoDB.Driver.Core.Operations
///
/// Represents a request to update one or more documents.
///
+ [Obsolete("This class will be made internal in a later release.")]
public sealed class UpdateRequest : WriteRequest
{
// fields
diff --git a/src/MongoDB.Driver.Core/Core/Operations/WriteRequest.cs b/src/MongoDB.Driver.Core/Core/Operations/WriteRequest.cs
index 5c600f5b292..c5d7e7244e7 100644
--- a/src/MongoDB.Driver.Core/Core/Operations/WriteRequest.cs
+++ b/src/MongoDB.Driver.Core/Core/Operations/WriteRequest.cs
@@ -22,6 +22,7 @@ namespace MongoDB.Driver.Core.Operations
/// Represents a request to write something to the database.
///
[Serializable]
+ [Obsolete("This class will be made internal in a later release.")]
public abstract class WriteRequest
{
// fields
diff --git a/src/MongoDB.Driver.Core/Core/Operations/WriteRequestType.cs b/src/MongoDB.Driver.Core/Core/Operations/WriteRequestType.cs
index 2ab845a6933..190a0e7cca3 100644
--- a/src/MongoDB.Driver.Core/Core/Operations/WriteRequestType.cs
+++ b/src/MongoDB.Driver.Core/Core/Operations/WriteRequestType.cs
@@ -13,11 +13,14 @@
* limitations under the License.
*/
+using System;
+
namespace MongoDB.Driver.Core.Operations
{
///
/// Represents the type of a write request.
///
+ [Obsolete("This enum will be made internal in a later release.")]
public enum WriteRequestType
{
///
diff --git a/src/MongoDB.Driver/Linq/IMongoQueryable.cs b/src/MongoDB.Driver/Linq/IMongoQueryable.cs
index e569c74f395..f1294d15f24 100644
--- a/src/MongoDB.Driver/Linq/IMongoQueryable.cs
+++ b/src/MongoDB.Driver/Linq/IMongoQueryable.cs
@@ -13,6 +13,7 @@
* limitations under the License.
*/
+using System;
using System.Linq;
using MongoDB.Bson;
@@ -21,6 +22,7 @@ namespace MongoDB.Driver.Linq
///
/// Provides functionality to evaluate queries against MongoDB.
///
+ [Obsolete("This interface will be removed in a later release.")]
public interface IMongoQueryable : IQueryable
{
///
@@ -39,6 +41,7 @@ public interface IMongoQueryable : IQueryable
///
/// The execution model.
///
+ [Obsolete("This method will be removed in a later release.")]
QueryableExecutionModel GetExecutionModel();
}
diff --git a/src/MongoDB.Driver/Linq/LinqProvider.cs b/src/MongoDB.Driver/Linq/LinqProvider.cs
index 144b117d3e9..5eabb841a9d 100644
--- a/src/MongoDB.Driver/Linq/LinqProvider.cs
+++ b/src/MongoDB.Driver/Linq/LinqProvider.cs
@@ -27,6 +27,7 @@ public enum LinqProvider
/// but you can still select the V2 provider by configuring it in MongoClientSettings. The V2 LINQ provider is no
/// longer being actively maintained and will eventually be removed.
///
+ [Obsolete("This version of the LINQ provider will be removed in a later release.")]
V2 = 2,
///
diff --git a/src/MongoDB.Driver/MongoClientSettings.cs b/src/MongoDB.Driver/MongoClientSettings.cs
index 442bd33236f..0198bd7acfb 100644
--- a/src/MongoDB.Driver/MongoClientSettings.cs
+++ b/src/MongoDB.Driver/MongoClientSettings.cs
@@ -434,6 +434,7 @@ public LibraryInfo LibraryInfo
///
/// Gets or sets the LINQ provider.
///
+ [Obsolete("This property will be removed in a later release.")]
public LinqProvider LinqProvider
{
get { return _linqProvider; }
diff --git a/src/MongoDB.Driver/PipelineDefinition.cs b/src/MongoDB.Driver/PipelineDefinition.cs
index e34978f8f99..be02ec7bb7a 100644
--- a/src/MongoDB.Driver/PipelineDefinition.cs
+++ b/src/MongoDB.Driver/PipelineDefinition.cs
@@ -121,6 +121,7 @@ public override string ToString()
///
/// A that represents this instance.
///
+ [Obsolete("This method will be removed in a later release.")]
public string ToString(LinqProvider linqProvider)
{
var serializerRegistry = BsonSerializer.SerializerRegistry;
diff --git a/src/MongoDB.Driver/PipelineDefinitionBuilder.cs b/src/MongoDB.Driver/PipelineDefinitionBuilder.cs
index 3f46769e6d0..199762b5836 100644
--- a/src/MongoDB.Driver/PipelineDefinitionBuilder.cs
+++ b/src/MongoDB.Driver/PipelineDefinitionBuilder.cs
@@ -269,6 +269,7 @@ public static PipelineDefinition BucketAutoThe options (optional).
/// The translation options.
/// A new pipeline with an additional stage.
+ [Obsolete("This method will be removed in a later release.")]
public static PipelineDefinition BucketAutoForLinq2(
this PipelineDefinition pipeline,
Expression> groupBy,