Skip to content

Java Driver 5.5.0 (May 07, 2025)

Latest
Compare
Choose a tag to compare
@mongodb-dbx-release-bot mongodb-dbx-release-bot released this 07 May 16:21
· 1 commit to 5.5.x since this release

What's Changed

🚀 New Features and Improvements

  • Credential Handling:

    • Added option to configure Data Encryption Key (DEK) cache lifetime (#1689).
  • Performance Optimizations:

    • Enhanced BSON codec lookup (#1632).
    • Optimized BSON decoding (#1667).
    • Reduced temporary buffer allocations during BSON serialization (#1628).
    • Optimized numeric value writing (#1635).
    • Improved String write and length computations (#1651, #1685).
    • Enhanced buffer handling to avoid direct list access (#1675).
    • Replaced Stack with ArrayDeque for better performance (#1681).
  • Resource Management:

    • Fixed Netty event loop resource leak on MongoClient close (#1646).
    • Added connection timeout to TLS Channel (#1686).
  • Compatibility and Maintenance:

    • Dropped support for MongoDB 4.0 (#1663).
    • Updated AWS SDK dependencies to the latest versions (#1639).
    • Replaced org.jetbrains.annotations.NotNull with com.mongodb.lang.NonNull (#1644).
  • Benchmarks and Testing:

    • Introduced Netty benchmark suite (#1647).
    • Added benchmarks for BulkWrite operations (#1657).
    • Began running benchmarks against MongoDB 8.0 (#1660).
  • Bug Fixes and Stability:

    • Made ReadConcernMajorityNotAvailableYet retryable (#1601).
    • Ensured findOne does not unnecessarily set batchSize=1 (#1659).
    • Fixed unnecessary killCursors command when batchSize equals limit (#1656).
  • Documentation and Quality of Life:

    • Improved documentation around the toCollection API (#1677).
    • Updated specification links and submodule management (#1662, #1670).
    • Added Dependabot support for Git submodules (#1691).
  • Kotlin Improvements:

    • Configurable BSON naming strategy to support snake_case (#1627).
    • Add Kotlin Extensions to BOM #1668
    • JAVA-5776 Make KProperty.path() public (#1617)

🧪 Test Enhancements

  • Added IPv6 literal testing in SDAM (#1648).
  • Introduced additional regression and CRUD operation tests (#1692, #1687).
  • Improved testing strategy for flaky unified tests (#1565).

🛠️ Infrastructure Improvements

  • Modernized Gradle build processes and ensured Maven artifacts are properly signed (#1654, #1709).
  • Improved performance test configuration and resource allocation (#1676).

Other Changes

  • Split atlas-deployed-task-group across multiple hosts (#1640)
  • Fix driver-lambda evg failure (#1643)
  • Test Load balancers (#1649)
  • Adjust maxAwaitTimeMS by remaining timeout. (#1650)
  • Deprecate read preference hedge options (#1655)
  • Fix scalac warning (#1666)
  • Record both FaaS and container metadata when both are present (#1661)
  • Add String cache for BsonArray indexes. (#1664)
  • Optimize BsonArray Index encoding (#1673)
  • Fix ByteBufferBsonOutput buffer caching logic. (#1683)
  • Fix the cold Publisher link in the API documentation (#1678)
  • Ignore collectionUUID field if present in change stream tests (#1684)
  • Updated the bom validation to ensure it runs. (#1671)
  • Specifications. (#1690)
  • Reenable clientside-operations-timeout apply maxAwaitTimeMS if less than remaining timeout test (#1693)
  • Update ClientEncryptionCustomEndpointTest (#1694)
  • Skip test for latest (#1700)
  • Added extra test to ignore for reactive streams (#1699)
  • Add non compliance skip for Atlas Data Lake getMore test (#1701)
  • Enable test of nsType with a collection view (#1702)
  • Fix static check warnings. (#1696)
  • Add missing Javadoc. (#1697)
  • DEVPROD-16438 - migrate perf.send to cedar_report endpoint (#1679)
  • Fix validation in release.yml (#1706)

👏 New Contributors

Welcome and thank you to our new contributors:

We appreciate all contributions to the MongoDB Java Driver—thank you!

Full Changelog:(r5.4.0-alpha0...r5.5.0)

Verifying artifact signatures

Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.4/security/validate-signatures/ for the full procedure.

To download and import the public key for verifying signatures, execute

gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 1a75005e142192223d6a7c3b76e0008d166740a8