Skip to content

Java Driver 5.4.0 (March 20, 2025)

Latest
Compare
Choose a tag to compare
@mongodb-dbx-release-bot mongodb-dbx-release-bot released this 26 Mar 17:07
· 1 commit to 5.4.x since this release

What's Changed

🚀 New Features & Enhancements

  • JAVA-5767 Support $lookup in CSFLE and QE #1638
  • Improved selection criteria for srvMaxHosts. #1590
  • Add index hint support for distinct command #1581

Atlas Search Improvements

Bulk Write and Update Enhancements

  • Improved Bulk Write API and added sort option support to updateOne and replaceOne. #1509, #1585, #1612
  • Added Scala Client Bulk Write API. #1603

Driver and Codec Optimizations

  • Optimized BSON codec lookup. #1632
  • Optimized ObjectID sorting and serialization/deserialization. #1582

Client and Connection Handling

  • Updated cursors to refresh timeoutMS on close without affecting operation timeout. #1527
  • Added AsyncTransportSettings and ExecutorService. #1489
  • Ensured connections are not closed prematurely when timeoutMS expires before sending requests. #1573
  • Removed explicit fairness from DefaultConnectionPool. #1575

Cloud and Security Improvements

  • Added OIDC Kubernetes provider support. #1576
  • Updated AWS SDK dependencies. #1639

Kotlin Updates

  • Merging feature branch (Kotlin extensions) into main #1572
  • JAVA-5776 Make KProperty.path() public #1617
  • JAVA-5736 Add bsonNamingStrategy option to support snake_case #1627

🛠 Maintenance and Improvements

  • Renamed Vector class names and marked PackedBitVector as Beta. #1595, #1594
  • Improved handling and initialization of CAPI and jna.Native. #1553
  • Updated Gradle scripts and build configurations. #1620, #1624, #1607, #1569
  • Replaced JetBrains annotations with MongoDB annotations. #1644
  • Stop using the kotlinCheck Gradle task from ssdlc-report.sh #1574

Testing and CI Improvements

  • Clarified and cleaned up internal testing APIs (TestDef). #1566, #1578
  • Enhanced unified test skipping and handling logic. #1557, #1551, #1584
  • Added integration tests for Atlas Search and Load Balancers. #1616, #1649
  • Improved test cleanup and retry logic to reduce flakiness. #1608, #1565

Specification Syncing and Updates

  • Synced BSON and server selection specification tests. #1555, #1554
  • Synced non-lb-connection-establishment. #1634

🐞 Bug & Test Fixes

  • Stop ignoring id parameter #1622
  • Fixed static checker warnings and deprecation warnings. #1564, #1613, #1633
  • Resolved unintended sync test skipping. #1600
  • Fixed module naming for Kotlin extensions. #1602
  • Fixed integration test issues for Regex and Wildcard operators. #1611
  • Update pool-checkout-returned-connection-maxConnecting.json to work with different pool implementations #1563
  • Add flaky annotation to flaky tests #1558
  • Remove deprecated field from GridFS unified tests #1577
  • Fix driver-lambda evg failure #1643
  • Test IPv6 literal in SDAM #1648
  • Split atlas-deployed-task-group across multiple hosts #1640
  • Change branch name to main in SSDLC script. #1552
  • Add @SuppressWarnings("try") to CommandBatchCursorTest, AsyncCommandBatchCursorTest #1567
  • JAVA-5781 Add env var override #1623
  • Evergreen: Update to use stop-orchestration.sh #1621

🌟 Community Contributions

New Contributors:

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

Full Changelog: r5.3.1...r5.4.0

Verifying artifact signatures

Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.3/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