Releases: mongodb/mongo-java-driver
Releases · mongodb/mongo-java-driver
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
Java Driver 4.9.0 (February 10, 2023)
Release announcement: https://www.mongodb.com/community/forums/t/mongodb-java-driver-4-9-0-released/213117
What's Changed
- Do not retry a read operation when in a transaction by @jyemin in #982
- Re-enable ClientSideEncryptionExplicitEncryptionTest for serverless by @jyemin in #983
- Improve error message for invalid field names by @jyemin in #985
- Replace synchronized with ReentrantLock by @jyemin in #984
- Add AWS Lambda example by @jyemin in #986
- Support attached service accounts for GCP KMS by @jyemin in #987
- Replace existing SDAM integration spec tests with unified tests by @jyemin in #989
- Update project dependencies to latest available by @jyemin in #990
- Update netty dependencies to use the netty-bom by @rozza in #992
- Fix double connection release on error for drop and create collection… by @jyemin in #993
- Add disambiguatedPaths field to ChangeStreamDocument by @jyemin in #991
- Support SuppressWarnings annotation for Checkstyle by @jyemin in #995
- Write empty prepare_mongodb_aws so no auth environment variables are set by @jyemin in #994
- Fix minor typos in java comments(javadoc) and all that minor typos by @heli-os in #996
- change the log message from INFO to DEBUG by @heli-os in #999
- Add $unset and $geoNear stages by @katcharov in #998
- Remove support for pre-3.6 server releases by @jyemin in #988
- fix typo in ConnectionCheckedOutEvent by @youzipi in #1001
- Support List and Map<String, T> components in Java records by @jyemin in #1002
- Add missing condition for whether to sleep in server monitor by @jyemin in #1006
- Fix check for whether crypt shared lib is available by @jyemin in #1004
- Support encoding/decoding of parameterized records by @jyemin in #1005
- Add server address and cluster id to events' toString output by @jyemin in #1008
- Update InitialDnsSeedlistDiscoveryTest by @jyemin in #1009
- Make
AbstractMapCodec
package-access by @stIncMale in #1012 - Annotate com.mongodb.reactivestreams.client package as NonNullApi by @jyemin in #1015
- Prioritize electionId over setVersion on 6.0+ servers by @jyemin in #1010
- Simplify OverridableUuidRepresentationCodecRegistry by @jyemin in #1014
- Propagate the original error for write errors labeled
NoWritesPerformed
by @stIncMale in #1013 - Support recursive types in parameterized records by @jyemin in #1007
- Use wrapped CodecRegistry for MongoClient#watch by @jyemin in #1016
- Simplify
CodecCache
by @stIncMale in #1018 - Use AWS SDK v2/v1 if available for AWS credential fetching by @jyemin in #1017
- JAVA-4789: Make bson.record.codec module optional for OSGi by @Joscorbe in #1024
- Document that CodecRegistry instances configured by the application a… by @jyemin in #1020
- Support decoding to Collection and Map subclasses by @jyemin in #1019
- Clean up internal packages by @jyemin in #1026
- Add AsyncOperations to match SyncOperations by @jyemin in #1027
- Support the Azure VM-assigned managed identity for automatic KMS credentials by @jyemin in #1035
- Cache Azure credential obtained from environment by @jyemin in #1038
- Update project dependencies by @jyemin in #1041
- Update encryption terminology by @jyemin in #1039
- Update MongoQueryException to extend MongoCommandException by @jyemin in #1040
- Encapsulate ChangeStreamOperation by @jyemin in #1029
- Encapsulate operations used by MongoDatabase by @jyemin in #1028
- Move legacy write operations into driver-legacy by @jyemin in #1030
- Sync spec tests by @jyemin in #1046
- Sync spec tests by @jyemin in #1048
- Fix explicit decryption code in tour by @jyemin in #1047
- Fix
MixedBulkWriteOperation
such that it does not leakMongoWriteConcernWithResponseException
to users by @stIncMale in #1051 - Make more packages NotNullApi by default by @jyemin in #1056
- Move check for previous value of "closed" outside of lambda by @jyemin in #1058
- Improve logging in server monitor by @jyemin in #1060
- Add $documents stage by @katcharov in #1061
- [JAVA-4816] perf: improving performance of ObjectId parseHexString() by @eonwhite in #1034
- Add integration test for AWS web identity credential fetching by @jyemin in #1063
- Sync spec tests by @jyemin in #1064
- Add OSGi package imports for AWS SDK v1 and v2 by @jyemin in #1065
- Allow null elements in Document#getList by @jyemin in #1066
- PojoCodec BsonId error message by @rozza in #1071
- Add noauth/nossl variants for replica sets and sharded clusters by @jyemin in #1074
- Expressions by @katcharov in #1032
- Added range index support for queryable encryption by @rozza in #1069
- Support configuration of max document length for command logging by @jyemin in #1072
- Update Javadoc of MongoCredential::getSource by @Thihup in #1077
- Ensure BatchCursorFlux does not drop an error by @rozza in #1075
- Initialize ObjectId, ClientMetadataHelper at runtime, GraalVM by @katcharov in #1078
- Use default compression level for zstd by @katcharov in #1080
- Add the
ClientEncryption.createEncryptedCollection
helper method by @stIncMale in #1079 - Fix the "database name is too long" error that happens when running against Serverless by @stIncMale in #1082
New Contributors
- @heli-os made their first contribution in #996
- @youzipi made their first contribution in #1001
- @Joscorbe made their first contribution in #1024
- @eonwhite made their first contribution in #1034
- @Thihup made their first contribution in #1077
Full Changelog: r4.8.0...r4.9.0