Skip to content

Releases: mongodb/mongo-java-driver

Java Driver 5.1.1 (June 13, 2024)

14 Jun 15:20
3e2c202
Compare
Choose a tag to compare

What's Changed

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)

02 May 15:34
Compare
Choose a tag to compare

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 with BinaryOperator 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)

03 Apr 20:13
Compare
Choose a tag to compare

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)

03 Apr 20:04
Compare
Choose a tag to compare

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)

01 Mar 16:57
Compare
Choose a tag to compare

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 compute ClusterConnectionMode 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 for listCollections helpers by @stIncMale in #1270
  • Improve BsonNumber support for Decimal128 by @jyemin in #1283
  • Accept long instead of int in SocketSettings.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 of Observable[Void] by @stIncMale in #1282
  • Make ConnectionId.serverValue/localValue of the Long/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

Full Changelog: r4.11.0...r5.0.0

Java Driver 4.11.1 (Nov 7, 2023)

20 Feb 22:51
Compare
Choose a tag to compare

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)

07 Nov 15:24
Compare
Choose a tag to compare

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 via ByteBufferBsonOutput.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 in Timeout 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 InterruptedExceptions 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 with Lock.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)

11 Jul 11:05
Compare
Choose a tag to compare

Java Driver 4.10.1 (June 23, 2023)

11 Jul 11:05
Compare
Choose a tag to compare

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)

11 Jul 11:04
Compare
Choose a tag to compare

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 default CodecProvider.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 introducing LazyPropertyModelCodec.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

Full Changelog: r4.9.0...r4.10.0