Docs Menu
Docs Home
/ / /
Scala

What's New

On this page

  • What's New in 5.3
  • What's New in 5.2
  • What's New in 5.1.3
  • What's New in 5.1.1
  • What's New in 5.1

Learn about new features, improvements, and fixes introduced in the following versions of the MongoDB Scala Driver:

  • Version 5.3

  • Version 5.2

  • Version 5.1.3

  • Version 5.1.1

  • Version 5.1

The 5.3 driver release includes the following changes, fixes, and features:

  • 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.

Important

Removal of Support for MongoDB Server 3.6

Scala 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 changes, fixes, and features:

  • 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 SearchIndexModel API documentation.

  • 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 Scala 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 Scala from the language dropdown.

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.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.

Important

MongoDB Server v3.6 End-of-Life

Support for MongoDB Server v3.6 is deprecated in this release and will be removed in the v5.2 release of the driver.

To learn about other changes introduced in v5.1, see the What's New guide in the Java Sync Driver documentation.

Back

Issues & Help