Skip to content

Java Driver 4.9.0 (February 10, 2023)

Compare
Choose a tag to compare
@stIncMale stIncMale released this 13 Feb 15:14
· 289 commits to master since this release

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 leak MongoWriteConcernWithResponseException 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

Full Changelog: r4.8.0...r4.9.0