Releases: mongodb/mongo-java-driver
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
Java Driver 4.11.1 (Nov 7, 2023)
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
Full Changelog: r4.11.0...r4.11.1
Java Driver 4.11.0 (Oct 11, 2023)
Release announcement: https://www.mongodb.com/community/forums/t/mongodb-java-driver-4-11-released/248657
What's Changed
- Build: Ensure spotless checks are run by @rozza in #1146
- Reorganize
NettyBufferProvider
,NettyByteBuf
and improve docs by @stIncMale in #1149 - Upgrade Netty from 4.1.84.Final to 4.1.87.Final by @stIncMale in #1150
- Add path parameter to javadoc of median method. by @vbabanin in #1153
- Collect FaaS info during handshake by @katcharov in #1156
- Do various doc and other minor improvements by @stIncMale in #1157
InternalStreamConnection
must release buffers obtained viaByteBufferBsonOutput.getByteBuffers
by @stIncMale in #1160- Override Iterator#forEachRemaining in MongoCursor by @jyemin in #1161
- Add support for managing Atlas search indexes. by @vbabanin in #1158
- Allow tls=false override with mongodb+srv protocol by @jyemin in #1165
- Support $changeStreamSplitLargeEvent by @katcharov in #1159
- Reorganized Async & Sync OperationHelpers by @rozza in #1169
- Evergreen: Updated static checks by @rozza in #1172
- Add SplitEvent constructor docs by @katcharov in #1174
- Deprecate
currentOp
/collStats
commands by @stIncMale in #1175 - Add Scala test methods to SyncMongoCollection. by @vbabanin in #1167
- Revert "Add Scala test methods to SyncMongoCollection" by @vbabanin in #1176
- Make the ClientSession close method thread-safe by @jyemin in #1179
- Add
TimePoint
and use it inTimeout
by @stIncMale in #1164 - Add durations to connection pool events by @stIncMale in #1166
- Get rid of all
synchronized
blocks and methods in production code by @stIncMale in #1178 - Add end-to-end Search Index Management Helper Methods Tests by @vbabanin in #1184
- Remove incorrect test-skipping logic by @jyemin in #1186
- Deprecate SocketAddress-related methods by @jyemin in #1188
- Handle
Socket
IO interruptibility by @stIncMale in #1189 - Introduce SOCKS5 proxy support by @vbabanin in #1180
- Change package import path. by @vbabanin in #1193
- Improve performance monitoring by @vbabanin in #1190
- Handle new explain output in tests by @jyemin in #1191
- Fix how
InterruptedException
s are handled by @stIncMale in #1192 - Scale double values to 4 decimal digits in geoNear test by @jyemin in #1197
- Deprecate Stream-related API by @jyemin in #1195
- Run changeStreamSplitLargeEvent test on >= 6.0.9 by @katcharov in #1196
- Add FaaS (AWS Lambda) test app by @katcharov in #1183
- Introduce builder for
$vectorSearch
aggregation stage by @stIncMale in #1200 - Fixed JAVA-5183 by @dryabtse in #1207
- Handle interrupts:
Socket.connect
is interruptible in a virtual thread by @stIncMale in #1203 - Replace uninterruptible
Lock.lock
withLock.lockInterruptibly
by @stIncMale in #1206 - Handle interrupts: synchronous
KeyManagementService
uses Socket IO (open, read, write), which is interruptible in a virtual thread by @stIncMale in #1204 - fix: include Kotlin sources into the sources jar by @monosoul in #1210
- Kotlin. Support stored nulls for nullable fields by @rozza in #1212
- Refactor transaction server pinning by @jyemin in #1211
- Fix the
ClusterListener
,ServerListener
,ServerMonitorListener
API docs relevant to thread-safety by @stIncMale in #1208 - Add databaseName to command succeeded/failed events/logs by @jyemin in #1213
- $lookup "from" must be null when using $documents pipeline by @katcharov in #1218
- Update Javadoc for Projections. by @vbabanin in #1216
- Use
Lock.lockInterruptibly
only where it may actually be needed by @stIncMale in #1220 - Add server detection based on host names during MongoClient construct… by @vbabanin in #1214
New Contributors
Full Changelog: r4.10.0...r4.11.0
Java Driver 4.10.2 (July 11, 2023)
Release announcement: https://www.mongodb.com/community/forums/t/mongodb-java-driver-4-10-released/234658
Full Changelog: r4.10.1...r4.10.2
Java Driver 4.10.1 (June 23, 2023)
Release announcement: https://www.mongodb.com/community/forums/t/mongodb-java-driver-4-10-released/234658
What's Changed
- Kotlinx codec provider limit to data, value or sealed classes. by @rozza in #1147
- Scala: Fix tests by @rozza in #1151
- Build: Make bson-kotlin and bson-kotlinx optional by @rozza in #1148
- Kotlin: Improve KotlinSerializerCodec by @rozza in #1152
Full Changelog: r4.10.0...r4.10.1
Java Driver 4.10.0 (June 22, 2023)
Release announcement: https://www.mongodb.com/community/forums/t/mongodb-java-driver-4-10-released/234658
What's Changed
- Add RewrapManyDataKeyProseTest by @katcharov in #1083
- Introduce
BsonUtil.mutableDeepCopy
by @stIncMale in #1081 - Run CSFLE unified and legacy tests with
mongocryptd
by @stIncMale in #1085 - Update mongodb-driver-core POM description by @jyemin in #1088
- Update README.md by @ashni-mongodb in #1089
- Fix documentation of ClientEncryptionSettings#keyVaultMongoClientSett… by @jyemin in #1087
- Do not perform server selection to determine sessions support by @jyemin in #1092
- Work around create failure in unified tests with retry by @jyemin in #1094
- Update README.md by @ashni-mongodb in #1095
- Add OperationContext to sync path by @jyemin in #1097
- Add operationId to command events by @jyemin in #1101
- fix: ensure no NPE is thrown with SerializedFluxSink by @imclem in #1096
- Initial driver-kotlin-coroutine implementation by @rozza in #1100
- Reload expansions before deleting Azure resources by @kevinAlbs in #1106
- Fix typo in javadocs for InsertOneResult by @GeorgiChochov in #1086
- Support per-MongoClient DNS lookup configuration by @jyemin in #1104
- Fix UnixServerAddress interaction with InetAddressResolver by @jyemin in #1109
- Update payloads to new Queryable Encryption protocol by @jyemin in #1103
- Fix duplicate retry log messages by @stIncMale in #1108
- Add operation id and elapsed time to connection check out/in events by @jyemin in #1105
- Stop creating the ECC collection in v2 of queryable encryption by @stIncMale in #1110
- Add operation identifier to retry logs. by @vbabanin in #1112
- JAVA-4965: upgrade to zstd-jni v1.5.5-2 by @ispringer in #1118
- Implement prose tests checking that neither
mongocryptd
nor its client are created when they are not supposed to be by @stIncMale in #1113 - Add structured log messages to CMAP. by @vbabanin in #1114
- Ignore connection-logging tests. by @vbabanin in #1127
- Refactor tests, credential cache by @katcharov in #1102
- Test in CI against MongoDB 7.0 by @jyemin in #1124
- Cleanup documentation referring to removed property by @kdombeck in #1125
- Test against standalones with auth/ssl enabled by @jyemin in #1129
- Remove IP literal check for InetAddressResolver by @jyemin in #1120
- Refactoring in preparation for JAVA-4917 by @jyemin in #1123
- Deprecate
Parameterizable
, introduce defaultCodecProvider.get(Class<T>, List<Type>, CodecRegistry)
instead by @stIncMale in #1115 - JAVA-4966 : Fix Macro for sealed trait by @kistria in #1122
- Remove specialization-related conditional logic from
PojoCodecImpl
by introducingLazyPropertyModelCodec.NeedsSpecializationCodec
by @stIncMale in #1136 - Add second case for the RewrapManyDataKeyOpts prose test. by @vbabanin in #1138
- Fix MongoClient leak in auto-encryption by @jyemin in #1142
- Kotlin coroutine update. by @rozza in #1135
- ByteBufBsonDocument remains a ByteBuf by @jyemin in #1119
- Improve Time-Series Bucketing Scalability by @vbabanin in #1137
- Replace
@Evolving
with@Sealed
where appropriate by @stIncMale in #1141 - Kotlinx serialization decoding optional ObjectId / BsonValues fails to hydrate properly by @rozza in #1143
- Wrap string in literal if it contains $ by @katcharov in #1144
- Update README.md by @ashni-mongodb in #1145
- Add builders for percentile and median accumulators/window functions by @vbabanin in #1139
New Contributors
- @ashni-mongodb made their first contribution in #1089
- @imclem made their first contribution in #1096
- @GeorgiChochov made their first contribution in #1086
- @kdombeck made their first contribution in #1125
- @kistria made their first contribution in #1122
Full Changelog: r4.9.0...r4.10.0