Learn what's new in:
The 5.5.1 driver patch release includes the following changes:
Fixes an issue where OIDC reauthentication failed when triggered by an operation run in a session, including operations run in a transaction.
Kotlin Sync driver v5.5 removes support for MongoDB Server 4.0. To learn more about compatible versions of the server, see Compatibility.
The 5.5 driver release includes the following changes, fixes, and features:
Introduces performance improvements that are reflected in the driver performance benchmarks. To view the results of the performance benchmark tests, see the following Performance Improvements section.
The tables in this section show the results of performance tests for the synchronous Java driver. The tests were conducted on a MongoDB Server 8.0 deployment with the following configuration:
Running on localhost
with negligible network latency. In higher-latency environments, you might see less significant performance improvements.
Authentication disabled.
TLS disabled.
We expect similar performance increases for all MongoDB Java drivers because they share the improved driver-core
API.
The following table shows the results of performance tests for v5.5 of the driver configured with standard transport settings. Each row includes the feature tested, the percent improvement in performance, and the z-score.
Feature
Percent Improvement
Z-score
Deep BSON decoding
19.44%
5.4
Deep BSON encoding
102%
22.8
Find many and empty the cursor
25.08%
13.72
Find one by ID
2.7%
3.16
Flat BSON decoding
31.2%
9.38
Flat BSON encoding
199.5%
12.34
Full BSON decoding
16.5%
7.23
Full BSON encoding
147.3%
10.39
JSON-LD multi-file import
21.8%
8.21
Client bulk insert with large documents
91.3%
24.44
Collection bulk insert with large documents
96.5%
8.79
Bulk insert with large documents
93.3%
8.11
Bulk insert with small documents
39.3%
5.72
Insert one with large documents
82.4%
7.28
Client bulk insert with small documents
49.5%
17.99
Collection bulk insert with small documents
47.8%
6.44
The following table shows the results of performance tests for v5.5 of the driver configured with Netty transport settings. Each row includes the feature tested, the percent improvement in performance, and the z-score.
Feature
Percent Improvement
Z-score
Find many and empty the cursor
40.3%
14.81
Find one by ID
4.4%
4.12
JSON-LD multi-file import
16.9%
3.77
Client bulk insert with large documents
54.8%
14.49
Collection bulk insert with large documents
104.9%
38.72
Bulk insert with large documents
74.6%
65.55
Insert one with large documents
66.6%
58.65
Client bulk insert with small documents
36.1%
15.41
Collection bulk insert with small documents
39.3%
37.38
Bulk insert with small documents
35.1%
41.51
TipTo learn more about how we conduct driver performance benchmark tests, see the Performance Benchmarking specification.
The 5.4 driver release includes the following changes, fixes, and features:
Adds BsonConfiguration
support to bson-kotlinx
for snake case conversion during serialization. To learn more, see the Implement Snake Case Naming Strategy section of the Serialization guide.
Supports $lookup
operations for CSFLE and QE. To learn more, see the following references in the Server manual:
$lookup and $graphLookup Behavior for CSFLE
Introduces a Bill of Materials (BOM) to manage versions of MongoDB JVM artifacts that you might use in your application. To view instructions on adding the BOM to your application, see the Add the Driver Bill of Materials step of the Download and Install tutorial.
Updates AWS SDK dependencies to 2.30.31 and 1.12.782 for testing the MONGODB-AWS
authentication mechanism.
Adds a sort option to the ClientUpdateOneOptions
and ClientReplaceOneOptions
classes. This change allows you to set a sort order for update and replace operations in client bulk writes. To learn more, see the Update Operation and Replace Operations sections of the Bulk Write Operations guide.
Adds Kubernetes support for OIDC authentication. To learn more, see the MONGODB-OIDC: Kubernetes section of the Enterprise Authentication Mechanisms guide.
Adds first class support for the following Atlas Search query operators:
phrase
regex
queryString
equals
moreLikeThis
in
wildcard
To learn more, see the Atlas Search section of the Aggregation guide.
Updates cursors to refresh the timeoutMS
setting when you call close()
without affecting the operation timeout.
Enables you to use an index when calling the distinct()
method by specifying a hint
option.
To view a full list of changes in this release, see the v5.4 release notes on GitHub.
The 5.3 driver release includes the following new features, improvements, and fixes:
Important: The next minor release will drop support for MongoDB Server version 4.0 and raise the minimum supported version to 4.2. We recommend making changes to your application to accommodate breaking changes. See the Release Notes section in the Server manual to learn more about upgrading.
Adds the BinaryVector
class to implement BSON Binary Subtype 9 for vector storage and retrieval. This class provides more effective storage of values compared a list of Double
instances. You can create the following vector types based on the type of elements your vector contains:
Int8BinaryVector
: Vector of 8-bit signed integers
Float32BinaryVector
: Vector of floating-point numbers
PackedBitBinaryVector
: Binary quantized vector (In beta and subject to change before becoming generally available)
To learn more about this feature, see Vector Quantization in the Atlas documentation. To learn about this type, see the BinaryVector API documentation.
Removes explicit fairness from the connection pool implementation. This change might contribute to better throughput when you use a MongoClient
instance in many application threads. However, this change might cause increased tail latency.
Adds a sort option to the updateOne()
and replaceOne()
methods. This change also allows you to set a sort as an option when creating ReplaceOneModel
and UpdateOneModel
instances. To learn more, see the Update Documents, Replace Documents, and Bulk Write Operations guides.
Support for using builders class methods directly with data class properties. To learn more, see the Use Builders with Data Classes guide. This functionality is supported by the Kotlin Sync driver Extensions package published with this release.
Implements a client bulk write API that allows you to perform write operations on multiple databases and collections in the same call. To learn more about this feature, see the Client Bulk Write section of the Bulk Write Operations guide.
Kotlin Sync driver v5.2 removes support for MongoDB Server 3.6. To learn more about compatible versions of the server, see Compatibility.
The 5.2 driver release includes the following new features, improvements, and fixes:
Enables setting a client-side operations timeout (CSOT). This feature allows you to set a single timeout on your MongoClient
instance that applies to all operations performed with that client. To learn more, see the Limit Server Execution Time guide.
The following timeout options are deprecated:
waitQueueTimeoutMS
socketTimeoutMS
wTimeoutMS
maxTimeMS
maxCommitTimeMS
Use the CSOT feature to replace the functionality of these options.
Adds the SearchIndexType
class, which you can pass when constructing a SearchIndexModel
instance. This change allows you to specify the index type when creating an Atlas Search or Vector Search index. To learn more, see the Atlas Search and Vector Search Indexes guide.
Delegates the implementation of the algorithms that implement the SCRAM-SHA-1
and SCRAM-SHA-256
authentication mechanisms to the configured JCA provider. This change means that your application can use a configured FIPS-compliant JCA provider to provide a higher level of security.
Revises the mongodb-crypt dependency versioning to match the versioning for the JVM drivers. Future versions of mongodb-crypt
will be released alongside the driver and will share the same version number. You must upgrade your mongodb-crypt
dependency to v5.2.0 when upgrading your driver for this release. To learn more, see the In-Use Encryption guide.
Performance improvements due to implementation of native cryptography on all supported platforms. The following list describes the actions needed to implement this improvement depending on your operating system:
Windows: Upgrade your mongodb-crypt
version to v5.2.0.
Mac: Upgrade your mongodb-crypt
version to v5.2.0.
Linux: Install libmongocrypt.so
directly on the file system, instead of using the file that is bundled within the mongodb-crypt
JAR file. You can find Linux instructions to install libmongocrypt
in the Server manual. If you use a package manager to install libmongocrypt
, Java Native Access (JNA) will find it there without further configuration. Alternatively, you can specify the search path by setting the LD_LIBRARY_PATH
environment variable to the file path of the libmongocrypt
package.
We recommend direct installation because the bundled shared library does not link with OpenSSL due to the potential for OpenSSL binary incompatibilities.
The shared library loading is handled by JNA. You can view the rules for library loading search path order in the NativeLibrary class documentation.
Fixes an issue that caused the InsertOneResult.getInsertedId()
and InsertManyResult.getInsertedIds()
methods to return incorrect document IDs in some situations. This change is backported to Kotlin Sync driver v5.1.4 and v4.11.4.
When a sharded cluster operation is unsuccessful, the driver avoids selecting the same mongos
server for operation retry attempts if other mongos
servers are available.
Adds reachability metadata needed when your application uses GraalVM Native Image. This metadata replaces the need for collecting reachability metadata when using the driver libraries. To learn more, see Reachability Metadata in the GraalVM documentation.
This change does not add the libjnidispatch
and libmongocrypt
resource entries, because adding entries for all supported platforms (targets) significantly affects the size of native executables built using GraalVM Native Image. View this sample resource-config.json file in the driver GitHub repository to see how to specify these entries explicitly if your application depends on the org.mongodb:mongodb-crypt
library.
Enables exact vector search by extending the VectorSearchOptions
API to introduce the following specific option subtypes:
ExactVectorSearchOptions
: Use this options type to enable precise matching, ensuring that results are the closest vectors to a given query vector.
ApproximateVectorSearchOptions
: Use this options type to enable searches that might not return the exact closest vectors. You can pass a numCandidates
parameter when instantiating this type to specify the number of nearest neighbors to consider.
To learn more about using the Atlas Vector Search feature, see the Atlas Vector Search Quick Start and select Kotlin (Sync) from the language dropdown.
Adds support for serializers from the kotlinx-datetime
library that let you map Kotlin date and time types to BSON as the expected types instead of as strings. To learn more, see the Serialize Dates and Times section of the Kotlin Serialization guide.
Supports serialization of JsonElement values. To work with the JsonElement
type, you must add the kotlinx-serialization-json
library as a dependency in your application.
The 5.1.3 driver patch release includes the following changes:
Fixes an issue that could cause assertion errors when using Cursor
types.
The 5.1.2 driver patch release includes the following changes:
Support for encoding Kotlin data classes with nullable generic parameter types. For example, you can encode the Container
class in the following code:
@Serializabledata class Box<T>( val boxed: T)@Serializabledata class Container( val box: Box<String?>)
The 5.1.1 driver patch release includes the following changes:
When using the MONGODB-OIDC
authentication mechanism, you must not include comma characters in the authMechanismProperties
connection string value.
To avoid breaking changes in future major releases of the driver, replace any application code that depends on deprecated program elements.
This section includes the following information:
Support for MongoDB Server v3.6 is deprecated and will be removed in the next driver version release. To learn how to upgrade your MongoDB Server deployment, see Release Notes in the MongoDB Server manual.
Internal testing of GraalVM native image technology. These tests involve building native applications by using the GraalVM native-image tool.
Enhanced support for the MONGODB-OIDC
authentication mechanism.
Fixes an issue in which operations used the incorrect codec when using a polymorphic MongoCollection
instance. This ensures that discriminator information is not lost when using bson-kotlinx
.
Fixes an issue in which the class discriminator was the first field when decoding, resulting in field type errors when using a polymorphic MongoCollection
instance.
Support for polymorphic serialization. To learn more, see the Polymorphic Serialization section of the Kotlin Serialization guide.
Introduces the serverMonitoringMode
connection URI option. To learn more, see the Specify Connection Options guide.
New features of the 5.0 driver release include:
The KotlinSerializerCodecProvider
constructor now accepts serializersModule
and bsonConfiguration
objects:
KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration)
This makes it easier to customize your configuration.
Fixes a Kotlin reflection bug that resulted in container type erasure.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4