Releases: mongodb/mongo-java-driver
Java Driver v5.2.0 (September 24, 2024)
What's Changed
Full Changelog: r5.1.0...r5.2.0
New Features
- Support for MongoDB 8.0 by @jyemin in #1385 and #1442
- Link to Evergreen build and to security testing summary in SSDLC report by @stIncMale in #1426
- Add Queryable Encryption V2 support by @vbabanin in #1445
- Add 'type' field support for Search Index creation. by @vbabanin in #1438
- Support Range Indexes as GA by @vbabanin in #1465
- Support exact search within $vectorSearch by @vbabanin in #1473
- Support for kotlinx-datetime serializers mapping to BSON by @vbabanin in #1462
- Provide GraalVM metadata and substitutions by @stIncMale in #1357
- [Alpha] Client Side Operations Timeout by @katcharov in #1215
Improvements
- Enhance KotlinSerializer with value codecs for widening primitive conversion. by @vbabanin in #1301
- Extend Socks5 Top-Level Domain regex validation to support up to 63 characters by @vbabanin in #1427
- Performance improvements for GridFS by @vbabanin in #1402
- Direct retries to another mongos if one is available by @stIncMale in #1367
- Improve
SecureRandom
usage inObjectId
by @stIncMale in #1394 - Augment
config/spotbugs/exclude.xml
with finding status and rank by @stIncMale in #1392 - Create and upload
ssdlc_compliance_report.md
by @stIncMale in #1405 - Disallow comma character in authMechanismProperties by @katcharov in #1408
- Forward slash in connection string is optional by @jyemin in #1420 and #1421
- Add GitHub Actions based release automation by @alcaeus in #1400 and #1437 and #1425
- Use Java Cryptographic Architecture provider for implementation of PBKDF2 by @jyemin in #1448
- Update Kotlin metadata to include Kotlin language version by @rozza in #1461
- Added Bson-Kotlin Array Codec by @rozza in #1457
- Added kotlinx.json JsonElement serialization support by @rozza in #1459
Bug Fixes
- Revert making BsonEncoder / BsonDecoder internal by @rozza in #1510
- Remove host and port from IllegalArgumentException thrown by malformed connection string by @rozza in #1467
- Allow generic base classes for POJOs by @jyemin in #1423
- Fix to identify and match type arguments, including optional generic types in DataClassCodec#getCodec by @ht-jo in #1339
- Fix OSGi
:mongodb-crypt
manifest entries by @stIncMale in #1506 - Fix
scaladoc
warnings by @stIncMale in #1507 - Fix
:mongodb-crypt
GraalVM metadata by @stIncMale in #1508 - Fix release workflow by @alcaeus in #1422
- Fix encoding nullable generics by @cliffred in #1317
- Fix
CursorResourceManager.close
by @stIncMale in #1440 - Fix bson-kotlinx
encodeNullableSerializableValue
null handling by @rozza in #1453 - Ensure Sink.contextView is propagated by @rozza in #1450
- Ensure exception propagation in async try-catch block. by @vbabanin in #1466
- MixedBulkWriteOperation should generate inserted document IDs at most once per batch by @stIncMale in #1482
- Fix exception propagation in Async API methods by @vbabanin in #1479
Other Notable Changes and Upgrades
- Remove support for MongoDB 3.6 by @jyemin in #1375
- Upgrade to logback-classic 1.3.14 by @jyemin in #1399
- Upgrade to Spotbugs 6.0.15 by @jyemin in #1398
- Migrate
com.mongodb.client.unified.UnifiedTest
and all its descendants to JUnit 5 by @stIncMale in #1410 - Integrate mongodb-crypt module by @vbabanin in #1487
- Set maxTimeMS explicitly for commands being explained by @vbabanin in #1497
- Move mongodb-crypt classes to internal package by @jyemin in #1500
New Contributors
- @alcaeus made their first contribution in #1400
- @cliffred made their first contribution in #1317
- @ht-jo made their first contribution in #1339
Verifying artifact signatures
Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.2/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
Java Driver 4.11.4 (September 05, 2024)
What's Changed
- MixedBulkWriteOperation should generate inserted document IDs at most once per batch by @stIncMale in #1484
- JAVA-5479 backport by @jyemin in #1490
- Fix
QueryBatchCursor.ResourceManager.close
(#1440) by @stIncMale in #1491
Full Changelog: r4.11.3...r4.11.4
Verifying artifact signatures
Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.1/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
Java Driver 5.1.4 (September 03, 2024)
What's Changed
- MixedBulkWriteOperation should generate inserted document IDs at most once per batch by @stIncMale in #1483
- [Backport] Fix exception propagation in Async API methods by @vbabanin in #1485
- Fix getCodec of matching type argument bug by @rozza in #1452
- Fix bson-kotlinx encodeNullableSerializableValue null handling by @rozza in #1453
Full Changelog: r5.1.3...r5.1.4
Verifying artifact signatures
Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.1/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
Java Driver 5.1.3 (August 08, 2024)
What's Changed
- Fix
CursorResourceManager.close
(#1440) by @stIncMale in #1446 - Enhance KotlinSerializer with value codecs for widening primitive conversion. by @vbabanin in #1471
Full Changelog: r5.1.2...r5.1.3
Verifying artifact signatures
Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.1/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
Java Driver 5.1.2 (July 09, 2024)
What's Changed
- Allow generic base classes for POJOs by @jyemin and @rozza in #1423
- Support encoding Kotlin classes with nullable parameter types by @cliffred and @rozza in #1317
- Include links to the Evergreen build and to the driver security testing summary in the SSDLC report (#1426) by @stIncMale in #1432
- Extend SOCKS5 TLD regex validation to support up to 63 characters by @vbabanin in #1429
- Fix for: Include links to the Evergreen build and to the driver security testing summary in the SSDLC report by @stIncMale in #1436
- Attribute release commit and tag to user triggering the workflow (#1437) by @alcaeus in #1443
- Support pre-releases in release tooling (#1425) by @alcaeus in #1444
Full Changelog: r5.1.1...r5.1.2
Verifying artifact signatures
Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.1/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
Java Driver 5.1.1 (June 13, 2024)
What's Changed
- Disallow comma character in authMechanismProperties by @katcharov in #1412
- OIDC admin credentials by @katcharov in #1413
- Backport allow-empty by @katcharov in #1415
- ALLOWED_HOSTS validation, 1 minute machine timeout by @katcharov in #1417
Full Changelog: r5.1.0...r5.1.1
Verifying artifact signatures
Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.1/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
Java Driver 5.1.0 (May 2, 2024)
What's Changed
- Ensure durations are included on connection pool events by @stIncMale in #1370
- Test on Java 21 by @stIncMale in #1326
- Test against GraalVM native image technology by @stIncMale in #1338
- Ensure Operations uses the supplied document class when creating BsonDocumentWrapper by @rozza in #1327
- JAVA-5319: Allow Decoding Data Into
TreeSet
by @ramasai1 in #1306 - Allow configuring the monitoring protocol to use; use the polling protocol in a FaaS environment by default by @stIncMale in #1313
- Convert Bson to BsonDocument for hint by @jyemin in #1335
- Change mapreduce to mapReduce by @jyemin in #1337
- Support discriminators not being the first field when decoding in Kotlin by @rozza in #1324
- Use
InetAddressResolverProvider
and add tests by @stIncMale in #1353 - Force unique clusterTime values by splitting insert into two commands by @jyemin in #1356
- Expand bounds for distinct and MongoIterable#map by @rozza in #1352
- Enhanced OIDC support by @katcharov in #1134 and #1371
- Replace
BiFunction
withBinaryOperator
by @stIncMale in #1374
New Contributors
Full Changelog: r5.0.0...r5.1.0
Verifying artifact signatures
Please refer to https://www.mongodb.com/docs/drivers/java/sync/v5.1/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
Java Driver 5.0.1 (Apr 3, 2024)
What's Changed
- Fix ClusterFixture#hasEncryptionTestsEnabled to correctly detect env … by @jyemin in #1343
- Use
InetAddressResolverProvider
and add tests by @stIncMale in #1354 - A fix to expand the bounds for distinct and MongoIterable#map, allowing for nullable types in those scenarios in Kotlin by @rozza in #1352
- A fix converting Bson to BsonDocument for hint by @jyemin in #1335
- Don't gossip cluster time from monitoring connections by @jyemin in #1276
- A fix to support discriminators not being the first field when decoding in Kotlin by @rozza in #1324
Full Changelog: r5.0.0...r5.0.1
Java Driver 4.11.2 (Apr 3, 2024)
What's Changed
- Backport a fix of 'Add explicit automatic module name configuration' by @vbabanin in #1236
- Backport of an improvement 'Update logger name to align with naming conventions' by @vbabanin in #1237
- A fix to expand the bounds for distinct and MongoIterable#map, allowing for nullable types in those scenarios by @rozza in #1352
- A fix converting Bson to BsonDocument for hint by @jyemin in #1335
- A fix to support discriminators not being the first field when decoding in Kotlin by @rozza in #1324
- A way to reclaim native memory quicker when using ZlibCompressor by @raelg in #1285
- Don't gossip cluster time from monitoring connections by @jyemin in #1276
Full Changelog: r4.11.1...r4.11.2
Java Driver 5.0.0 (Mar 1, 2024)
The MongoDB JVM team is pleased to announce version 5.0.0 of the MongoDB Java Driver!
Release announcement: https://www.mongodb.com/community/forums/t/mongodb-java-driver-5-0-is-released/268913
What's Changed
- [JAVA-5203] Support stored nulls for non-primitive fields in Java records by @bulbfreeman in #1223
- Add explicit automatic module name configuration. by @vbabanin in #1232
- Update logger name to align with naming conventions. by @vbabanin in #1233
- Enable container and Kubernetes awareness for improved telemetry. by @vbabanin in #1235
- Update DatabaseTestCase to Junit 5 by @rozza in #1238
- Preserve error code, code name, and error labels when redacting command monitoring/logging by @stIncMale in #1225
- Add server selection log messages by @stIncMale in #1221
- Remove write and read concern from Atlas Search Index commands. by @vbabanin in #1241
- BatchCursor refactorings by @rozza in #1246
- Merge 5.0 breaking changes into the main line of development by @jyemin in #1268
ClusterSettings
does not computeClusterConnectionMode
consistently by @stIncMale in #1273- Install legacy shell by @jyemin in #1272
- Pull mongohouse image from ADL ECR repo by @jyemin in #1274
- Remove deprecated methods in WriteConcernError class by @jyemin in #1275
- Support
authorizedCollections
option forlistCollections
helpers by @stIncMale in #1270 - Improve BsonNumber support for Decimal128 by @jyemin in #1283
- Accept
long
instead ofint
inSocketSettings.Builder.connectTimeout
/readTimeout
by @stIncMale in #1279 - Remove
Filters.eqFull
by @stIncMale in #1292 - Don't gossip cluster time from monitoring connections by @jyemin in #1276
- Expose
Observable[Unit]
instead ofObservable[Void]
by @stIncMale in #1282 - Make
ConnectionId.serverValue
/localValue
of theLong
/long
type by @stIncMale in #1280 - Account the time to deliver connection pool events as part of the reported duration by @stIncMale in #1290
- Fix
onErrorDropped
logged message (#1281) by @rozza in #1291 - Reclaim native memory quicker when using ZlibCompressor by @raelg in #1285
- Handle kotlin / JVM erasure of types by @rozza in #1295
- Simplify customization of bson-kotlinx by @rozza in #1293
- Refactor FaaS support in ClientMetadataHelper by @jyemin in #1300
- Do minor improvements to method docs in
ClusterSettings
by @stIncMale in #1304 - Add async API (2) by @katcharov in #1258
- Update Atlas search spec tests by @jyemin in #1315
- JAVA-5311 (take two) by @jyemin in #1314
New Contributors
- @bulbfreeman made their first contribution in #1223
- @raelg made their first contribution in #1285
Full Changelog: r4.11.0...r5.0.0