[mongo-java-driver] branch master updated (e5112ac -> 070c3b8)

Christopher Stuart Hoskin mans0954 at moszumanska.debian.org
Fri Dec 22 00:07:03 UTC 2017


This is an automated email from the git hooks/post-receive script.

mans0954 pushed a change to branch master
in repository mongo-java-driver.

      from  e5112ac   Update Standards-Version from 4.0.0 to 4.1.1 (no change required)
      adds  404c0fa   New upstream version 3.6.0
       new  ccadf28   Update upstream source from tag 'upstream/3.6.0'
       new  18b04fd   New upstream release (3.6.0)
       new  070c3b8   Update patches

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .evergreen/.evg.yml                                |  536 ++++++
 .evergreen/compile.sh                              |   15 +
 .evergreen/publish.sh                              |   26 +
 .evergreen/run-gssapi-auth-test.sh                 |   45 +
 .evergreen/run-plain-auth-test.sh                  |   25 +
 .evergreen/run-tests.sh                            |   90 +
 .evg.yml                                           |  218 ---
 .gitignore                                         |    1 -
 .travis.yml                                        |   41 +-
 CONTRIBUTING.md                                    |    4 +-
 LICENSE.txt                                        |  264 ++-
 README.md                                          |   16 +-
 THIRD-PARTY-NOTICES                                |   88 +
 bson/build.gradle                                  |    4 +-
 bson/src/main/org/bson/AbstractBsonReader.java     |   54 +-
 bson/src/main/org/bson/AbstractBsonWriter.java     |  191 ++-
 bson/src/main/org/bson/BsonArray.java              |   18 +
 bson/src/main/org/bson/BsonBinaryReader.java       |   50 +-
 bson/src/main/org/bson/BsonBinarySubType.java      |   12 +-
 bson/src/main/org/bson/BsonBinaryWriter.java       |   38 +-
 bson/src/main/org/bson/BsonDecimal128.java         |  104 ++
 bson/src/main/org/bson/BsonDocument.java           |   64 +-
 bson/src/main/org/bson/BsonDocumentReader.java     |   25 +-
 bson/src/main/org/bson/BsonDocumentWriter.java     |   12 +-
 bson/src/main/org/bson/BsonDouble.java             |   16 +
 bson/src/main/org/bson/BsonElement.java            |   28 +
 bson/src/main/org/bson/BsonInt32.java              |    7 +
 bson/src/main/org/bson/BsonInt64.java              |    7 +
 .../org/bson/BsonInvalidOperationException.java    |   11 +
 bson/src/main/org/bson/BsonNumber.java             |   10 +
 bson/src/main/org/bson/BsonReader.java             |   39 +-
 bson/src/main/org/bson/BsonReaderMark.java         |   31 +
 bson/src/main/org/bson/BsonRegularExpression.java  |   12 +-
 bson/src/main/org/bson/BsonTimestamp.java          |   61 +-
 bson/src/main/org/bson/BsonType.java               |    8 +-
 bson/src/main/org/bson/BsonValue.java              |   24 +-
 bson/src/main/org/bson/BsonWriter.java             |   21 +-
 bson/src/main/org/bson/ByteBufNIO.java             |   11 +-
 bson/src/main/org/bson/Document.java               |   42 +-
 bson/src/main/org/bson/RawBsonDocument.java        |   34 +-
 .../main/org/bson/codecs/AtomicIntegerCodec.java   |    5 +-
 bson/src/main/org/bson/codecs/AtomicLongCodec.java |    5 +-
 bson/src/main/org/bson/codecs/BigDecimalCodec.java |   46 +
 bson/src/main/org/bson/codecs/BsonArrayCodec.java  |   13 +
 .../main/org/bson/codecs/BsonDecimal128Codec.java  |   43 +
 .../src/main/org/bson/codecs/BsonTypeClassMap.java |    5 +
 .../src/main/org/bson/codecs/BsonTypeCodecMap.java |   22 +-
 .../org/bson/codecs/BsonValueCodecProvider.java    |    5 +-
 bson/src/main/org/bson/codecs/ByteCodec.java       |   13 +-
 bson/src/main/org/bson/codecs/Decimal128Codec.java |   43 +
 bson/src/main/org/bson/codecs/DecoderContext.java  |   48 +-
 bson/src/main/org/bson/codecs/DocumentCodec.java   |   23 +-
 bson/src/main/org/bson/codecs/DoubleCodec.java     |    4 +-
 bson/src/main/org/bson/codecs/FloatCodec.java      |   13 +-
 bson/src/main/org/bson/codecs/IntegerCodec.java    |    5 +-
 bson/src/main/org/bson/codecs/IterableCodec.java   |    7 +-
 .../org/bson/codecs/IterableCodecProvider.java     |    1 -
 bson/src/main/org/bson/codecs/LongCodec.java       |    5 +-
 bson/src/main/org/bson/codecs/MapCodec.java        |  147 ++
 .../src/main/org/bson/codecs/MapCodecProvider.java |  110 ++
 .../main/org/bson/codecs/NumberCodecHelper.java    |  106 ++
 bson/src/main/org/bson/codecs/PatternCodec.java    |    2 +-
 bson/src/main/org/bson/codecs/ShortCodec.java      |   13 +-
 .../main/org/bson/codecs/ValueCodecProvider.java   |    5 +-
 .../configuration/CodecConfigurationException.java |   13 +-
 .../org/bson/codecs/configuration/LazyCodec.java   |    2 +-
 .../codecs/configuration/MapOfCodecsProvider.java  |    2 +-
 .../org/bson/codecs/pojo/AutomaticPojoCodec.java   |   69 +
 bson/src/main/org/bson/codecs/pojo/ClassModel.java |  222 +++
 .../org/bson/codecs/pojo/ClassModelBuilder.java    |  328 ++++
 .../pojo/CollectionPropertyCodecProvider.java      |   95 ++
 bson/src/main/org/bson/codecs/pojo/Convention.java |   33 +
 .../bson/codecs/pojo/ConventionAnnotationImpl.java |  230 +++
 .../bson/codecs/pojo/ConventionDefaultsImpl.java   |   38 +
 .../codecs/pojo/ConventionSetPrivateFieldImpl.java |   76 +
 .../pojo/ConventionUseGettersAsSettersImpl.java    |  115 ++
 .../src/main/org/bson/codecs/pojo/Conventions.java |   86 +
 .../org/bson/codecs/pojo/CreatorExecutable.java    |  149 ++
 .../org/bson/codecs/pojo/DiscriminatorLookup.java  |   82 +
 .../codecs/pojo/EnumPropertyCodecProvider.java     |   72 +
 .../codecs/pojo/FallbackPropertyCodecProvider.java |   40 +
 .../main/org/bson/codecs/pojo/InstanceCreator.java |   44 +
 .../bson/codecs/pojo/InstanceCreatorFactory.java   |   31 +
 .../codecs/pojo/InstanceCreatorFactoryImpl.java    |   30 +
 .../org/bson/codecs/pojo/InstanceCreatorImpl.java  |  118 ++
 .../main/org/bson/codecs/pojo/LazyPojoCodec.java   |   71 +
 .../bson/codecs/pojo/MapPropertyCodecProvider.java |   94 ++
 .../org/bson/codecs/pojo/PojoBuilderHelper.java    |  271 +++
 bson/src/main/org/bson/codecs/pojo/PojoCodec.java  |   24 +
 .../main/org/bson/codecs/pojo/PojoCodecImpl.java   |  343 ++++
 .../org/bson/codecs/pojo/PojoCodecProvider.java    |  220 +++
 .../org/bson/codecs/pojo/PropertyAccessor.java     |   44 +
 .../org/bson/codecs/pojo/PropertyAccessorImpl.java |   77 +
 .../bson/codecs/pojo/PropertyCodecProvider.java    |   41 +
 .../bson/codecs/pojo/PropertyCodecRegistry.java    |   41 +
 .../codecs/pojo/PropertyCodecRegistryImpl.java     |   51 +
 .../org/bson/codecs/pojo/PropertyMetadata.java     |  156 ++
 .../main/org/bson/codecs/pojo/PropertyModel.java   |  217 +++
 .../org/bson/codecs/pojo/PropertyModelBuilder.java |  270 +++
 .../pojo/PropertyModelSerializationImpl.java       |   28 +
 .../bson/codecs/pojo/PropertyReflectionUtils.java  |   98 ++
 .../bson/codecs/pojo/PropertySerialization.java    |   34 +
 bson/src/main/org/bson/codecs/pojo/TypeData.java   |  238 +++
 .../org/bson/codecs/pojo/TypeParameterMap.java     |  131 ++
 .../bson/codecs/pojo/TypeWithTypeParameters.java   |   36 +
 .../bson/codecs/pojo/annotations/BsonCreator.java  |   35 +
 .../codecs/pojo/annotations/BsonDiscriminator.java |   49 +
 .../org/bson/codecs/pojo/annotations/BsonId.java   |   37 +
 .../bson/codecs/pojo/annotations/BsonIgnore.java   |   37 +
 .../bson/codecs/pojo/annotations/BsonProperty.java |   58 +
 .../bson/codecs/pojo/annotations/package-info.java |   21 +
 .../main/org/bson/codecs/pojo/package-info.java    |   20 +
 bson/src/main/org/bson/conversions/Bson.java       |    2 +-
 bson/src/main/org/bson/diagnostics/JULLogger.java  |  128 ++
 bson/src/main/org/bson/diagnostics/Logger.java     |  146 ++
 bson/src/main/org/bson/diagnostics/Loggers.java    |   31 +-
 .../src/main/org/bson/diagnostics/SLF4JLogger.java |  108 ++
 bson/src/main/org/bson/internal/Base64.java        |  153 ++
 bson/src/main/org/bson/internal/UnsignedLongs.java |  183 ++
 bson/src/main/org/bson/io/BasicOutputBuffer.java   |    3 +-
 bson/src/main/org/bson/io/ByteBufferBsonInput.java |    5 +-
 bson/src/main/org/bson/io/OutputBuffer.java        |    6 +-
 bson/src/main/org/bson/json/Converter.java         |   34 +
 bson/src/main/org/bson/json/DateTimeFormatter.java |  159 ++
 .../org/bson/json/ExtendedJsonBinaryConverter.java |   34 +
 .../bson/json/ExtendedJsonDateTimeConverter.java   |   30 +
 .../bson/json/ExtendedJsonDecimal128Converter.java |   30 +
 .../org/bson/json/ExtendedJsonDoubleConverter.java |   29 +
 .../org/bson/json/ExtendedJsonInt32Converter.java  |   28 +
 .../org/bson/json/ExtendedJsonInt64Converter.java  |   28 +
 .../org/bson/json/ExtendedJsonMaxKeyConverter.java |   29 +
 .../org/bson/json/ExtendedJsonMinKeyConverter.java |   29 +
 .../bson/json/ExtendedJsonObjectIdConverter.java   |   30 +
 .../ExtendedJsonRegularExpressionConverter.java    |   32 +
 .../bson/json/ExtendedJsonTimestampConverter.java  |   38 +
 .../bson/json/ExtendedJsonUndefinedConverter.java  |   29 +
 .../main/org/bson/json/JsonBooleanConverter.java   |   25 +
 bson/src/main/org/bson/json/JsonBuffer.java        |    2 +-
 .../main/org/bson/json/JsonDoubleConverter.java    |   25 +
 .../src/main/org/bson/json/JsonInt32Converter.java |   25 +
 .../org/bson/json/JsonJavaScriptConverter.java     |   27 +
 bson/src/main/org/bson/json/JsonMode.java          |   22 +-
 bson/src/main/org/bson/json/JsonNullConverter.java |   27 +
 bson/src/main/org/bson/json/JsonReader.java        |  731 +++++---
 bson/src/main/org/bson/json/JsonScanner.java       |   26 +-
 .../main/org/bson/json/JsonStringConverter.java    |   25 +
 .../main/org/bson/json/JsonSymbolConverter.java    |   27 +
 bson/src/main/org/bson/json/JsonToken.java         |   45 +-
 bson/src/main/org/bson/json/JsonWriter.java        |  436 +----
 .../src/main/org/bson/json/JsonWriterSettings.java |  718 +++++++-
 .../json/LegacyExtendedJsonBinaryConverter.java    |   32 +
 .../json/LegacyExtendedJsonDateTimeConverter.java  |   28 +
 ...gacyExtendedJsonRegularExpressionConverter.java |   30 +
 .../json/RelaxedExtendedJsonDateTimeConverter.java |   34 +
 .../json/RelaxedExtendedJsonDoubleConverter.java   |   31 +
 .../json/RelaxedExtendedJsonInt64Converter.java    |   25 +
 .../main/org/bson/json/ShellBinaryConverter.java   |   31 +
 .../main/org/bson/json/ShellDateTimeConverter.java |   38 +
 .../org/bson/json/ShellDecimal128Converter.java    |   29 +
 .../main/org/bson/json/ShellInt64Converter.java    |   31 +
 .../main/org/bson/json/ShellMaxKeyConverter.java   |   27 +
 .../main/org/bson/json/ShellMinKeyConverter.java   |   27 +
 .../main/org/bson/json/ShellObjectIdConverter.java |   30 +
 .../bson/json/ShellRegularExpressionConverter.java |   28 +
 .../org/bson/json/ShellTimestampConverter.java     |   29 +
 .../org/bson/json/ShellUndefinedConverter.java     |   27 +
 .../bson/json/StrictCharacterStreamJsonWriter.java |  369 ++++
 .../StrictCharacterStreamJsonWriterSettings.java   |  134 ++
 bson/src/main/org/bson/json/StrictJsonWriter.java  |  177 ++
 bson/src/main/org/bson/types/Decimal128.java       |  485 ++++++
 bson/src/main/org/bson/types/ObjectId.java         |   84 +-
 bson/src/test/resources/bson/array.json            |   64 +-
 bson/src/test/resources/bson/binary.json           |   85 +
 bson/src/test/resources/bson/boolean.json          |   32 +-
 bson/src/test/resources/bson/code.json             |   67 +
 bson/src/test/resources/bson/code_w_scope.json     |   78 +
 bson/src/test/resources/bson/corrupted.json        |  205 ---
 bson/src/test/resources/bson/datetime.json         |   36 +
 bson/src/test/resources/bson/dbpointer.json        |   56 +
 bson/src/test/resources/bson/dbref.json            |   31 +
 bson/src/test/resources/bson/decimal128-1.json     |  317 ++++
 bson/src/test/resources/bson/decimal128-2.json     |  793 +++++++++
 bson/src/test/resources/bson/decimal128-3.json     | 1771 ++++++++++++++++++++
 bson/src/test/resources/bson/decimal128-4.json     |  165 ++
 bson/src/test/resources/bson/decimal128-5.json     |  402 +++++
 bson/src/test/resources/bson/decimal128-6.json     |  131 ++
 bson/src/test/resources/bson/decimal128-7.json     |  327 ++++
 bson/src/test/resources/bson/document.json         |   36 +
 bson/src/test/resources/bson/double.json           |   87 +
 bson/src/test/resources/bson/int32.json            |   60 +-
 bson/src/test/resources/bson/int64.json            |   43 +
 bson/src/test/resources/bson/maxkey.json           |   12 +
 bson/src/test/resources/bson/minkey.json           |   12 +
 .../test/resources/bson/multi-type-deprecated.json |   15 +
 bson/src/test/resources/bson/multi-type.json       |   11 +
 bson/src/test/resources/bson/null.json             |   12 +
 bson/src/test/resources/bson/oid.json              |   28 +
 bson/src/test/resources/bson/regex.json            |   65 +
 bson/src/test/resources/bson/string.json           |   93 +-
 bson/src/test/resources/bson/symbol.json           |   80 +
 bson/src/test/resources/bson/timestamp.json        |   29 +
 bson/src/test/resources/bson/top.json              |  236 +++
 bson/src/test/resources/bson/undefined.json        |   15 +
 .../unit/org/bson/BsonArraySpecification.groovy    |   56 +
 .../org/bson/BsonBinaryReaderSpecification.groovy  |   53 +
 .../org/bson/BsonBinarySubTypeSpecification.groovy |   36 +
 .../test/unit/org/bson/BsonBinaryWriterTest.java   |   33 +-
 .../bson/BsonDocumentReaderSpecification.groovy    |    4 +-
 .../unit/org/bson/BsonDocumentSpecification.groovy |   39 +-
 bson/src/test/unit/org/bson/BsonDocumentTest.java  |    2 +-
 .../bson/BsonDocumentWriterSpecification.groovy    |   53 +-
 bson/src/test/unit/org/bson/BsonHelper.java        |  103 ++
 .../unit/org/bson/BsonNumberSpecification.groovy   |   78 +
 .../bson/BsonRegularExpressionSpecification.groovy |   63 +
 .../org/bson/BsonTimestampSpecification.groovy     |   89 +
 .../unit/org/bson/BsonValueSpecification.groovy    |   11 +-
 bson/src/test/unit/org/bson/GenericBsonTest.java   |  313 +++-
 .../bson/LimitedLookaheadMarkSpecification.groovy  |  191 ++-
 .../org/bson/RawBsonDocumentSpecification.groovy   |   16 +
 .../org/bson/codecs/AtomicIntegerCodecTest.java    |   83 +
 .../unit/org/bson/codecs/AtomicLongCodecTest.java  |   83 +
 .../codecs/BigDecimalCodecSpecification.groovy     |   68 +
 .../codecs/BsonDocumentCodecSpecification.groovy   |    6 +-
 .../codecs/BsonTypeClassMapSpecification.groovy    |   71 +
 .../codecs/BsonTypeCodecMapSpecification.groovy    |   70 +
 .../BsonValueCodecProviderSpecification.groovy     |    2 +
 .../test/unit/org/bson/codecs/ByteCodecTest.java   |   58 +
 .../test/unit/org/bson/codecs/CodecTestCase.java   |  109 ++
 .../bson/codecs/DocumentCodecSpecification.groovy  |   19 +
 .../unit/org/bson/codecs/DocumentCodecTest.java    |    2 +
 .../test/unit/org/bson/codecs/DoubleCodecTest.java |   52 +
 .../test/unit/org/bson/codecs/FloatCodecTest.java  |   58 +
 .../unit/org/bson/codecs/IntegerCodecTest.java     |   58 +
 .../bson/codecs/IterableCodecSpecification.groovy  |   36 +-
 .../test/unit/org/bson/codecs/LongCodecTest.java   |   53 +
 .../org/bson/codecs/MapCodecSpecification.groovy   |  171 ++
 .../test/unit/org/bson/codecs/ShortCodecTest.java  |   54 +
 .../codecs/ValueCodecProviderSpecification.groovy  |    3 +
 .../bson/codecs/pojo/ClassModelBuilderTest.java    |  193 +++
 .../unit/org/bson/codecs/pojo/ClassModelTest.java  |  162 ++
 .../unit/org/bson/codecs/pojo/ConventionsTest.java |  194 +++
 .../bson/codecs/pojo/PojoCodecProviderTest.java    |   63 +
 .../unit/org/bson/codecs/pojo/PojoCustomTest.java  |  494 ++++++
 .../org/bson/codecs/pojo/PojoRoundTripTest.java    |  401 +++++
 .../unit/org/bson/codecs/pojo/PojoTestCase.java    |  395 +++++
 .../bson/codecs/pojo/PropertyModelBuilderTest.java |  112 ++
 .../org/bson/codecs/pojo/PropertyModelTest.java    |  113 ++
 .../unit/org/bson/codecs/pojo/TypeDataTest.java    |   80 +
 .../org/bson/codecs/pojo/TypeParameterMapTest.java |   56 +
 ...ctCollectionSpecificReturnTypeCreatorModel.java |   23 +
 .../pojo/entities/AbstractInterfaceModel.java      |   62 +
 .../pojo/entities/AsymmetricalCreatorModel.java    |   56 +
 .../pojo/entities/AsymmetricalIgnoreModel.java     |  114 ++
 .../codecs/pojo/entities/AsymmetricalModel.java    |   63 +
 .../pojo/entities/CollectionNestedPojoModel.java   |  261 +++
 .../CollectionSpecificReturnTypeCreatorModel.java  |   54 +
 .../CollectionSpecificReturnTypeModel.java         |   57 +
 .../ConcreteAndNestedAbstractInterfaceModel.java   |   70 +
 .../pojo/entities/ConcreteCollectionsModel.java    |  123 ++
 .../entities/ConcreteInterfaceGenericModel.java    |   57 +
 .../ConcreteStandAloneAbstractInterfaceModel.java  |   29 +
 .../pojo/entities/ConstructorNotPublicModel.java   |   64 +
 .../ContainsAlternativeMapAndCollectionModel.java  |   85 +
 .../bson/codecs/pojo/entities/ConventionModel.java |  134 ++
 .../bson/codecs/pojo/entities/ConverterModel.java  |   74 +
 .../entities/CustomPropertyCodecOptionalModel.java |   58 +
 .../FieldAndPropertyTypeMismatchModel.java         |   64 +
 .../codecs/pojo/entities/GenericHolderModel.java   |   75 +
 .../codecs/pojo/entities/GenericTreeModel.java     |  103 ++
 .../bson/codecs/pojo/entities/ImmutableList.java   |  166 ++
 .../codecs/pojo/entities/InterfaceBasedModel.java  |   20 +
 .../pojo/entities/InterfaceGenericModel.java       |   25 +
 .../bson/codecs/pojo/entities/InterfaceModelA.java |   25 +
 .../pojo/entities/InterfaceModelAbstract.java      |   62 +
 .../bson/codecs/pojo/entities/InterfaceModelB.java |   25 +
 .../codecs/pojo/entities/InterfaceModelImpl.java   |   69 +
 .../pojo/entities/InterfaceUpperBoundsModel.java   |   21 +
 .../InterfaceUpperBoundsModelAbstract.java         |   21 +
 .../InterfaceUpperBoundsModelAbstractImpl.java     |   72 +
 .../codecs/pojo/entities/InvalidCollection.java    |  113 ++
 .../pojo/entities/InvalidCollectionModel.java      |   56 +
 .../pojo/entities/InvalidGetterAndSetterModel.java |   82 +
 .../bson/codecs/pojo/entities/InvalidMapModel.java |   57 +
 .../entities/InvalidMapPropertyCodecProvider.java  |   79 +
 .../pojo/entities/InvalidSetterArgsModel.java      |   82 +
 .../codecs/pojo/entities/MultipleBoundsLevel1.java |   69 +
 .../codecs/pojo/entities/MultipleBoundsLevel2.java |   69 +
 .../codecs/pojo/entities/MultipleBoundsLevel3.java |   61 +
 .../codecs/pojo/entities/MultipleBoundsModel.java  |   31 +
 .../pojo/entities/MultipleLevelGenericModel.java   |   83 +
 .../NestedFieldReusingClassTypeParameter.java      |   51 +
 ...ericHolderFieldWithMultipleTypeParamsModel.java |   71 +
 .../pojo/entities/NestedGenericHolderMapModel.java |   70 +
 .../pojo/entities/NestedGenericHolderModel.java    |   59 +
 .../NestedGenericHolderSimpleGenericsModel.java    |   70 +
 .../pojo/entities/NestedGenericTreeModel.java      |   82 +
 .../entities/NestedMultipleLevelGenericModel.java  |   82 +
 .../pojo/entities/NestedReusedGenericsModel.java   |   74 +
 .../NestedSelfReferentialGenericHolderModel.java   |   66 +
 .../NestedSelfReferentialGenericModel.java         |  128 ++
 .../org/bson/codecs/pojo/entities/Optional.java    |  103 ++
 .../entities/OptionalPropertyCodecProvider.java    |   67 +
 .../bson/codecs/pojo/entities/PrimitivesModel.java |  163 ++
 .../pojo/entities/PrivateSetterFieldModel.java     |   75 +
 .../PropertyReusingClassTypeParameter.java         |   52 +
 .../pojo/entities/PropertySelectionModel.java      |  150 ++
 .../PropertyWithMultipleTypeParamsModel.java       |   73 +
 .../codecs/pojo/entities/ReusedGenericsModel.java  |  214 +++
 .../pojo/entities/SelfReferentialGenericModel.java |   97 ++
 .../codecs/pojo/entities/ShapeHolderModel.java     |   61 +
 .../codecs/pojo/entities/ShapeModelAbstract.java   |   64 +
 .../codecs/pojo/entities/ShapeModelCircle.java     |   67 +
 .../codecs/pojo/entities/ShapeModelRectangle.java  |   80 +
 .../org/bson/codecs/pojo/entities/SimpleEnum.java  |   23 +
 .../bson/codecs/pojo/entities/SimpleEnumModel.java |   72 +
 .../codecs/pojo/entities/SimpleGenericsModel.java  |  116 ++
 .../org/bson/codecs/pojo/entities/SimpleModel.java |   82 +
 .../pojo/entities/SimpleNestedPojoModel.java       |   59 +
 .../pojo/entities/UpperBoundsConcreteModel.java    |   28 +
 .../codecs/pojo/entities/UpperBoundsModel.java     |   59 +
 .../entities/conventions/AnnotationAbstract.java   |   27 +
 .../conventions/AnnotationDefaultsModel.java       |   32 +
 .../conventions/AnnotationInheritedModel.java      |   31 +
 .../pojo/entities/conventions/AnnotationModel.java |   99 ++
 .../conventions/AnnotationNameCollision.java       |   27 +
 .../conventions/BsonIgnoreInvalidMapModel.java     |   76 +
 ...ollectionDiscriminatorAbstractClassesModel.java |   75 +
 .../CollectionDiscriminatorInterfacesModel.java    |   75 +
 .../entities/conventions/CollectionNameModel.java  |   20 +
 .../CollectionsGetterImmutableModel.java           |   56 +
 .../conventions/CollectionsGetterMutableModel.java |   55 +
 .../CollectionsGetterNonEmptyModel.java            |   57 +
 .../conventions/CollectionsGetterNullModel.java    |   54 +
 .../conventions/CreatorAllFinalFieldsModel.java    |   83 +
 .../conventions/CreatorConstructorIdModel.java     |  112 ++
 .../CreatorConstructorLegacyBsonPropertyModel.java |  104 ++
 .../conventions/CreatorConstructorModel.java       |  102 ++
 .../CreatorConstructorPrimitivesModel.java         |  104 ++
 .../conventions/CreatorConstructorRenameModel.java |  103 ++
 .../CreatorConstructorThrowsExceptionModel.java    |   87 +
 .../conventions/CreatorInSuperClassModel.java      |   30 +
 .../conventions/CreatorInSuperClassModelImpl.java  |   61 +
 .../CreatorInvalidConstructorModel.java            |   85 +
 .../conventions/CreatorInvalidMethodModel.java     |   89 +
 .../CreatorInvalidMethodReturnTypeModel.java       |   89 +
 .../CreatorInvalidMultipleConstructorsModel.java   |   98 ++
 .../CreatorInvalidMultipleCreatorsModel.java       |   95 ++
 .../CreatorInvalidMultipleStaticCreatorsModel.java |  102 ++
 .../CreatorInvalidTypeConstructorModel.java        |   84 +
 .../conventions/CreatorInvalidTypeMethodModel.java |   88 +
 .../entities/conventions/CreatorMethodModel.java   |   94 ++
 .../CreatorMethodThrowsExceptionModel.java         |   91 +
 .../conventions/CreatorNoArgsConstructorModel.java |   92 +
 .../conventions/CreatorNoArgsMethodModel.java      |   96 ++
 .../conventions/DiscriminatorNameModel.java        |   20 +
 .../entities/conventions/FieldStorageModel.java    |   21 +
 .../pojo/entities/conventions/InterfaceModel.java  |   23 +
 .../entities/conventions/InterfaceModelImplA.java  |   67 +
 .../entities/conventions/InterfaceModelImplB.java  |   67 +
 .../conventions/MapGetterImmutableModel.java       |   56 +
 .../conventions/MapGetterMutableModel.java         |   55 +
 .../conventions/MapGetterNonEmptyModel.java        |   56 +
 .../entities/conventions/MapGetterNullModel.java   |   55 +
 .../entities/conventions/PropertyNameModel.java    |   22 +
 .../pojo/entities/conventions/Subclass1Model.java  |   64 +
 .../pojo/entities/conventions/Subclass2Model.java  |   64 +
 .../pojo/entities/conventions/SuperClassModel.java |   59 +
 .../pojo/entities/conventions/package-info.java    |   20 +
 .../bson/codecs/pojo/entities/package-info.java    |   20 +
 .../unit/org/bson/internal/UnsignedLongsTest.java  |   77 +
 .../bson/io/BasicOutputBufferSpecification.groovy  |   11 +
 .../io/ByteBufferBsonInputSpecification.groovy     |   11 +
 .../unit/org/bson/json/Base64Specification.groovy  |   42 +
 .../org/bson/json/JsonReaderSpecification.groovy   |   54 +
 .../test/unit/org/bson/json/JsonReaderTest.java    |  305 +++-
 .../json/JsonWriterSettingsSpecification.groovy    |  247 +++
 .../org/bson/json/JsonWriterSpecification.groovy   |  319 ++++
 .../test/unit/org/bson/json/JsonWriterTest.java    |  322 ++--
 ...ctCharacterStreamJsonWriterSpecification.groovy |  483 ++++++
 .../org/bson/types/Decimal128Specification.groovy  |  380 +++++
 .../org/bson/types/DocumentSpecification.groovy    |   34 +-
 .../src/test/unit/org/bson/types/ObjectIdTest.java |   33 +-
 bson/src/test/unit/util/Hex.java                   |   54 +
 build.gradle                                       |  124 +-
 config/checkstyle-exclude.xml                      |   31 +
 config/clirr-exclude.yml                           |   20 +
 config/codenarc/codenarc.xml                       |   16 +-
 config/findbugs-exclude.xml                        |    2 +-
 debian/changelog                                   |    6 +-
 debian/patches/build.patch                         |   55 +-
 debian/patches/test.patch                          |    4 +-
 docs/landing/README.md                             |    2 +-
 docs/landing/config.toml                           |    2 +
 docs/landing/data/releases.toml                    |   27 +-
 docs/landing/layouts/404.html                      |    2 +-
 docs/landing/layouts/index.html                    |   26 +-
 docs/landing/layouts/partials/assets/css.html      |   12 +-
 .../layouts/partials/assets/javascripts.html       |   14 +-
 docs/landing/layouts/partials/footer.html          |    2 +-
 docs/landing/layouts/partials/header/main.html     |    4 +-
 docs/landing/layouts/partials/hero.html            |    6 +-
 docs/landing/layouts/partials/quickStart.html      |  102 +-
 docs/landing/layouts/partials/releases.html        |    8 +-
 docs/landing/static/versions.json                  |    2 +-
 docs/reference/README.md                           |    2 +-
 docs/reference/config.toml                         |    9 +-
 docs/reference/content/bson/extended-json.md       |   64 +-
 docs/reference/content/bson/index.md               |    3 +-
 docs/reference/content/bson/installation-guide.md  |    2 +-
 docs/reference/content/bson/pojos.md               |  470 ++++++
 docs/reference/content/bson/readers-and-writers.md |    4 +-
 docs/reference/content/builders/aggregation.md     |  287 +++-
 docs/reference/content/builders/filters.md         |   14 +-
 docs/reference/content/builders/indexes.md         |   14 +-
 docs/reference/content/builders/sorts.md           |    2 +-
 docs/reference/content/builders/updates.md         |    2 +-
 .../content/driver-async/getting-started/index.md  |   17 -
 .../getting-started/installation-guide.md          |   25 -
 .../driver-async/getting-started/installation.md   |   26 +
 .../getting-started/quick-start-pojo.md            |  389 +++++
 .../driver-async/getting-started/quick-start.md    |  449 +++++
 .../getting-started/quick-tour-admin.md            |  236 ---
 .../driver-async/getting-started/quick-tour.md     |  495 ------
 docs/reference/content/driver-async/index.md       |   25 +-
 .../reference/connecting/authenticating.md         |  234 ---
 .../reference/connecting/connection-settings.md    |  138 --
 .../driver-async/reference/connecting/index.md     |   17 -
 .../driver-async/reference/connecting/ssl.md       |   98 --
 .../content/driver-async/reference/crud/index.md   |  195 ---
 .../content/driver-async/reference/gridfs/index.md |  314 ----
 .../content/driver-async/reference/index.md        |   12 +-
 .../content/driver-async/reference/logging.md      |   31 +
 .../driver-async/reference/management/index.md     |   16 -
 .../driver-async/reference/management/logging.md   |   31 -
 .../reference/management/monitoring.md             |  184 --
 .../content/driver-async/reference/monitoring.md   |  259 +++
 .../content/driver-async/reference/observables.md  |    8 +-
 .../content/driver-async/tutorials/aggregation.md  |  105 ++
 .../driver-async/tutorials/authentication.md       |  287 ++++
 .../content/driver-async/tutorials/bulk-writes.md  |   64 +
 .../driver-async/tutorials/change-streams.md       |  103 ++
 .../content/driver-async/tutorials/commands.md     |   65 +
 .../content/driver-async/tutorials/compression.md  |  110 ++
 .../driver-async/tutorials/connect-to-mongodb.md   |  265 +++
 .../tutorials/databases-collections.md             |  166 ++
 .../driver-async/tutorials/geospatial-search.md    |   99 ++
 .../content/driver-async/tutorials/gridfs.md       |  303 ++++
 .../content/driver-async/tutorials/index.md        |   34 +
 .../content/driver-async/tutorials/indexes.md      |  263 +++
 .../tutorials/perform-read-operations.md           |  345 ++++
 .../tutorials/perform-write-operations.md          |  404 +++++
 .../content/driver-async/tutorials/ssl.md          |  157 ++
 .../content/driver-async/tutorials/text-search.md  |  144 ++
 .../content/driver/getting-started/index.md        |   22 -
 .../driver/getting-started/installation-guide.md   |   41 -
 .../content/driver/getting-started/installation.md |   44 +
 .../driver/getting-started/quick-start-pojo.md     |  345 ++++
 .../content/driver/getting-started/quick-start.md  |  416 +++++
 .../driver/getting-started/quick-tour-admin.md     |  175 --
 .../content/driver/getting-started/quick-tour.md   |  421 -----
 docs/reference/content/driver/index.md             |   26 +-
 .../driver/reference/connecting/authenticating.md  |  234 ---
 .../reference/connecting/connection-settings.md    |  104 --
 .../content/driver/reference/connecting/index.md   |   18 -
 .../content/driver/reference/connecting/jndi.md    |   86 -
 .../content/driver/reference/connecting/ssl.md     |   72 -
 .../content/driver/reference/crud/index.md         |  153 --
 .../content/driver/reference/gridfs/index.md       |  196 ---
 docs/reference/content/driver/reference/index.md   |   13 +-
 docs/reference/content/driver/reference/logging.md |   31 +
 .../content/driver/reference/management/index.md   |   16 -
 .../content/driver/reference/management/logging.md |   31 -
 .../driver/reference/management/monitoring.md      |  178 --
 .../content/driver/reference/monitoring.md         |  245 +++
 .../content/driver/tutorials/aggregation.md        |  101 ++
 .../content/driver/tutorials/authentication.md     |  217 +++
 .../content/driver/tutorials/bulk-writes.md        |   53 +
 .../content/driver/tutorials/change-streams.md     |   90 +
 .../reference/content/driver/tutorials/commands.md |   55 +
 .../content/driver/tutorials/compression.md        |  103 ++
 .../content/driver/tutorials/connect-to-mongodb.md |  200 +++
 .../driver/tutorials/databases-collections.md      |  202 +++
 .../content/driver/tutorials/geospatial-search.md  |   78 +
 docs/reference/content/driver/tutorials/gridfs.md  |  259 +++
 docs/reference/content/driver/tutorials/index.md   |   34 +
 docs/reference/content/driver/tutorials/indexes.md |  229 +++
 docs/reference/content/driver/tutorials/jndi.md    |   86 +
 .../driver/tutorials/perform-read-operations.md    |  292 ++++
 .../driver/tutorials/perform-write-operations.md   |  310 ++++
 docs/reference/content/driver/tutorials/ssl.md     |  120 ++
 .../content/driver/tutorials/text-search.md        |  130 ++
 docs/reference/content/index.md                    |   27 +-
 docs/reference/content/upgrading.md                |   53 +
 docs/reference/content/whats-new.md                |  265 +++
 docs/reference/content/whats-new/index.md          |   25 -
 docs/reference/content/whats-new/upgrading.md      |   28 -
 docs/reference/data/mongodb.toml                   |    4 +-
 .../layouts/partials/assets/cssExtras.html         |    4 +-
 .../layouts/partials/assets/javascriptExtras.html  |    4 +-
 docs/reference/layouts/shortcodes/apiref.html      |    2 +-
 docs/reference/layouts/shortcodes/install.html     |   33 +-
 .../themes/mongodb/layouts/_default/list.html      |   12 +-
 .../themes/mongodb/layouts/_default/single.html    |    6 +-
 docs/reference/themes/mongodb/layouts/index.html   |   20 +-
 .../mongodb/layouts/partials/assets/css.html       |   10 +-
 .../layouts/partials/assets/javascripts.html       |   12 +-
 .../themes/mongodb/layouts/partials/footer.html    |   30 +-
 .../themes/mongodb/layouts/partials/header.html    |   10 +-
 .../layouts/partials/header/contentHeader.html     |   40 +-
 .../mongodb/layouts/partials/header/main.html      |    4 +-
 .../mongodb/layouts/partials/header/search.html    |    2 +-
 .../themes/mongodb/layouts/partials/menu.html      |   64 +-
 .../mongodb/layouts/partials/menu/currentItem.html |  146 +-
 .../themes/mongodb/layouts/partials/menu/item.html |   92 +-
 .../mongodb/layouts/partials/rightColumn.html      |    6 +-
 .../themes/mongodb/layouts/shortcodes/docsref.html |    2 +-
 docs/reference/themes/mongodb/static/js/scripts.js |    2 +-
 driver-async/README.md                             |    2 +-
 driver-async/build.gradle                          |   16 +-
 .../documentation/DocumentationSamples.java        | 1031 ++++++++++++
 driver-async/src/examples/primer/UpdatePrimer.java |    7 -
 driver-async/src/examples/tour/Address.java        |  141 ++
 driver-async/src/examples/tour/Person.java         |  167 ++
 driver-async/src/examples/tour/PojoQuickTour.java  |  191 +++
 .../mongodb/async/client/AbstractSubscription.java |    4 +-
 .../mongodb/async/client/AggregateIterable.java    |   51 +
 .../async/client/AggregateIterableImpl.java        |  162 +-
 .../AggregateToCollectionThenFindOperation.java    |   59 +
 .../async/client/AsyncOperationExecutorImpl.java   |  125 ++
 .../client/AwaitingWriteOperationIterable.java     |  184 --
 .../mongodb/async/client/ChangeStreamIterable.java |   91 +
 .../async/client/ChangeStreamIterableImpl.java     |  139 ++
 .../mongodb/async/client/ClientSessionBinding.java |  144 ++
 .../mongodb/async/client/ClientSessionHelper.java  |   95 ++
 .../com/mongodb/async/client/DistinctIterable.java |   12 +
 .../mongodb/async/client/DistinctIterableImpl.java |   70 +-
 .../com/mongodb/async/client/FindIterable.java     |   90 +
 .../com/mongodb/async/client/FindIterableImpl.java |  162 +-
 ...FlatteningSingleResultCallbackSubscription.java |    4 +-
 .../async/client/ListCollectionsIterableImpl.java  |   74 +-
 .../async/client/ListDatabasesIterable.java        |   23 +
 .../async/client/ListDatabasesIterableImpl.java    |   67 +-
 .../async/client/ListIndexesIterableImpl.java      |   66 +-
 .../mongodb/async/client/MapReduceIterable.java    |   14 +
 .../async/client/MapReduceIterableImpl.java        |  199 ++-
 .../async/client/MappingAsyncBatchCursor.java      |   49 +-
 .../com/mongodb/async/client/MappingIterable.java  |   44 +-
 .../main/com/mongodb/async/client/MongoClient.java |   56 +-
 .../com/mongodb/async/client/MongoClientImpl.java  |  144 +-
 .../mongodb/async/client/MongoClientSettings.java  |  151 +-
 .../com/mongodb/async/client/MongoClients.java     |  180 +-
 .../com/mongodb/async/client/MongoCollection.java  |  896 +++++++++-
 .../mongodb/async/client/MongoCollectionImpl.java  |  812 +++++++--
 .../com/mongodb/async/client/MongoDatabase.java    |  192 ++-
 .../mongodb/async/client/MongoDatabaseImpl.java    |  202 ++-
 .../mongodb/async/client/MongoIterableImpl.java    |  197 +++
 .../async/client/MongoIterableSubscription.java    |    2 +-
 .../mongodb/async/client/NettyMongoClients.java    |   47 +
 .../mongodb/async/client/OperationIterable.java    |  158 --
 .../client/SingleResultCallbackSubscription.java   |    3 +-
 .../mongodb/async/client/gridfs/GridFSBucket.java  |  362 +++-
 .../async/client/gridfs/GridFSBucketImpl.java      |  388 ++++-
 .../client/gridfs/GridFSDownloadStreamImpl.java    |   52 +-
 .../async/client/gridfs/GridFSFindIterable.java    |   12 +
 .../client/gridfs/GridFSFindIterableImpl.java      |    9 +-
 .../async/client/gridfs/GridFSIndexCheckImpl.java  |   45 +-
 .../client/gridfs/GridFSUploadStreamImpl.java      |   64 +-
 .../client/gridfs/helpers/AsyncStreamHelper.java   |    5 +-
 .../com/mongodb/async/client/CrudTest.java         |  336 +++-
 .../com/mongodb/async/client/Fixture.java          |    7 +-
 .../client/InitialDnsSeedlistDiscoveryTest.java    |  210 +++
 .../async/client/JsonPoweredCrudTestHelper.java    |  508 ++++++
 ...oClientListenerRegistrationSpecification.groovy |   56 +-
 .../client/MongoClientSessionSpecification.groovy  |  309 ++++
 .../async/client/MongoClientsSpecification.groovy  |  129 +-
 .../mongodb/async/client/RetryableWritesTest.java  |  239 +++
 .../async/client/SmokeTestSpecification.groovy     |   14 +-
 .../com/mongodb/async/client/TestHelper.groovy     |   70 +
 .../GridFSBucketSmokeTestSpecification.groovy      |   67 +-
 .../mongodb/async/client/gridfs/GridFSTest.java    |    9 +-
 .../async/client/gridfs/GridFSTestHelper.groovy    |  111 --
 .../AsyncStreamHelperTestSpecification.groovy      |    2 +-
 ...onousChannelHelperSmokeTestSpecification.groovy |   86 +-
 .../client/AggregateIterableSpecification.groovy   |   94 +-
 ...itingWriteOperationIterableSpecification.groovy |  338 ----
 .../ChangeStreamIterableSpecification.groovy       |  336 ++++
 .../ClientSessionBindingSpecification.groovy       |  161 ++
 .../client/DistinctIterableSpecification.groovy    |   21 +-
 .../async/client/FindIterableSpecification.groovy  |   46 +-
 .../ListCollectionsIterableSpecification.groovy    |   10 +-
 .../ListDatabasesIterableSpecification.groovy      |   12 +-
 .../client/ListIndexesIterableSpecification.groovy |    8 +-
 .../client/MapReduceIterableSpecification.groovy   |   68 +-
 .../client/MongoClientSettingsSpecification.groovy |   74 +-
 .../async/client/MongoClientSpecification.groovy   |   63 +-
 .../client/MongoCollectionSpecification.groovy     | 1249 +++++++++-----
 .../async/client/MongoDatabaseSpecification.groovy |  253 ++-
 .../async/client/TestOperationExecutor.java        |   19 +
 .../client/gridfs/GridFSBucketSpecification.groovy |  480 +++++-
 .../GridFSDownloadStreamSpecification.groovy       |  173 +-
 .../gridfs/GridFSFindIterableSpecification.groovy  |   18 +-
 .../gridfs/GridFSIndexCheckSpecification.groovy    |  321 +++-
 .../gridfs/GridFSUploadStreamSpecification.groovy  |  266 ++-
 driver-core/build.gradle                           |    5 +-
 .../src/main/com/mongodb/ClientSessionOptions.java |   91 +
 .../src/main/com/mongodb/ConnectionString.java     |  335 +++-
 driver-core/src/main/com/mongodb/DBRef.java        |  130 ++
 .../src/main/com/mongodb/DBRefCodec.java           |    0
 .../src/main/com/mongodb/DBRefCodecProvider.java   |    0
 .../com/mongodb/DocumentToDBRefTransformer.java    |   57 +
 .../com/mongodb/MongoChangeStreamException.java    |   37 +
 .../src/main/com/mongodb/MongoCompressor.java      |  146 ++
 .../com/mongodb/MongoConfigurationException.java   |   48 +
 .../src/main/com/mongodb/MongoCredential.java      |   44 +-
 .../src/main/com/mongodb/MongoNamespace.java       |  105 +-
 driver-core/src/main/com/mongodb/ReadConcern.java  |   59 +-
 .../src/main/com/mongodb/ReadConcernLevel.java     |   28 +-
 .../src/main/com/mongodb/ReadPreference.java       |  374 ++++-
 .../src/main/com/mongodb/ServerAddress.java        |   16 +-
 .../main/com/mongodb/TaggableReadPreference.java   |  269 ++-
 driver-core/src/main/com/mongodb/WriteConcern.java |    4 +-
 .../main/com/mongodb/WriteConcernException.java    |    6 +-
 .../main/com/mongodb/async/AsyncBatchCursor.java   |   12 +
 .../com/mongodb/binding/AsyncClusterBinding.java   |   12 +
 .../com/mongodb/binding/AsyncConnectionSource.java |   10 +
 .../main/com/mongodb/binding/AsyncReadBinding.java |   10 +
 .../binding/AsyncSingleConnectionReadBinding.java  |   14 +-
 .../com/mongodb/binding/AsyncWriteBinding.java     |   10 +
 .../main/com/mongodb/binding/ClusterBinding.java   |   12 +
 .../main/com/mongodb/binding/ConnectionSource.java |   10 +
 .../src/main/com/mongodb/binding/ReadBinding.java  |   10 +
 .../binding/SingleConnectionReadBinding.java       |   14 +-
 .../com/mongodb/binding/SingleServerBinding.java   |   12 +
 .../src/main/com/mongodb/binding/WriteBinding.java |   11 +
 .../src/main/com/mongodb/bulk/BulkWriteError.java  |    4 +-
 .../src/main/com/mongodb/bulk/DeleteRequest.java   |   27 +
 .../src/main/com/mongodb/bulk/IndexRequest.java    |   30 +-
 .../src/main/com/mongodb/bulk/UpdateRequest.java   |   54 +
 .../com/mongodb/client/MongoDriverInformation.java |  184 ++
 .../client/gridfs/codecs/GridFSFileCodec.java      |    2 +-
 .../mongodb/client/gridfs/model/GridFSFile.java    |    6 +-
 .../main/com/mongodb/client/model/Aggregates.java  |  518 +++++-
 .../mongodb/client/model/BucketAutoOptions.java    |   84 +
 .../mongodb/client/model/BucketGranularity.java    |   75 +
 .../com/mongodb/client/model/BucketOptions.java    |   82 +
 .../main/com/mongodb/client/model/Collation.java   |  412 +++++
 .../mongodb/client/model/CollationAlternate.java   |   71 +
 .../mongodb/client/model/CollationCaseFirst.java   |   72 +
 .../mongodb/client/model/CollationMaxVariable.java |   73 +
 .../mongodb/client/model/CollationStrength.java    |   91 +
 .../com/mongodb/client/model/CountOptions.java     |   26 +
 .../client/model/CreateCollectionOptions.java      |   30 +
 .../mongodb/client/model/CreateIndexOptions.java   |   56 +
 .../mongodb/client/model/CreateViewOptions.java    |   50 +
 .../com/mongodb/client/model/DeleteManyModel.java  |   24 +
 .../com/mongodb/client/model/DeleteOneModel.java   |   24 +
 .../com/mongodb/client/model/DeleteOptions.java    |   52 +
 .../com/mongodb/client/model/DropIndexOptions.java |   56 +
 .../src/main/com/mongodb/client/model/Facet.java   |   66 +
 .../src/main/com/mongodb/client/model/Field.java   |   83 +
 .../src/main/com/mongodb/client/model/Filters.java |   60 +-
 .../client/model/FindOneAndDeleteOptions.java      |   26 +
 .../client/model/FindOneAndReplaceOptions.java     |   26 +
 .../client/model/FindOneAndUpdateOptions.java      |   53 +-
 .../main/com/mongodb/client/model/FindOptions.java |  275 ++-
 .../mongodb/client/model/GraphLookupOptions.java   |  119 ++
 .../com/mongodb/client/model/IndexOptions.java     |   26 +
 .../src/main/com/mongodb/client/model/Indexes.java |    2 +-
 .../com/mongodb/client/model/MapReduceAction.java  |    2 +-
 .../main/com/mongodb/client/model/Projections.java |    8 +-
 .../com/mongodb/client/model/ReplaceOneModel.java  |    2 +-
 .../com/mongodb/client/model/SimpleExpression.java |    2 +-
 .../src/main/com/mongodb/client/model/Sorts.java   |    6 +-
 .../com/mongodb/client/model/UpdateManyModel.java  |    4 +-
 .../com/mongodb/client/model/UpdateOptions.java    |   55 +
 .../src/main/com/mongodb/client/model/Updates.java |   14 +-
 .../model/changestream/ChangeStreamDocument.java   |  200 +++
 .../changestream/ChangeStreamDocumentCodec.java    |   78 +
 .../client/model/changestream/FullDocument.java    |   77 +
 .../client/model/changestream/OperationType.java   |   88 +
 .../model/changestream/OperationTypeCodec.java     |   41 +
 .../model/changestream/UpdateDescription.java      |  100 ++
 .../client/model/changestream/package-info.java    |   20 +
 .../com/mongodb/client/model/geojson/Geometry.java |    2 +-
 .../geojson/codecs/AbstractGeometryCodec.java      |   53 +
 .../model/geojson/codecs/GeoJsonCodecProvider.java |    3 +
 .../client/model/geojson/codecs/GeometryCodec.java |   37 +
 .../model/geojson/codecs/GeometryCodecHelper.java  |   89 -
 .../geojson/codecs/GeometryCollectionCodec.java    |   48 +-
 .../geojson/codecs/GeometryDecoderHelper.java      |  468 ++++++
 .../geojson/codecs/GeometryEncoderHelper.java      |  167 ++
 .../model/geojson/codecs/LineStringCodec.java      |   45 +-
 .../model/geojson/codecs/MultiLineStringCodec.java |   46 +-
 .../model/geojson/codecs/MultiPointCodec.java      |   40 +-
 .../model/geojson/codecs/MultiPolygonCodec.java    |   40 +-
 .../NamedCoordinateReferenceSystemCodec.java       |   10 +-
 .../client/model/geojson/codecs/PointCodec.java    |   37 +-
 .../client/model/geojson/codecs/PolygonCodec.java  |   35 +-
 .../com/mongodb/client/result/DeleteResult.java    |    2 +-
 .../com/mongodb/client/result/UpdateResult.java    |    2 +-
 .../connection/AbstractByteBufBsonDocument.java    |  231 +++
 .../com/mongodb/connection/AsyncConnection.java    |  136 +-
 .../AsynchronousSocketChannelStream.java           |   26 +-
 .../AsynchronousSocketChannelStreamFactory.java    |   26 +-
 ...nchronousSocketChannelStreamFactoryFactory.java |   58 +-
 .../main/com/mongodb/connection/Authenticator.java |    4 +-
 .../main/com/mongodb/connection/Base64Codec.java   |  137 --
 .../main/com/mongodb/connection/BaseCluster.java   |   70 +-
 .../com/mongodb/connection/BaseQueryMessage.java   |   12 +-
 .../connection/BaseWriteCommandMessage.java        |  197 ---
 .../com/mongodb/connection/BsonWriterHelper.java   |  129 ++
 .../mongodb/connection/ByteBufBsonDocument.java    |  234 +--
 .../mongodb/connection/ByteBufferBsonOutput.java   |    3 +-
 .../main/com/mongodb/connection/ChangeEvent.java   |    6 +-
 .../mongodb/connection/ClientMetadataHelper.java   |  235 +++
 .../src/main/com/mongodb/connection/Cluster.java   |   17 +-
 .../main/com/mongodb/connection/ClusterClock.java  |   43 +
 .../ClusterClockAdvancingSessionContext.java       |   73 +
 .../com/mongodb/connection/ClusterDescription.java |  105 +-
 .../com/mongodb/connection/ClusterFactory.java     |    4 +-
 .../com/mongodb/connection/ClusterSettings.java    |   33 +-
 .../connection/ClusterableServerFactory.java       |    2 +-
 .../main/com/mongodb/connection/CommandHelper.java |  163 +-
 .../com/mongodb/connection/CommandMessage.java     |  238 ++-
 .../com/mongodb/connection/CommandProtocol.java    |  269 +--
 .../mongodb/connection/CommandProtocolImpl.java    |  121 ++
 .../com/mongodb/connection/CompositeByteBuf.java   |    7 +-
 .../com/mongodb/connection/CompressedHeader.java   |   95 ++
 .../com/mongodb/connection/CompressedMessage.java  |   68 +
 .../main/com/mongodb/connection/Compressor.java    |  135 ++
 .../main/com/mongodb/connection/Connection.java    |  124 +-
 .../mongodb/connection/ConnectionDescription.java  |   45 +-
 .../mongodb/connection/ConnectionPoolSettings.java |   62 +-
 .../mongodb/connection/DefaultAuthenticator.java   |    2 +-
 .../mongodb/connection/DefaultClusterFactory.java  |  160 +-
 .../DefaultClusterableServerFactory.java           |   60 +-
 .../mongodb/connection/DefaultConnectionPool.java  |   91 +-
 .../main/com/mongodb/connection/DefaultServer.java |   55 +-
 .../connection/DefaultServerConnection.java        |  156 +-
 .../mongodb/connection/DefaultServerMonitor.java   |  171 +-
 .../connection/DefaultServerMonitorFactory.java    |    7 +-
 .../mongodb/connection/DeleteCommandMessage.java   |  103 --
 .../mongodb/connection/DeleteCommandProtocol.java  |  107 --
 .../main/com/mongodb/connection/DeleteMessage.java |   35 +-
 .../com/mongodb/connection/DeleteProtocol.java     |   30 +-
 .../com/mongodb/connection/DescriptionHelper.java  |   25 +-
 .../connection/ElementExtendingBsonWriter.java     |   42 +
 .../mongodb/connection/GSSAPIAuthenticator.java    |    1 +
 .../com/mongodb/connection/GetMoreMessage.java     |   20 +-
 .../com/mongodb/connection/GetMoreProtocol.java    |   25 +-
 .../mongodb/connection/InsertCommandMessage.java   |  113 --
 .../mongodb/connection/InsertCommandProtocol.java  |  112 --
 .../main/com/mongodb/connection/InsertMessage.java |   67 +-
 .../com/mongodb/connection/InsertProtocol.java     |   40 +-
 .../com/mongodb/connection/InternalConnection.java |   22 +-
 .../connection/InternalStreamConnection.java       |  759 +++++----
 .../InternalStreamConnectionFactory.java           |   25 +-
 .../InternalStreamConnectionInitializer.java       |   31 +-
 .../com/mongodb/connection/KillCursorProtocol.java |   15 +-
 .../com/mongodb/connection/KillCursorsMessage.java |   18 +-
 .../main/com/mongodb/connection/LegacyMessage.java |   37 +
 .../com/mongodb/connection/LegacyProtocol.java     |   30 +
 .../connection/LevelCountingBsonWriter.java        |  284 ++++
 .../main/com/mongodb/connection/MessageHeader.java |   82 +
 .../com/mongodb/connection/MessageSettings.java    |   12 +
 .../com/mongodb/connection/MultiServerCluster.java |   14 +-
 .../mongodb/connection/NativeAuthenticator.java    |    2 +-
 .../mongodb/connection/NoOpClusterListener.java    |   22 -
 .../mongodb/connection/NoOpConnectionListener.java |   22 -
 .../connection/NoOpConnectionPoolListener.java     |   22 -
 .../com/mongodb/connection/NoOpServerListener.java |   37 -
 .../connection/NoOpServerMonitorListener.java      |   37 -
 .../src/main/com/mongodb/connection/OpCode.java    |   40 +
 .../src/main/com/mongodb/connection/Protocol.java  |   45 -
 .../com/mongodb/connection/ProtocolExecutor.java   |   10 +-
 .../com/mongodb/connection/ProtocolHelper.java     |   57 +-
 .../main/com/mongodb/connection/QueryMessage.java  |   24 +-
 .../main/com/mongodb/connection/QueryProtocol.java |   37 +-
 .../main/com/mongodb/connection/ReplyHeader.java   |   85 +-
 .../main/com/mongodb/connection/ReplyMessage.java  |   27 +-
 .../com/mongodb/connection/RequestMessage.java     |  136 +-
 .../com/mongodb/connection/ResponseBuffers.java    |   12 +-
 .../com/mongodb/connection/SaslAuthenticator.java  |   28 +-
 .../mongodb/connection/ScramSha1Authenticator.java |    7 +-
 .../com/mongodb/connection/ServerDescription.java  |  158 +-
 .../main/com/mongodb/connection/ServerMonitor.java |    2 -
 .../com/mongodb/connection/ServerSettings.java     |   34 +-
 .../main/com/mongodb/connection/ServerVersion.java |    2 +-
 .../mongodb/connection/SingleServerCluster.java    |   90 +-
 .../com/mongodb/connection/SnappyCompressor.java   |   80 +
 .../mongodb/connection/SocketChannelStream.java    |    4 +-
 .../com/mongodb/connection/SocketSettings.java     |   14 +-
 .../main/com/mongodb/connection/SocketStream.java  |    5 +-
 .../mongodb/connection/SocketStreamFactory.java    |   13 +-
 .../com/mongodb/connection/SocketStreamHelper.java |   17 +-
 .../com/mongodb/connection/SplittablePayload.java  |  148 ++
 .../connection/SplittablePayloadBsonWriter.java    |   57 +
 .../main/com/mongodb/connection/SslSettings.java   |   44 +-
 .../src/main/com/mongodb/connection/Time.java      |   40 +
 .../mongodb/connection/UpdateCommandMessage.java   |  150 --
 .../mongodb/connection/UpdateCommandProtocol.java  |  108 --
 .../main/com/mongodb/connection/UpdateMessage.java |   36 +-
 .../com/mongodb/connection/UpdateProtocol.java     |   51 +-
 .../UsageTrackingInternalConnection.java           |   38 +-
 .../mongodb/connection/WriteCommandProtocol.java   |  317 ----
 .../main/com/mongodb/connection/WriteProtocol.java |  274 +--
 .../com/mongodb/connection/X509Authenticator.java  |   37 +-
 .../com/mongodb/connection/ZlibCompressor.java     |   55 +
 .../connection/netty/NettyBufferProvider.java      |    4 +-
 .../com/mongodb/connection/netty/NettyByteBuf.java |    8 +-
 .../com/mongodb/connection/netty/NettyStream.java  |   39 +-
 .../connection/netty/NettyStreamFactory.java       |   17 +-
 .../netty/NettyStreamFactoryFactory.java           |    3 +
 .../connection/netty/ReadTimeoutHandler.java       |    2 +-
 .../com/mongodb/event/ClusterEventMulticaster.java |    8 +-
 .../com/mongodb/event/CommandEventMulticaster.java |    6 +-
 .../main/com/mongodb/event/CommandFailedEvent.java |    5 +-
 .../mongodb/event/CommandListenerMulticaster.java  |    2 +-
 .../com/mongodb/event/CommandSucceededEvent.java   |    5 +-
 .../com/mongodb/event/ConnectionAddedEvent.java    |    4 +-
 .../mongodb/event/ConnectionCheckedInEvent.java    |    4 +-
 .../mongodb/event/ConnectionCheckedOutEvent.java   |    4 +-
 .../com/mongodb/event/ConnectionClosedEvent.java   |    4 +-
 .../mongodb/event/ConnectionEventMulticaster.java  |   78 -
 .../main/com/mongodb/event/ConnectionListener.java |    3 +
 .../mongodb/event/ConnectionListenerAdapter.java   |   43 -
 .../event/ConnectionMessageReceivedEvent.java      |    3 +
 .../mongodb/event/ConnectionMessagesSentEvent.java |    3 +
 .../com/mongodb/event/ConnectionOpenedEvent.java   |    4 +-
 .../mongodb/event/ConnectionPoolClosedEvent.java   |    4 +-
 .../event/ConnectionPoolEventMulticaster.java      |    3 +
 .../com/mongodb/event/ConnectionPoolListener.java  |    5 +-
 .../event/ConnectionPoolListenerAdapter.java       |    5 +-
 .../mongodb/event/ConnectionPoolOpenedEvent.java   |    4 +-
 .../event/ConnectionPoolWaitQueueEnteredEvent.java |   18 +-
 .../event/ConnectionPoolWaitQueueExitedEvent.java  |   18 +-
 .../com/mongodb/event/ConnectionRemovedEvent.java  |    4 +-
 .../com/mongodb/event/ServerEventMulticaster.java  |    2 +
 .../mongodb/event/ServerHeartbeatFailedEvent.java  |    6 +-
 .../event/ServerHeartbeatSucceededEvent.java       |    6 +-
 .../com/mongodb/event/ServerListenerAdapter.java   |   37 +
 .../event/ServerMonitorEventMulticaster.java       |    2 +
 .../event/ServerMonitorListenerAdapter.java        |   37 +
 .../internal/connection/ConcurrentLinkedDeque.java |   31 +-
 .../internal/connection/ConcurrentPool.java        |   41 +-
 .../com/mongodb/internal/connection/IndexMap.java  |    6 +-
 .../internal/connection/Java8SniSslHelper.java     |   52 +
 .../internal/connection/NoOpSessionContext.java    |   76 +
 .../internal/connection/PowerOfTwoBufferPool.java  |   12 +-
 .../mongodb/internal/connection/SniSslHelper.java  |   33 +
 .../com/mongodb/internal/connection/SslHelper.java |   53 +-
 .../main/com/mongodb/internal/dns/DnsResolver.java |  136 ++
 .../internal/event/ClusterListenerMulticaster.java |   82 +
 .../internal/event/CommandListenerMulticaster.java |   81 +
 .../event/ConnectionPoolListenerMulticaster.java   |  151 ++
 .../internal/event/EventListenerHelper.java        |  112 ++
 .../internal/event/ServerListenerMulticaster.java  |   82 +
 .../event/ServerMonitorListenerMulticaster.java    |   80 +
 .../internal/session/ClientSessionContext.java     |   77 +
 .../internal/session/ClientSessionImpl.java        |  117 ++
 .../internal/session/ServerSessionPool.java        |  208 +++
 .../internal/thread/DaemonThreadFactory.java       |    4 -
 .../management/ConnectionPoolStatistics.java       |    2 +-
 .../management/JMXConnectionPoolListener.java      |    4 +-
 .../operation/AggregateExplainOperation.java       |   98 +-
 .../com/mongodb/operation/AggregateOperation.java  |  231 ++-
 .../operation/AggregateToCollectionOperation.java  |  176 +-
 .../operation/AsyncChangeStreamBatchCursor.java    |  158 ++
 .../mongodb/operation/AsyncOperationExecutor.java  |   25 +
 .../mongodb/operation/AsyncQueryBatchCursor.java   |  260 ++-
 .../operation/AsyncSingleBatchQueryCursor.java     |   76 +
 .../operation/BaseFindAndModifyOperation.java      |   54 +
 .../com/mongodb/operation/BaseWriteOperation.java  |  165 +-
 .../com/mongodb/operation/BsonArrayWrapper.java    |    7 +-
 .../main/com/mongodb/operation/BulkWriteBatch.java |  448 +++++
 .../mongodb/operation/ChangeStreamBatchCursor.java |  144 ++
 .../mongodb/operation/ChangeStreamOperation.java   |  267 +++
 .../mongodb/operation/CommandOperationHelper.java  |  294 +++-
 .../mongodb/operation/CommandResultArrayCodec.java |    7 +-
 .../operation/CommandResultCodecProvider.java      |   23 +-
 .../operation/CommandResultDocumentCodec.java      |   17 +-
 .../main/com/mongodb/operation/CountOperation.java |   56 +-
 .../operation/CreateCollectionOperation.java       |  119 +-
 .../mongodb/operation/CreateIndexesOperation.java  |  133 +-
 .../com/mongodb/operation/CreateUserOperation.java |   69 +-
 .../com/mongodb/operation/CreateViewOperation.java |  197 +++
 .../com/mongodb/operation/DeleteOperation.java     |   51 +-
 .../com/mongodb/operation/DistinctOperation.java   |   79 +-
 .../mongodb/operation/DropCollectionOperation.java |   98 +-
 .../mongodb/operation/DropDatabaseOperation.java   |   68 +-
 .../com/mongodb/operation/DropIndexOperation.java  |  155 +-
 .../com/mongodb/operation/DropUserOperation.java   |   68 +-
 .../mongodb/operation/FindAndDeleteOperation.java  |  149 +-
 .../mongodb/operation/FindAndReplaceOperation.java |  141 +-
 .../mongodb/operation/FindAndUpdateOperation.java  |  189 ++-
 .../main/com/mongodb/operation/FindOperation.java  |  433 ++++-
 .../mongodb/operation/FsyncUnlockOperation.java    |   40 +-
 .../main/com/mongodb/operation/GroupOperation.java |   89 +-
 .../com/mongodb/operation/InsertOperation.java     |   55 +-
 .../operation/ListCollectionsOperation.java        |   16 +-
 .../mongodb/operation/ListDatabasesOperation.java  |   59 +
 .../mongodb/operation/ListIndexesOperation.java    |    2 +-
 .../MapReduceInlineResultsAsyncCursor.java         |    7 +-
 .../operation/MapReduceToCollectionOperation.java  |  100 +-
 .../MapReduceWithInlineResultsOperation.java       |   78 +-
 .../mongodb/operation/MixedBulkWriteOperation.java |  797 +++------
 .../com/mongodb/operation/OperationExecutor.java   |    4 +-
 .../com/mongodb/operation/OperationHelper.java     |  287 +++-
 .../operation/ParallelCollectionScanOperation.java |   19 +-
 .../com/mongodb/operation/QueryBatchCursor.java    |   57 +-
 .../com/mongodb/operation/ReadConcernHelper.java   |   61 +
 .../operation/RenameCollectionOperation.java       |   71 +-
 .../com/mongodb/operation/UpdateOperation.java     |   56 +-
 .../com/mongodb/operation/UpdateUserOperation.java |   72 +-
 .../com/mongodb/operation/UserExistsOperation.java |   52 +-
 .../com/mongodb/operation/UserOperationHelper.java |   35 +-
 .../com/mongodb/operation/WriteConcernHelper.java  |   73 +
 .../mongodb/selector/CompositeServerSelector.java  |    4 +-
 .../main/com/mongodb/selector/ServerSelector.java  |    2 +-
 .../main/com/mongodb/session/ClientSession.java    |   93 +
 .../main/com/mongodb/session/ServerSession.java    |   47 +
 .../main/com/mongodb/session/SessionContext.java   |   84 +
 .../src/main/com/mongodb/session/package-info.java |   20 +
 .../functional/com/mongodb/ClusterFixture.java     |  210 ++-
 .../OperationFunctionalSpecification.groovy        |  401 ++++-
 .../com/mongodb/binding/AsyncSessionBinding.java   |  131 ++
 .../AsyncSessionBindingSpecification.groovy        |   73 +
 .../binding/AsyncSingleConnectionBinding.java      |   12 +
 .../com/mongodb/binding/SessionBinding.java        |  113 ++
 .../com/mongodb/binding/SimpleSessionContext.java  |   90 +
 .../mongodb/binding/SingleConnectionBinding.java   |   14 +-
 .../model/AggregatesFunctionalSpecification.groovy |  504 +++++-
 .../ArrayUpdatesFunctionalSpecification.groovy     |    3 -
 .../BitwiseUpdatesFunctionalSpecification.groovy   |    5 -
 .../mongodb/client/model/FieldSpecification.groovy |   48 +
 .../model/FiltersFunctionalSpecification.groovy    |   34 +-
 .../model/GeoFiltersFunctionalSpecification.groovy |    6 -
 .../GeoJsonFiltersFunctionalSpecification.groovy   |    6 -
 .../model/IndexesFunctionalSpecification.groovy    |    7 +-
 .../model/ProjectionFunctionalSpecification.groovy |    7 +-
 .../model/SortsFunctionalSpecification.groovy      |    7 +-
 .../model/UpdatesFunctionalSpecification.groovy    |    9 +-
 .../com/mongodb/client/test/CollectionHelper.java  |   95 +-
 .../AsyncStreamTimeoutsSpecification.groovy        |   15 +-
 .../connection/AuthenticatingConnectionTest.java   |   29 +-
 .../connection/CommandHelperSpecification.groovy   |   26 +-
 ...CommandProtocolCommandEventSpecification.groovy |  119 --
 .../connection/DefaultConnectionPoolTest.java      |   40 +-
 .../GSSAPIAuthenticationSpecification.groovy       |    5 +-
 ...GetMoreProtocolCommandEventSpecification.groovy |    2 +-
 ...lCursorProtocolCommandEventSpecification.groovy |    2 +-
 .../PlainAuthenticationSpecification.groovy        |    5 +-
 .../mongodb/connection/PlainAuthenticatorTest.java |    5 +-
 .../com/mongodb/connection/ProtocolTestHelper.java |   14 +-
 .../QueryProtocolCommandEventSpecification.groovy  |    5 +-
 .../connection/ReplyHeaderSpecification.groovy     |   94 +-
 .../com/mongodb/connection/ServerHelper.java       |   13 +
 .../connection/ServerMonitorSpecification.groovy   |  184 +-
 .../connection/SingleServerClusterTest.java        |   22 +-
 .../SocketStreamHelperSpecification.groovy         |  124 ++
 ...CommandProtocolCommandEventSpecification.groovy |  218 ---
 .../WriteCommandProtocolSpecification.groovy       |  256 ---
 .../WriteProtocolCommandEventSpecification.groovy  |  275 +--
 .../connection/WriteProtocolSpecification.groovy   |  200 +--
 .../AggregateOperationSpecification.groovy         |  496 +++---
 ...regateToCollectionOperationSpecification.groovy |  281 ++--
 ...cQueryBatchCursorFunctionalSpecification.groovy |   61 +-
 .../ChangeStreamOperationSpecification.groovy      |  438 +++++
 .../operation/CommandOperationSpecification.groovy |    6 +-
 .../operation/CountOperationSpecification.groovy   |  288 ++--
 .../CreateCollectionOperationSpecification.groovy  |  174 +-
 .../CreateIndexesOperationSpecification.groovy     |  392 ++---
 .../CreateViewOperationSpecification.groovy        |  149 ++
 .../CurrentOpOperationSpecification.groovy         |    2 +-
 .../operation/DeleteOperationSpecification.groovy  |  120 +-
 .../DistinctOperationSpecification.groovy          |  381 ++---
 .../DropCollectionOperationSpecification.groovy    |   26 +-
 .../DropDatabaseOperationSpecification.groovy      |   25 +-
 .../DropIndexOperationSpecification.groovy         |  114 +-
 .../DropUserOperationSpecification.groovy          |   25 +-
 .../FindAndDeleteOperationSpecification.groovy     |  309 ++--
 .../FindAndReplaceOperationSpecification.groovy    |  460 +++--
 .../FindAndUpdateOperationSpecification.groovy     |  467 +++---
 .../operation/FindOperationSpecification.groovy    |  725 +++-----
 .../FsyncUnlockOperationSpecification.groovy       |    5 +-
 .../operation/GroupOperationSpecification.groovy   |  216 +--
 .../operation/InsertOperationSpecification.groovy  |  218 +--
 .../ListCollectionsOperationSpecification.groovy   |   21 +-
 .../ListDatabasesOperationSpecification.groovy     |   30 +-
 .../ListIndexesOperationSpecification.groovy       |    9 +-
 ...ReduceToCollectionOperationSpecification.groovy |  237 +--
 ...eWithInlineResultsOperationSpecification.groovy |  345 ++--
 ...ixedBulkWriteOperationAsyncSpecification.groovy |  759 ---------
 .../MixedBulkWriteOperationSpecification.groovy    |  667 +++++---
 ...llelCollectionScanOperationSpecification.groovy |  100 +-
 .../QueryBatchCursorFunctionalSpecification.groovy |   50 +-
 .../mongodb/operation/QueryOperationHelper.groovy  |   40 +
 .../ReadConcernHelperSpecification.groovy          |  136 ++
 .../RenameCollectionOperationSpecification.groovy  |   27 +-
 ...dateOperationForReplacementSpecification.groovy |  113 +-
 .../operation/UpdateOperationSpecification.groovy  |  246 ++-
 .../operation/UserOperationsSpecification.groovy   |   82 +-
 .../resources/connection-string/invalid-uris.json  |  481 +++---
 .../resources/connection-string/valid-auth.json    |  603 ++++---
 .../connection-string/valid-host_identifiers.json  |  284 ++--
 .../resources/connection-string/valid-options.json |   59 +-
 .../valid-unix_socket-absolute.json                |  496 +++---
 .../valid-unix_socket-relative.json                |  508 +++---
 .../connection-string/valid-warnings.json          |  122 +-
 .../resources/crud/read/aggregate-collation.json   |   38 +
 .../test/resources/crud/read/aggregate-out.json    |   70 +
 .../src/test/resources/crud/read/aggregate.json    |   53 +-
 .../test/resources/crud/read/count-collation.json  |   29 +
 .../src/test/resources/crud/read/count.json        |    2 +-
 .../resources/crud/read/distinct-collation.json    |   33 +
 .../src/test/resources/crud/read/distinct.json     |    2 +-
 .../test/resources/crud/read/find-collation.json   |   34 +
 driver-core/src/test/resources/crud/read/find.json |    2 +-
 .../crud/write/bulkWrite-arrayFilters.json         |  110 ++
 .../resources/crud/write/deleteMany-collation.json |   47 +
 .../src/test/resources/crud/write/deleteMany.json  |    2 +-
 .../resources/crud/write/deleteOne-collation.json  |   51 +
 .../src/test/resources/crud/write/deleteOne.json   |    2 +-
 .../crud/write/findOneAndDelete-collation.json     |   59 +
 .../resources/crud/write/findOneAndDelete.json     |    2 +-
 .../crud/write/findOneAndReplace-collation.json    |   58 +
 .../crud/write/findOneAndReplace-upsert.json       |  201 +++
 .../resources/crud/write/findOneAndReplace.json    |   95 +-
 .../crud/write/findOneAndUpdate-arrayFilters.json  |  203 +++
 .../crud/write/findOneAndUpdate-collation.json     |   67 +
 .../resources/crud/write/findOneAndUpdate.json     |    5 +-
 .../src/test/resources/crud/write/insertMany.json  |    2 +-
 .../src/test/resources/crud/write/insertOne.json   |    2 +-
 .../resources/crud/write/replaceOne-collation.json |   53 +
 .../src/test/resources/crud/write/replaceOne.json  |   14 +-
 .../crud/write/updateMany-arrayFilters.json        |  182 ++
 .../resources/crud/write/updateMany-collation.json |   62 +
 .../src/test/resources/crud/write/updateMany.json  |   13 +-
 .../crud/write/updateOne-arrayFilters.json         |  390 +++++
 .../resources/crud/write/updateOne-collation.json  |   54 +
 .../src/test/resources/crud/write/updateOne.json   |   13 +-
 .../initial-dns-seedlist-discovery/README.rst      |   87 +
 .../longer-parent-in-return.json                   |   16 +
 .../misformatted-option.json                       |    7 +
 .../initial-dns-seedlist-discovery/no-results.json |    7 +
 .../not-enough-parts.json                          |    7 +
 .../one-result-default-port.json                   |   15 +
 .../one-txt-record-multiple-strings.json           |   15 +
 .../one-txt-record.json                            |   16 +
 .../parent-part-mismatch1.json                     |    7 +
 .../parent-part-mismatch2.json                     |    7 +
 .../parent-part-mismatch3.json                     |    7 +
 .../parent-part-mismatch4.json                     |    7 +
 .../parent-part-mismatch5.json                     |    7 +
 .../returned-parent-too-short.json                 |    7 +
 .../returned-parent-wrong.json                     |    7 +
 .../two-results-default-port.json                  |   16 +
 .../two-results-nonstandard-port.json              |   16 +
 .../two-txt-records.json                           |    7 +
 .../txt-record-not-allowed-option.json             |    7 +
 .../txt-record-with-overridden-ssl-option.json     |   16 +
 .../txt-record-with-overridden-uri-option.json     |   16 +
 .../txt-record-with-unallowed-option.json          |    7 +
 .../uri-with-port.json                             |    7 +
 .../uri-with-two-hosts.json                        |    7 +
 .../max-staleness/server_selection/README.rst      |   72 +
 .../ReplicaSetNoPrimary/DefaultNoMaxStaleness.json |   74 +
 .../ReplicaSetNoPrimary/Incompatible.json          |   36 +
 .../ReplicaSetNoPrimary/LastUpdateTime.json        |   88 +
 .../ReplicaSetNoPrimary/Nearest.json               |   88 +
 .../ReplicaSetNoPrimary/Nearest2.json              |   88 +
 .../ReplicaSetNoPrimary/NoKnownServers.json        |   20 +
 .../ReplicaSetNoPrimary/PrimaryPreferred.json      |   64 +
 .../ReplicaSetNoPrimary/PrimaryPreferred_tags.json |   84 +
 .../ReplicaSetNoPrimary/Secondary.json             |  111 ++
 .../ReplicaSetNoPrimary/SecondaryPreferred.json    |   63 +
 .../SecondaryPreferred_tags.json                   |  111 ++
 .../ReplicaSetNoPrimary/ZeroMaxStaleness.json      |   36 +
 .../DefaultNoMaxStaleness.json                     |   74 +
 .../ReplicaSetWithPrimary/Incompatible.json        |   36 +
 .../ReplicaSetWithPrimary/LastUpdateTime.json      |   88 +
 .../ReplicaSetWithPrimary/LongHeartbeat.json       |   76 +
 .../ReplicaSetWithPrimary/LongHeartbeat2.json      |   37 +
 .../MaxStalenessTooSmall.json                      |   37 +
 .../MaxStalenessWithModePrimary.json               |   35 +
 .../ReplicaSetWithPrimary/Nearest.json             |   88 +
 .../ReplicaSetWithPrimary/Nearest2.json            |   88 +
 .../ReplicaSetWithPrimary/Nearest_tags.json        |   84 +
 .../ReplicaSetWithPrimary/PrimaryPreferred.json    |   64 +
 .../PrimaryPreferred_incompatible.json             |   36 +
 .../ReplicaSetWithPrimary/SecondaryPreferred.json  |   63 +
 .../SecondaryPreferred_tags.json                   |  138 ++
 .../SecondaryPreferred_tags2.json                  |   96 ++
 .../ReplicaSetWithPrimary/Secondary_tags.json      |  138 ++
 .../ReplicaSetWithPrimary/Secondary_tags2.json     |   96 ++
 .../ReplicaSetWithPrimary/ZeroMaxStaleness.json    |   36 +
 .../server_selection/Sharded/Incompatible.json     |   36 +
 .../Sharded/SmallMaxStaleness.json                 |   76 +
 .../server_selection/Single/Incompatible.json      |   24 +
 .../server_selection/Single/SmallMaxStaleness.json |   52 +
 .../Unknown/SmallMaxStaleness.json                 |   18 +
 .../test/resources/retryable-writes/bulkWrite.json |  654 ++++++++
 .../test/resources/retryable-writes/deleteOne.json |  110 ++
 .../retryable-writes/findOneAndDelete.json         |  127 ++
 .../retryable-writes/findOneAndReplace.json        |  135 ++
 .../retryable-writes/findOneAndUpdate.json         |  137 ++
 .../resources/retryable-writes/insertMany.json     |  153 ++
 .../test/resources/retryable-writes/insertOne.json |  129 ++
 .../resources/retryable-writes/replaceOne.json     |  134 ++
 .../test/resources/retryable-writes/updateOne.json |  275 +++
 .../replica_set_with_no_primary.json               |    2 +-
 .../replica_set_with_primary.json                  |    3 +-
 .../rs/compatible.json                             |   55 +
 .../rs/discover_arbiters.json                      |   75 +-
 .../rs/discover_passives.json                      |  146 +-
 .../rs/discover_primary.json                       |   71 +-
 .../rs/discover_secondary.json                     |   73 +-
 .../rs/discovery.json                              |  334 ++--
 .../rs/equal_electionids.json                      |  125 +-
 .../rs/ghost_discovered.json                       |   63 +-
 .../rs/hosts_differ_from_seeds.json                |   61 +-
 .../rs/ignore_secondary_electionid.json            |   38 -
 .../rs/ls_timeout.json                             |  273 +++
 .../rs/member_reconfig.json                        |  124 +-
 .../rs/member_standalone.json                      |  106 +-
 .../rs/new_primary.json                            |  134 +-
 .../rs/new_primary_new_electionid.json             |  251 +--
 .../rs/new_primary_new_setversion.json             |  251 +--
 .../rs/new_primary_wrong_set_name.json             |  124 +-
 .../rs/non_rs_member.json                          |   51 +-
 .../rs/normalize_case.json                         |   89 +-
 .../rs/null_election_id.json                       |  356 ++--
 .../rs/primary_becomes_standalone.json             |   94 +-
 .../rs/primary_changes_set_name.json               |  104 +-
 .../rs/primary_disconnect.json                     |   98 +-
 .../rs/primary_disconnect_electionid.json          |  403 ++---
 .../rs/primary_disconnect_setversion.json          |  403 ++---
 ...ary_hint_from_secondary_with_mismatched_me.json |   66 +
 .../rs/primary_mismatched_me.json                  |   71 +-
 .../rs/primary_reports_new_member.json             |  151 ++
 .../rs/primary_to_no_primary_mismatched_me.json    |  138 +-
 .../rs/primary_wrong_set_name.json                 |   51 +-
 .../rs/response_from_removed.json                  |  118 +-
 .../rs/rsother_discovered.json                     |  119 +-
 .../rs/sec_not_auth.json                           |   99 +-
 .../rs/secondary_mismatched_me.json                |   71 +-
 .../rs/secondary_wrong_set_name.json               |   53 +-
 .../rs/secondary_wrong_set_name_with_primary.json  |  128 +-
 .../rs/setversion_without_electionid.json          |  150 +-
 .../rs/stepdown_change_set_name.json               |  106 +-
 .../rs/too_new.json                                |   55 +
 .../rs/too_old.json                                |   53 +
 .../rs/unexpected_mongos.json                      |   45 +-
 .../rs/use_setversion_without_electionid.json      |  233 +--
 .../rs/wrong_set_name.json                         |   65 +-
 .../sharded/compatible.json                        |   46 +
 .../sharded/ls_timeout_mongos.json                 |   87 +
 .../sharded/mongos_disconnect.json                 |  181 +-
 .../sharded/multiple_mongoses.json                 |   81 +-
 .../sharded/non_mongos_removed.json                |   79 +-
 .../sharded/normalize_uri_case.json                |   43 +-
 .../sharded/too_new.json                           |   44 +
 .../sharded/too_old.json                           |   44 +
 .../single/compatible.json                         |   31 +
 .../single/direct_connection_external_ip.json      |   61 +-
 .../single/direct_connection_mongos.json           |   55 +-
 .../single/direct_connection_rsarbiter.json        |   64 +-
 .../single/direct_connection_rsprimary.json        |   62 +-
 .../single/direct_connection_rssecondary.json      |   64 +-
 .../single/direct_connection_slave.json            |   53 +-
 .../single/direct_connection_standalone.json       |   53 +-
 .../single/ls_timeout_standalone.json              |   31 +
 .../single/not_ok_response.json                    |   69 +-
 .../single/standalone_removed.json                 |   53 +-
 .../single/too_new.json                            |   31 +
 .../single/too_old.json                            |   29 +
 .../single/unavailable_seed.json                   |   45 +-
 .../ReplicaSetNoPrimary/read/Nearest.json          |   18 +-
 .../ReplicaSetNoPrimary/read/Nearest_multiple.json |   68 +
 .../read/Nearest_no_tag_set.json                   |   71 +
 .../read/Secondary_multi_tags.json                 |   60 +
 .../read/Secondary_multi_tags2.json                |   60 +
 .../read/Nearest_multiple.json                     |   84 +
 .../read/SecondaryPreferred_tags.json              |   52 +
 .../mongodb/ConnectionStringSpecification.groovy   |  176 +-
 .../unit/com/mongodb/ConnectionStringTest.java     |   17 +-
 .../test/unit/com/mongodb/CustomMatchers.groovy    |   86 +-
 .../com/mongodb/DBRefCodecSpecification.groovy     |    0
 .../unit/com/mongodb/DBRefSpecification.groovy     |  114 ++
 .../DocumentToDBRefTransformerSpecification.groovy |   70 +
 .../com/mongodb/IndexRequestSpecification.groovy   |   24 +
 .../mongodb/MongoCompressorSpecification.groovy    |   44 +
 .../mongodb/MongoCredentialSpecification.groovy    |   39 +
 .../com/mongodb/MongoNamespaceSpecification.groovy |   26 +-
 .../mongodb/ReadConcernLevelSpecification.groovy   |   11 +-
 .../com/mongodb/ReadConcernSpecification.groovy    |   32 +-
 .../mongodb/ReadPreferenceChooseServersTest.java   |   22 +-
 .../com/mongodb/ReadPreferenceSpecification.groovy |   85 +-
 .../com/mongodb/ServerAddressSpecification.groovy  |   39 +-
 .../unit/com/mongodb/client/ImmutableDocument.java |  107 ++
 .../com/mongodb/client/ImmutableDocumentCodec.java |   76 +
 .../client/ImmutableDocumentCodecProvider.java     |   32 +
 .../MongoDriverInformationSpecification.groovy     |   94 ++
 .../client/model/AggregatesSpecification.groovy    |  189 ++-
 .../model/BucketAutoOptionsSpecification.groovy    |   46 +
 .../model/BucketGranularitySpecification.groovy    |   42 +
 .../client/model/BucketOptionsSpecification.groovy |   46 +
 .../model/CollationAlternateSpecification.groovy   |   53 +
 .../model/CollationCaseFirstSpecification.groovy   |   55 +
 .../model/CollationMaxVariableSpecification.groovy |   53 +
 .../client/model/CollationSpecification.groovy     |   90 +
 .../model/CollationStrengthSpecification.groovy    |   59 +
 .../client/model/CountOptionsSpecification.groovy  |  100 ++
 .../CreateCollectionOptionsSpecification.groovy    |  111 ++
 .../client/model/DeleteOptionsSpecification.groovy |   38 +
 .../client/model/FiltersSpecification.groovy       |   23 +-
 .../FindOneAndDeleteOptionsSpecification.groovy    |   81 +
 .../FindOneAndReplaceOptionsSpecification.groovy   |  108 ++
 .../FindOneAndUpdateOptionsSpecification.groovy    |  118 ++
 .../client/model/FindOptionsSpecification.groovy   |  175 ++
 .../model/GraphLookupOptionsSpecification.groovy   |   36 +
 .../client/model/IndexOptionsSpecification.groovy  |   41 +-
 .../client/model/UpdateOptionsSpecification.groovy |   19 +
 .../ChangeStreamDocumentCodecSpecification.groovy  |   85 +
 .../ChangeStreamDocumentSpecification.groovy       |   47 +
 .../changestream/FullDocumentSpecification.groovy  |   53 +
 .../OperationTypeCodecSpecification.groovy         |   66 +
 .../changestream/OperationTypeSpecification.groovy |   60 +
 .../UpdateDescriptionSpecification.groovy          |   38 +
 .../codecs/GeometryCodecSpecification.groovy       |  125 ++
 .../GeometryCollectionCodecSpecification.groovy    |  153 +-
 .../codecs/LineStringCodecSpecification.groovy     |   70 +-
 .../MultiLineStringCodecSpecification.groovy       |   52 +-
 .../codecs/MultiPointCodecSpecification.groovy     |   66 +-
 .../codecs/MultiPolygonCodecSpecification.groovy   |   83 +-
 ...edCoordinateReferenceSystemSpecification.groovy |   71 +
 .../geojson/codecs/PointCodecSpecification.groovy  |   42 +-
 .../codecs/PolygonCodecSpecification.groovy        |   74 +-
 .../AbstractServerDiscoveryAndMonitoringTest.java  |    8 +-
 ...ChannelStreamFactoryFactorySpecification.groovy |   62 +
 .../connection/Base64CodecSpecification.groovy     |   44 -
 .../connection/BaseClusterSpecification.groovy     |  147 +-
 .../ByteBufBsonDocumentSpecification.groovy        |  126 +-
 .../ByteBufferBsonOutputSpecification.groovy       |   11 +
 .../ClientMetadataHelperSpecification.groovy       |  186 ++
 .../connection/ClusterClockSpecification.groovy    |   65 +
 .../mongodb/connection/ClusterDescriptionTest.java |  181 +-
 .../connection/ClusterSettingsSpecification.groovy |   17 +-
 ...andEventOnConnectionFailureSpecification.groovy |   30 +-
 .../connection/CommandMessageSpecification.groovy  |  223 +++
 ...ProtocolCommandEventElisionSpecification.groovy |  150 --
 .../ConcurrentLinkedDequeSpecification.groovy      |   93 +
 .../ConnectionDescriptionSpecification.groovy      |    5 +-
 .../ConnectionPoolSettingsSpecification.groovy     |   23 +
 .../DefaultConnectionPoolSpecification.groovy      |  114 +-
 .../DefaultServerConnectionSpecification.groovy    |  278 +--
 .../DefaultServerMonitorSpecification.groovy       |  106 +-
 .../connection/DefaultServerSpecification.groovy   |  195 ++-
 .../DefaultTestClusterableServerFactory.java       |   11 +-
 .../DescriptionHelperSpecification.groovy          |  497 +++---
 .../ElementExtendingBsonWriterSpecification.groovy |  106 ++
 ...StreamConnectionInitializerSpecification.groovy |   88 +-
 .../InternalStreamConnectionSpecification.groovy   |  835 ++++-----
 .../JMXConnectionPoolListenerSpecification.groovy  |   12 +-
 .../mongodb/connection/MaxDocumentSizeTest.java    |   12 +-
 .../com/mongodb/connection/MaxMessageSizeTest.java |   60 -
 .../unit/com/mongodb/connection/MessageHelper.java |   25 +-
 .../MultiServerClusterSpecification.groovy         |  123 +-
 .../connection/PlainAuthenticatorUnitTest.java     |    2 +-
 .../com/mongodb/connection/ReplyMessageTest.java   |   16 +-
 .../connection/ScramSha1SaslAuthenticatorTest.java |    6 +-
 .../mongodb/connection/ServerDescriptionTest.java  |  269 ++-
 .../ServerDiscoveryAndMonitoringTest.java          |   29 +-
 .../connection/ServerSelectionSelectionTest.java   |   90 +-
 .../connection/ServerSettingsSpecification.groovy  |   25 +-
 .../connection/ServerVersionSpecification.groovy   |   32 +-
 .../SingleServerClusterSpecification.groovy        |   26 +-
 .../connection/SocketSettingsSpecification.groovy  |   17 +-
 .../connection/SslSettingsSpecification.groovy     |   35 +-
 .../com/mongodb/connection/StreamHelper.groovy     |  179 ++
 .../connection/TestClusterableServerFactory.java   |    4 +-
 .../com/mongodb/connection/TestConnection.java     |  175 +-
 .../com/mongodb/connection/TestConnectionPool.java |   13 +
 .../mongodb/connection/TestInternalConnection.java |   62 +-
 .../connection/TestInternalConnectionFactory.java  |   17 +-
 .../com/mongodb/connection/TestServerMonitor.java  |    6 +-
 .../connection/TestServerMonitorFactory.java       |    2 +-
 .../com/mongodb/connection/TestSessionContext.java |   71 +
 .../mongodb/connection/TimeSpecification.groovy    |   43 +
 .../UsageTrackingConnectionSpecification.groovy    |   43 +
 .../WriteCommandLimitsSpecification.groovy         |  145 --
 .../X509AuthenticatorNoUserNameTest.java           |  115 ++
 .../netty/NettyStreamFactorySpecification.groovy   |   71 +
 .../mongodb/event/CommandEventSpecification.groovy |   46 +
 .../event/ServerHeartbeatEventSpecification.groovy |   45 +
 .../mongodb/internal/SslHelperSpecification.groovy |   28 +-
 .../internal/connection/ConcurrentPoolTest.java    |   31 +-
 .../NoOpSessionContextSpecification.groovy         |   59 +
 .../ClientSessionContextSpecification.groovy       |  100 ++
 .../session/ServerSessionPoolSpecification.groovy  |  272 +++
 ...syncChangeStreamBatchCursorSpecification.groovy |   58 +
 .../AsyncQueryBatchCursorSpecification.groovy      |  653 +++++++-
 ...AsyncSingleBatchQueryCursorSpecification.groovy |   96 ++
 .../operation/BulkWriteBatchSpecification.groovy   |  321 ++++
 .../ChangeStreamBatchCursorSpecification.groovy    |   57 +
 .../CommandOperationHelperSpecification.groovy     |   21 +-
 .../operation/DeleteRequestSpecification.groovy    |   72 +
 .../FindOperationUnitSpecification.groovy          |  340 ++++
 .../operation/InsertRequestSpecification.groovy    |   53 +
 .../operation/OperationHelperSpecification.groovy  |  441 +++++
 .../operation/OperationUnitSpecification.groovy    |  176 ++
 .../operation/QueryBatchCursorSpecification.groovy |   35 +-
 .../operation/UpdateRequestSpecification.groovy    |  128 ++
 .../selector/CompositeServerSelectorTest.java      |   29 +
 driver/build.gradle                                |    6 +-
 .../documentation/ChangeStreamSamples.java         |  175 ++
 .../documentation/DocumentationSamples.java        |  666 ++++++++
 driver/src/examples/primer/UpdatePrimer.java       |    9 -
 driver/src/examples/tour/Address.java              |  141 ++
 .../tour/Decimal128LegacyAPIQuickTour.java         |   79 +
 driver/src/examples/tour/Decimal128QuickTour.java  |   77 +
 driver/src/examples/tour/Person.java               |  167 ++
 driver/src/examples/tour/PojoQuickTour.java        |  137 ++
 .../main/com/mongodb/AggregateIterableImpl.java    |  132 +-
 .../src/main/com/mongodb/AggregationOptions.java   |   67 +-
 driver/src/main/com/mongodb/AggregationOutput.java |    3 +
 driver/src/main/com/mongodb/BasicDBList.java       |    4 +-
 driver/src/main/com/mongodb/BasicDBObject.java     |   13 +-
 .../main/com/mongodb/BulkUpdateRequestBuilder.java |   50 +-
 driver/src/main/com/mongodb/BulkWriteError.java    |   10 +
 driver/src/main/com/mongodb/BulkWriteHelper.java   |   10 -
 .../main/com/mongodb/BulkWriteRequestBuilder.java  |   53 +-
 .../main/com/mongodb/ChangeStreamIterableImpl.java |  138 ++
 .../src/main/com/mongodb/ClientSessionBinding.java |  127 ++
 .../main/com/mongodb/CompoundDBObjectCodec.java    |    4 +-
 driver/src/main/com/mongodb/DB.java                |  137 +-
 driver/src/main/com/mongodb/DBCollection.java      |  569 ++++---
 .../com/mongodb/DBCollectionObjectFactory.java     |   11 +-
 driver/src/main/com/mongodb/DBCursor.java          |  185 +-
 driver/src/main/com/mongodb/DBDecoderAdapter.java  |    2 +-
 driver/src/main/com/mongodb/DBEncoderAdapter.java  |    2 +-
 .../main/com/mongodb/DBEncoderFactoryAdapter.java  |    2 +-
 driver/src/main/com/mongodb/DBObjectCodec.java     |    9 +-
 .../main/com/mongodb/DBObjectCodecProvider.java    |    3 +-
 .../main/com/mongodb/DBObjectCollationHelper.java  |  116 ++
 driver/src/main/com/mongodb/DBRef.java             |  130 --
 .../src/main/com/mongodb/DistinctIterableImpl.java |   62 +-
 .../com/mongodb/DocumentToDBRefTransformer.java    |   50 -
 driver/src/main/com/mongodb/FindIterableImpl.java  |  126 +-
 driver/src/main/com/mongodb/GroupCommand.java      |   42 +-
 driver/src/main/com/mongodb/InsertRequest.java     |    4 +-
 .../com/mongodb/ListCollectionsIterableImpl.java   |   63 +-
 .../com/mongodb/ListDatabasesIterableImpl.java     |   59 +-
 .../main/com/mongodb/ListIndexesIterableImpl.java  |   57 +-
 driver/src/main/com/mongodb/MapReduceCommand.java  |   25 +
 .../main/com/mongodb/MapReduceIterableImpl.java    |  162 +-
 driver/src/main/com/mongodb/MappingIterable.java   |    6 +-
 driver/src/main/com/mongodb/Mongo.java             |  290 ++--
 .../main/com/mongodb/MongoBatchCursorAdapter.java  |   25 +-
 driver/src/main/com/mongodb/MongoClient.java       |  235 ++-
 .../src/main/com/mongodb/MongoClientOptions.java   |  469 ++++--
 driver/src/main/com/mongodb/MongoClientURI.java    |   69 +-
 .../src/main/com/mongodb/MongoCollectionImpl.java  |  733 ++++++--
 .../src/main/com/mongodb/MongoCursorAdapter.java   |    2 +-
 driver/src/main/com/mongodb/MongoDatabaseImpl.java |  178 +-
 driver/src/main/com/mongodb/MongoIterableImpl.java |  132 ++
 .../src/main/com/mongodb/MongoMappingCursor.java   |    2 +-
 driver/src/main/com/mongodb/OperationExecutor.java |   66 +
 driver/src/main/com/mongodb/OperationIterable.java |   96 --
 driver/src/main/com/mongodb/RemoveRequest.java     |    9 +-
 driver/src/main/com/mongodb/ReplaceRequest.java    |   16 +-
 driver/src/main/com/mongodb/UpdateRequest.java     |   25 +-
 driver/src/main/com/mongodb/WriteRequest.java      |    2 +-
 driver/src/main/com/mongodb/WriteResult.java       |   12 +-
 .../main/com/mongodb/client/AggregateIterable.java |   70 +-
 .../com/mongodb/client/ChangeStreamIterable.java   |   90 +
 .../main/com/mongodb/client/DistinctIterable.java  |   16 +-
 .../src/main/com/mongodb/client/FindIterable.java  |   90 +
 .../com/mongodb/client/ListDatabasesIterable.java  |   23 +
 .../main/com/mongodb/client/MapReduceIterable.java |   50 +-
 .../main/com/mongodb/client/MongoCollection.java   |  852 +++++++++-
 .../src/main/com/mongodb/client/MongoDatabase.java |  186 +-
 .../com/mongodb/client/gridfs/GridFSBucket.java    |  382 ++++-
 .../mongodb/client/gridfs/GridFSBucketImpl.java    |  305 +++-
 .../client/gridfs/GridFSDownloadStreamImpl.java    |   29 +-
 .../mongodb/client/gridfs/GridFSFindIterable.java  |   12 +
 .../client/gridfs/GridFSFindIterableImpl.java      |    9 +-
 .../client/gridfs/GridFSUploadStreamImpl.java      |   27 +-
 .../mongodb/client/jndi/MongoClientFactory.java    |  108 ++
 .../main/com/mongodb/client/jndi/package-info.java |   23 +
 .../client/model/DBCollectionCountOptions.java     |  248 +++
 .../client/model/DBCollectionDistinctOptions.java  |  125 ++
 .../model/DBCollectionFindAndModifyOptions.java    |  286 ++++
 .../client/model/DBCollectionFindOptions.java      |  428 +++++
 .../client/model/DBCollectionRemoveOptions.java    |  100 ++
 .../client/model/DBCollectionUpdateOptions.java    |  195 +++
 .../mongodb/client/model/DBCreateViewOptions.java  |   49 +
 .../src/main/com/mongodb/client/package-info.java  |   20 -
 driver/src/main/com/mongodb/gridfs/GridFSFile.java |    4 +-
 driver/src/main/com/mongodb/package-info.java      |   20 -
 driver/src/main/com/mongodb/util/JSON.java         |   23 +-
 driver/src/main/com/mongodb/util/JSONCallback.java |   14 +-
 .../src/main/com/mongodb/util/JSONSerializers.java |   28 +-
 driver/src/main/org/bson/BSONCallback.java         |   13 +-
 driver/src/main/org/bson/BSONCallbackAdapter.java  |   10 +-
 driver/src/main/org/bson/BasicBSONCallback.java    |    8 +-
 driver/src/main/org/bson/BasicBSONEncoder.java     |   16 +
 driver/src/main/org/bson/BasicBSONObject.java      |    4 +-
 driver/src/main/org/bson/EmptyBSONCallback.java    |    8 +-
 driver/src/main/org/bson/LazyBSONObject.java       |  114 +-
 driver/src/main/org/bson/io/package-info.java      |   20 -
 driver/src/main/org/bson/package-info.java         |   20 -
 driver/src/main/org/bson/types/StringRangeSet.java |   10 +-
 driver/src/main/org/bson/types/package-info.java   |   20 -
 .../main/org/bson/util/AbstractCopyOnWriteMap.java |    2 +-
 .../FindAndDeleteAcceptanceTest.java               |  169 --
 .../FindAndReplaceAcceptanceTest.java              |  165 --
 .../FindAndUpdateAcceptanceTest.java               |  126 --
 .../acceptancetest/core/ClientAcceptanceTest.java  |  106 --
 .../core/CollectionAcceptanceTest.java             |  398 -----
 .../core/DatabaseAcceptanceTest.java               |  153 --
 .../acceptancetest/crud/DeleteAcceptanceTest.java  |   64 -
 .../acceptancetest/crud/InsertAcceptanceTest.java  |   40 -
 .../acceptancetest/crud/ReplaceAcceptanceTest.java |   97 --
 .../acceptancetest/crud/UpdateAcceptanceTest.java  |  163 --
 .../mongodb/acceptancetest/crud/pojo/Address.java  |   76 -
 .../mongodb/acceptancetest/crud/pojo/Person.java   |   79 -
 .../mongodb/acceptancetest/crud/pojo/Postcode.java |   52 -
 .../index/AddIndexAcceptanceTest.java              |  236 ---
 .../index/DropIndexAcceptanceTest.java             |  111 --
 .../querying/FilterAcceptanceTest.java             |  158 --
 .../querying/MapReduceAcceptanceTest.java          |  275 ---
 .../querying/QueryAcceptanceTest.java              |  229 ---
 .../com/mongodb/DBCollectionAggregationTest.java   |   27 +-
 .../DBCollectionFunctionalSpecification.groovy     |  248 ++-
 .../com/mongodb/DBCollectionSpecification.groovy   |  727 +++++++-
 .../functional/com/mongodb/DBCollectionTest.java   |   71 +-
 .../mongodb/DBCursorFunctionalSpecification.groovy |   78 +-
 .../functional/com/mongodb/DBCursorOldTest.java    |    3 +-
 .../test/functional/com/mongodb/DBCursorTest.java  |   52 +-
 .../com/mongodb/DBFunctionalSpecification.groovy   |   90 +-
 driver/src/test/functional/com/mongodb/DBTest.java |   60 +-
 .../test/functional/com/mongodb/MapReduceTest.java |   23 +-
 ...oClientListenerRegistrationSpecification.groovy |   76 +-
 .../mongodb/MongoClientSessionSpecification.groovy |  355 ++++
 .../com/mongodb/MongoClientsSpecification.groovy   |  111 ++
 .../functional/com/mongodb/QueryBuilderTest.java   |    6 -
 .../com/mongodb/client/CommandMonitoringTest.java  |   29 +-
 .../functional/com/mongodb/client/Concrete.java    |    4 +-
 .../functional/com/mongodb/client/CrudTest.java    |   54 +-
 .../client/InitialDnsSeedlistDiscoveryTest.java    |  181 ++
 .../mongodb/client/JsonPoweredCrudTestHelper.java  |  247 ++-
 .../com/mongodb/client/MongoCollectionTest.java    |    4 -
 .../com/mongodb/client/RetryableWritesTest.java    |  218 +++
 .../GridFSBucketSmokeTestSpecification.groovy      |   45 +
 .../com/mongodb/client/gridfs/GridFSTest.java      |    9 +-
 .../jndi/MongoClientFactorySpecification.groovy    |   73 +
 .../mongodb/AggregateIterableSpecification.groovy  |  155 +-
 .../test/unit/com/mongodb/BasicDBObjectTest.java   |   12 +-
 .../ChangeStreamIterableSpecification.groovy       |  252 +++
 .../ClientSessionBindingSpecification.groovy       |  139 ++
 .../ClientSessionOptionsSpecification.groovy       |   43 +
 .../unit/com/mongodb/DBCursorSpecification.groovy  |  188 ++-
 .../DBEncoderDecoderDBRefSpecification.groovy      |   64 +
 .../DBObjectCodecProviderSpecification.groovy      |   53 +
 .../com/mongodb/DBObjectCodecSpecification.groovy  |   22 +-
 .../DBObjectCollationHelperSpecification.groovy    |   73 +
 .../unit/com/mongodb/DBRefSpecification.groovy     |  156 --
 .../test/unit/com/mongodb/DBSpecification.groovy   |   92 +-
 .../mongodb/DistinctIterableSpecification.groovy   |   45 +-
 .../DocumentToDBRefTransformerSpecification.groovy |   70 -
 .../com/mongodb/FindIterableSpecification.groovy   |   97 +-
 .../ListCollectionsIterableSpecification.groovy    |   32 +-
 .../ListDatabasesIterableSpecification.groovy      |   10 +-
 .../ListIndexesIterableSpecification.groovy        |   30 +-
 .../mongodb/MapReduceIterableSpecification.groovy  |  120 +-
 .../mongodb/MongoClientOptionsSpecification.groovy |  277 ++-
 .../com/mongodb/MongoClientSpecification.groovy    |   49 +-
 .../com/mongodb/MongoClientURISpecification.groovy |   69 +-
 .../mongodb/MongoCollectionSpecification.groovy    | 1065 +++++++++---
 .../unit/com/mongodb/MongoConstructorsTest.java    |   28 +-
 .../com/mongodb/MongoDatabaseSpecification.groovy  |  230 ++-
 .../unit/com/mongodb/MongoSpecification.groovy     |   30 +-
 driver/src/test/unit/com/mongodb/TestHelper.groovy |   29 +
 .../unit/com/mongodb/TestOperationExecutor.java    |   32 +-
 .../client/gridfs/GridFSBucketSpecification.groovy |  308 +++-
 .../gridfs/GridFSBucketsSpecification.groovy       |    6 +-
 .../GridFSDownloadStreamSpecification.groovy       |  172 +-
 .../gridfs/GridFSFindIterableSpecification.groovy  |   15 +-
 .../gridfs/GridFSUploadStreamSpecification.groovy  |  102 +-
 .../DBCollectionCountOptionsSpecification.groovy   |   74 +
 ...DBCollectionDistinctOptionsSpecification.groovy |   58 +
 ...lectionFindAndModifyOptionsSpecification.groovy |   82 +
 .../DBCollectionFindOptionsSpecification.groovy    |  147 ++
 .../DBCollectionRemoveOptionsSpecification.groovy  |   53 +
 .../DBCollectionUpdateOptionsSpecification.groovy  |   63 +
 .../operation/DeleteRequestSpecification.groovy    |   62 -
 .../operation/InsertRequestSpecification.groovy    |   53 -
 .../operation/UpdateRequestSpecification.groovy    |  110 --
 .../unit/com/mongodb/util/JSONCallbackTest.java    |   13 +-
 .../unit/com/mongodb/util/JSONSerializersTest.java |   14 +-
 .../src/test/unit/com/mongodb/util/JSONTest.java   |    1 +
 driver/src/test/unit/org/bson/BSONTest.java        |    2 +-
 .../org/bson/BasicBSONDecoderSpecification.groovy  |   37 +-
 .../org/bson/BasicBSONEncoderSpecification.groovy  |    2 +
 .../org/bson/LazyBSONObjectSpecification.groovy    |  134 +-
 .../bson/types/StringRangeSetSpecification.groovy  |   11 +-
 gradle/TestColorOutput.gradle                      |  110 ++
 gradle/deploy.gradle                               |    6 +-
 mongo-java-driver/build.gradle                     |    8 +-
 util/src/main/DochubTaglet.java                    |   42 +
 1511 files changed, 112731 insertions(+), 32926 deletions(-)
 create mode 100644 .evergreen/.evg.yml
 create mode 100755 .evergreen/compile.sh
 create mode 100755 .evergreen/publish.sh
 create mode 100755 .evergreen/run-gssapi-auth-test.sh
 create mode 100755 .evergreen/run-plain-auth-test.sh
 create mode 100755 .evergreen/run-tests.sh
 delete mode 100644 .evg.yml
 create mode 100644 THIRD-PARTY-NOTICES
 create mode 100644 bson/src/main/org/bson/BsonDecimal128.java
 create mode 100644 bson/src/main/org/bson/BsonReaderMark.java
 create mode 100644 bson/src/main/org/bson/codecs/BigDecimalCodec.java
 create mode 100644 bson/src/main/org/bson/codecs/BsonDecimal128Codec.java
 create mode 100644 bson/src/main/org/bson/codecs/Decimal128Codec.java
 create mode 100644 bson/src/main/org/bson/codecs/MapCodec.java
 create mode 100644 bson/src/main/org/bson/codecs/MapCodecProvider.java
 create mode 100644 bson/src/main/org/bson/codecs/NumberCodecHelper.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/AutomaticPojoCodec.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/ClassModel.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/ClassModelBuilder.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/CollectionPropertyCodecProvider.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/Convention.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/ConventionAnnotationImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/ConventionDefaultsImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/ConventionSetPrivateFieldImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/ConventionUseGettersAsSettersImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/Conventions.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/CreatorExecutable.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/DiscriminatorLookup.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/EnumPropertyCodecProvider.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/FallbackPropertyCodecProvider.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/InstanceCreator.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/InstanceCreatorFactory.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/InstanceCreatorFactoryImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/InstanceCreatorImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/LazyPojoCodec.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/MapPropertyCodecProvider.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PojoBuilderHelper.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PojoCodec.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PojoCodecImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PojoCodecProvider.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyAccessor.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyAccessorImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyCodecProvider.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyCodecRegistry.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyCodecRegistryImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyMetadata.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyModel.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyModelBuilder.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyModelSerializationImpl.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertyReflectionUtils.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/PropertySerialization.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/TypeData.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/TypeParameterMap.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/TypeWithTypeParameters.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/annotations/BsonCreator.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/annotations/BsonDiscriminator.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/annotations/BsonId.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/annotations/BsonIgnore.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/annotations/BsonProperty.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/annotations/package-info.java
 create mode 100644 bson/src/main/org/bson/codecs/pojo/package-info.java
 create mode 100644 bson/src/main/org/bson/diagnostics/JULLogger.java
 create mode 100644 bson/src/main/org/bson/diagnostics/Logger.java
 create mode 100644 bson/src/main/org/bson/diagnostics/SLF4JLogger.java
 create mode 100644 bson/src/main/org/bson/internal/Base64.java
 create mode 100644 bson/src/main/org/bson/internal/UnsignedLongs.java
 create mode 100644 bson/src/main/org/bson/json/Converter.java
 create mode 100644 bson/src/main/org/bson/json/DateTimeFormatter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonBinaryConverter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonDateTimeConverter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonDecimal128Converter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonDoubleConverter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonInt32Converter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonInt64Converter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonMaxKeyConverter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonMinKeyConverter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonObjectIdConverter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonRegularExpressionConverter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonTimestampConverter.java
 create mode 100644 bson/src/main/org/bson/json/ExtendedJsonUndefinedConverter.java
 create mode 100644 bson/src/main/org/bson/json/JsonBooleanConverter.java
 create mode 100644 bson/src/main/org/bson/json/JsonDoubleConverter.java
 create mode 100644 bson/src/main/org/bson/json/JsonInt32Converter.java
 create mode 100644 bson/src/main/org/bson/json/JsonJavaScriptConverter.java
 create mode 100644 bson/src/main/org/bson/json/JsonNullConverter.java
 create mode 100644 bson/src/main/org/bson/json/JsonStringConverter.java
 create mode 100644 bson/src/main/org/bson/json/JsonSymbolConverter.java
 create mode 100644 bson/src/main/org/bson/json/LegacyExtendedJsonBinaryConverter.java
 create mode 100644 bson/src/main/org/bson/json/LegacyExtendedJsonDateTimeConverter.java
 create mode 100644 bson/src/main/org/bson/json/LegacyExtendedJsonRegularExpressionConverter.java
 create mode 100644 bson/src/main/org/bson/json/RelaxedExtendedJsonDateTimeConverter.java
 create mode 100644 bson/src/main/org/bson/json/RelaxedExtendedJsonDoubleConverter.java
 create mode 100644 bson/src/main/org/bson/json/RelaxedExtendedJsonInt64Converter.java
 create mode 100644 bson/src/main/org/bson/json/ShellBinaryConverter.java
 create mode 100644 bson/src/main/org/bson/json/ShellDateTimeConverter.java
 create mode 100644 bson/src/main/org/bson/json/ShellDecimal128Converter.java
 create mode 100644 bson/src/main/org/bson/json/ShellInt64Converter.java
 create mode 100644 bson/src/main/org/bson/json/ShellMaxKeyConverter.java
 create mode 100644 bson/src/main/org/bson/json/ShellMinKeyConverter.java
 create mode 100644 bson/src/main/org/bson/json/ShellObjectIdConverter.java
 create mode 100644 bson/src/main/org/bson/json/ShellRegularExpressionConverter.java
 create mode 100644 bson/src/main/org/bson/json/ShellTimestampConverter.java
 create mode 100644 bson/src/main/org/bson/json/ShellUndefinedConverter.java
 create mode 100644 bson/src/main/org/bson/json/StrictCharacterStreamJsonWriter.java
 create mode 100644 bson/src/main/org/bson/json/StrictCharacterStreamJsonWriterSettings.java
 create mode 100644 bson/src/main/org/bson/json/StrictJsonWriter.java
 create mode 100644 bson/src/main/org/bson/types/Decimal128.java
 create mode 100644 bson/src/test/resources/bson/binary.json
 create mode 100644 bson/src/test/resources/bson/code.json
 create mode 100644 bson/src/test/resources/bson/code_w_scope.json
 delete mode 100644 bson/src/test/resources/bson/corrupted.json
 create mode 100644 bson/src/test/resources/bson/datetime.json
 create mode 100644 bson/src/test/resources/bson/dbpointer.json
 create mode 100644 bson/src/test/resources/bson/dbref.json
 create mode 100644 bson/src/test/resources/bson/decimal128-1.json
 create mode 100644 bson/src/test/resources/bson/decimal128-2.json
 create mode 100644 bson/src/test/resources/bson/decimal128-3.json
 create mode 100644 bson/src/test/resources/bson/decimal128-4.json
 create mode 100644 bson/src/test/resources/bson/decimal128-5.json
 create mode 100644 bson/src/test/resources/bson/decimal128-6.json
 create mode 100644 bson/src/test/resources/bson/decimal128-7.json
 create mode 100644 bson/src/test/resources/bson/document.json
 create mode 100644 bson/src/test/resources/bson/double.json
 create mode 100644 bson/src/test/resources/bson/int64.json
 create mode 100644 bson/src/test/resources/bson/maxkey.json
 create mode 100644 bson/src/test/resources/bson/minkey.json
 create mode 100644 bson/src/test/resources/bson/multi-type-deprecated.json
 create mode 100644 bson/src/test/resources/bson/multi-type.json
 create mode 100644 bson/src/test/resources/bson/null.json
 create mode 100644 bson/src/test/resources/bson/oid.json
 create mode 100644 bson/src/test/resources/bson/regex.json
 create mode 100644 bson/src/test/resources/bson/symbol.json
 create mode 100644 bson/src/test/resources/bson/timestamp.json
 create mode 100644 bson/src/test/resources/bson/top.json
 create mode 100644 bson/src/test/resources/bson/undefined.json
 create mode 100644 bson/src/test/unit/org/bson/BsonArraySpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/BsonBinaryReaderSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/BsonBinarySubTypeSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/BsonHelper.java
 create mode 100644 bson/src/test/unit/org/bson/BsonNumberSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/BsonRegularExpressionSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/BsonTimestampSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/codecs/AtomicIntegerCodecTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/AtomicLongCodecTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/BigDecimalCodecSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/codecs/BsonTypeClassMapSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/codecs/BsonTypeCodecMapSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/codecs/ByteCodecTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/CodecTestCase.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/DoubleCodecTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/FloatCodecTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/IntegerCodecTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/LongCodecTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/MapCodecSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/codecs/ShortCodecTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/ClassModelBuilderTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/ClassModelTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/ConventionsTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/PojoCodecProviderTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/PojoCustomTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/PojoRoundTripTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/PojoTestCase.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/PropertyModelBuilderTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/PropertyModelTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/TypeDataTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/TypeParameterMapTest.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/AbstractCollectionSpecificReturnTypeCreatorModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/AbstractInterfaceModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/AsymmetricalCreatorModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/AsymmetricalIgnoreModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/AsymmetricalModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/CollectionNestedPojoModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/CollectionSpecificReturnTypeCreatorModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/CollectionSpecificReturnTypeModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ConcreteAndNestedAbstractInterfaceModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ConcreteCollectionsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ConcreteInterfaceGenericModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ConcreteStandAloneAbstractInterfaceModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ConstructorNotPublicModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ContainsAlternativeMapAndCollectionModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ConventionModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ConverterModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/CustomPropertyCodecOptionalModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/FieldAndPropertyTypeMismatchModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/GenericHolderModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/GenericTreeModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ImmutableList.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceBasedModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceGenericModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceModelA.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceModelAbstract.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceModelB.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceModelImpl.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceUpperBoundsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceUpperBoundsModelAbstract.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceUpperBoundsModelAbstractImpl.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InvalidCollection.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InvalidCollectionModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InvalidGetterAndSetterModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InvalidMapModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InvalidMapPropertyCodecProvider.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/InvalidSetterArgsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/MultipleBoundsLevel1.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/MultipleBoundsLevel2.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/MultipleBoundsLevel3.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/MultipleBoundsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/MultipleLevelGenericModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedFieldReusingClassTypeParameter.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedGenericHolderFieldWithMultipleTypeParamsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedGenericHolderMapModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedGenericHolderModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedGenericHolderSimpleGenericsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedGenericTreeModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedMultipleLevelGenericModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedReusedGenericsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedSelfReferentialGenericHolderModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/NestedSelfReferentialGenericModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/Optional.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/OptionalPropertyCodecProvider.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/PrimitivesModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/PrivateSetterFieldModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/PropertyReusingClassTypeParameter.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/PropertySelectionModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/PropertyWithMultipleTypeParamsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ReusedGenericsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/SelfReferentialGenericModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ShapeHolderModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ShapeModelAbstract.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ShapeModelCircle.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/ShapeModelRectangle.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/SimpleEnum.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/SimpleEnumModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/SimpleGenericsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/SimpleModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/SimpleNestedPojoModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/UpperBoundsConcreteModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/UpperBoundsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/AnnotationAbstract.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/AnnotationDefaultsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/AnnotationInheritedModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/AnnotationModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/AnnotationNameCollision.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/BsonIgnoreInvalidMapModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CollectionDiscriminatorAbstractClassesModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CollectionDiscriminatorInterfacesModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CollectionNameModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CollectionsGetterImmutableModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CollectionsGetterMutableModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CollectionsGetterNonEmptyModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CollectionsGetterNullModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorAllFinalFieldsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorConstructorIdModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorConstructorLegacyBsonPropertyModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorConstructorModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorConstructorPrimitivesModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorConstructorRenameModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorConstructorThrowsExceptionModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInSuperClassModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInSuperClassModelImpl.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInvalidConstructorModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInvalidMethodModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInvalidMethodReturnTypeModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInvalidMultipleConstructorsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInvalidMultipleCreatorsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInvalidMultipleStaticCreatorsModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInvalidTypeConstructorModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorInvalidTypeMethodModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorMethodModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorMethodThrowsExceptionModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorNoArgsConstructorModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CreatorNoArgsMethodModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/DiscriminatorNameModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/FieldStorageModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/InterfaceModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/InterfaceModelImplA.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/InterfaceModelImplB.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/MapGetterImmutableModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/MapGetterMutableModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/MapGetterNonEmptyModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/MapGetterNullModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/PropertyNameModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/Subclass1Model.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/Subclass2Model.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/SuperClassModel.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/package-info.java
 create mode 100644 bson/src/test/unit/org/bson/codecs/pojo/entities/package-info.java
 create mode 100644 bson/src/test/unit/org/bson/internal/UnsignedLongsTest.java
 create mode 100644 bson/src/test/unit/org/bson/json/Base64Specification.groovy
 create mode 100644 bson/src/test/unit/org/bson/json/JsonReaderSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/json/JsonWriterSettingsSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/json/JsonWriterSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/json/StrictCharacterStreamJsonWriterSpecification.groovy
 create mode 100644 bson/src/test/unit/org/bson/types/Decimal128Specification.groovy
 create mode 100644 bson/src/test/unit/util/Hex.java
 create mode 100644 docs/reference/content/bson/pojos.md
 delete mode 100644 docs/reference/content/driver-async/getting-started/index.md
 delete mode 100644 docs/reference/content/driver-async/getting-started/installation-guide.md
 create mode 100644 docs/reference/content/driver-async/getting-started/installation.md
 create mode 100644 docs/reference/content/driver-async/getting-started/quick-start-pojo.md
 create mode 100644 docs/reference/content/driver-async/getting-started/quick-start.md
 delete mode 100644 docs/reference/content/driver-async/getting-started/quick-tour-admin.md
 delete mode 100644 docs/reference/content/driver-async/getting-started/quick-tour.md
 delete mode 100644 docs/reference/content/driver-async/reference/connecting/authenticating.md
 delete mode 100644 docs/reference/content/driver-async/reference/connecting/connection-settings.md
 delete mode 100644 docs/reference/content/driver-async/reference/connecting/index.md
 delete mode 100644 docs/reference/content/driver-async/reference/connecting/ssl.md
 delete mode 100644 docs/reference/content/driver-async/reference/crud/index.md
 delete mode 100644 docs/reference/content/driver-async/reference/gridfs/index.md
 create mode 100644 docs/reference/content/driver-async/reference/logging.md
 delete mode 100644 docs/reference/content/driver-async/reference/management/index.md
 delete mode 100644 docs/reference/content/driver-async/reference/management/logging.md
 delete mode 100644 docs/reference/content/driver-async/reference/management/monitoring.md
 create mode 100644 docs/reference/content/driver-async/reference/monitoring.md
 create mode 100644 docs/reference/content/driver-async/tutorials/aggregation.md
 create mode 100644 docs/reference/content/driver-async/tutorials/authentication.md
 create mode 100644 docs/reference/content/driver-async/tutorials/bulk-writes.md
 create mode 100644 docs/reference/content/driver-async/tutorials/change-streams.md
 create mode 100644 docs/reference/content/driver-async/tutorials/commands.md
 create mode 100644 docs/reference/content/driver-async/tutorials/compression.md
 create mode 100644 docs/reference/content/driver-async/tutorials/connect-to-mongodb.md
 create mode 100644 docs/reference/content/driver-async/tutorials/databases-collections.md
 create mode 100644 docs/reference/content/driver-async/tutorials/geospatial-search.md
 create mode 100644 docs/reference/content/driver-async/tutorials/gridfs.md
 create mode 100644 docs/reference/content/driver-async/tutorials/index.md
 create mode 100644 docs/reference/content/driver-async/tutorials/indexes.md
 create mode 100644 docs/reference/content/driver-async/tutorials/perform-read-operations.md
 create mode 100644 docs/reference/content/driver-async/tutorials/perform-write-operations.md
 create mode 100644 docs/reference/content/driver-async/tutorials/ssl.md
 create mode 100644 docs/reference/content/driver-async/tutorials/text-search.md
 delete mode 100644 docs/reference/content/driver/getting-started/index.md
 delete mode 100644 docs/reference/content/driver/getting-started/installation-guide.md
 create mode 100644 docs/reference/content/driver/getting-started/installation.md
 create mode 100644 docs/reference/content/driver/getting-started/quick-start-pojo.md
 create mode 100644 docs/reference/content/driver/getting-started/quick-start.md
 delete mode 100644 docs/reference/content/driver/getting-started/quick-tour-admin.md
 delete mode 100644 docs/reference/content/driver/getting-started/quick-tour.md
 delete mode 100644 docs/reference/content/driver/reference/connecting/authenticating.md
 delete mode 100644 docs/reference/content/driver/reference/connecting/connection-settings.md
 delete mode 100644 docs/reference/content/driver/reference/connecting/index.md
 delete mode 100644 docs/reference/content/driver/reference/connecting/jndi.md
 delete mode 100644 docs/reference/content/driver/reference/connecting/ssl.md
 delete mode 100644 docs/reference/content/driver/reference/crud/index.md
 delete mode 100644 docs/reference/content/driver/reference/gridfs/index.md
 create mode 100644 docs/reference/content/driver/reference/logging.md
 delete mode 100644 docs/reference/content/driver/reference/management/index.md
 delete mode 100644 docs/reference/content/driver/reference/management/logging.md
 delete mode 100644 docs/reference/content/driver/reference/management/monitoring.md
 create mode 100644 docs/reference/content/driver/reference/monitoring.md
 create mode 100644 docs/reference/content/driver/tutorials/aggregation.md
 create mode 100644 docs/reference/content/driver/tutorials/authentication.md
 create mode 100644 docs/reference/content/driver/tutorials/bulk-writes.md
 create mode 100644 docs/reference/content/driver/tutorials/change-streams.md
 create mode 100644 docs/reference/content/driver/tutorials/commands.md
 create mode 100644 docs/reference/content/driver/tutorials/compression.md
 create mode 100644 docs/reference/content/driver/tutorials/connect-to-mongodb.md
 create mode 100644 docs/reference/content/driver/tutorials/databases-collections.md
 create mode 100644 docs/reference/content/driver/tutorials/geospatial-search.md
 create mode 100644 docs/reference/content/driver/tutorials/gridfs.md
 create mode 100644 docs/reference/content/driver/tutorials/index.md
 create mode 100644 docs/reference/content/driver/tutorials/indexes.md
 create mode 100644 docs/reference/content/driver/tutorials/jndi.md
 create mode 100644 docs/reference/content/driver/tutorials/perform-read-operations.md
 create mode 100644 docs/reference/content/driver/tutorials/perform-write-operations.md
 create mode 100644 docs/reference/content/driver/tutorials/ssl.md
 create mode 100644 docs/reference/content/driver/tutorials/text-search.md
 create mode 100644 docs/reference/content/upgrading.md
 create mode 100644 docs/reference/content/whats-new.md
 delete mode 100644 docs/reference/content/whats-new/index.md
 delete mode 100644 docs/reference/content/whats-new/upgrading.md
 create mode 100644 driver-async/src/examples/documentation/DocumentationSamples.java
 create mode 100644 driver-async/src/examples/tour/Address.java
 create mode 100644 driver-async/src/examples/tour/Person.java
 create mode 100644 driver-async/src/examples/tour/PojoQuickTour.java
 create mode 100644 driver-async/src/main/com/mongodb/async/client/AggregateToCollectionThenFindOperation.java
 create mode 100644 driver-async/src/main/com/mongodb/async/client/AsyncOperationExecutorImpl.java
 delete mode 100644 driver-async/src/main/com/mongodb/async/client/AwaitingWriteOperationIterable.java
 create mode 100644 driver-async/src/main/com/mongodb/async/client/ChangeStreamIterable.java
 create mode 100644 driver-async/src/main/com/mongodb/async/client/ChangeStreamIterableImpl.java
 create mode 100644 driver-async/src/main/com/mongodb/async/client/ClientSessionBinding.java
 create mode 100644 driver-async/src/main/com/mongodb/async/client/ClientSessionHelper.java
 create mode 100644 driver-async/src/main/com/mongodb/async/client/MongoIterableImpl.java
 create mode 100644 driver-async/src/main/com/mongodb/async/client/NettyMongoClients.java
 delete mode 100644 driver-async/src/main/com/mongodb/async/client/OperationIterable.java
 create mode 100644 driver-async/src/test/functional/com/mongodb/async/client/InitialDnsSeedlistDiscoveryTest.java
 create mode 100644 driver-async/src/test/functional/com/mongodb/async/client/JsonPoweredCrudTestHelper.java
 create mode 100644 driver-async/src/test/functional/com/mongodb/async/client/MongoClientSessionSpecification.groovy
 create mode 100644 driver-async/src/test/functional/com/mongodb/async/client/RetryableWritesTest.java
 create mode 100644 driver-async/src/test/functional/com/mongodb/async/client/TestHelper.groovy
 delete mode 100644 driver-async/src/test/functional/com/mongodb/async/client/gridfs/GridFSTestHelper.groovy
 delete mode 100644 driver-async/src/test/unit/com/mongodb/async/client/AwaitingWriteOperationIterableSpecification.groovy
 create mode 100644 driver-async/src/test/unit/com/mongodb/async/client/ChangeStreamIterableSpecification.groovy
 create mode 100644 driver-async/src/test/unit/com/mongodb/async/client/ClientSessionBindingSpecification.groovy
 create mode 100644 driver-core/src/main/com/mongodb/ClientSessionOptions.java
 create mode 100644 driver-core/src/main/com/mongodb/DBRef.java
 rename {driver => driver-core}/src/main/com/mongodb/DBRefCodec.java (100%)
 rename {driver => driver-core}/src/main/com/mongodb/DBRefCodecProvider.java (100%)
 create mode 100644 driver-core/src/main/com/mongodb/DocumentToDBRefTransformer.java
 create mode 100644 driver-core/src/main/com/mongodb/MongoChangeStreamException.java
 create mode 100644 driver-core/src/main/com/mongodb/MongoCompressor.java
 create mode 100644 driver-core/src/main/com/mongodb/MongoConfigurationException.java
 create mode 100644 driver-core/src/main/com/mongodb/client/MongoDriverInformation.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/BucketAutoOptions.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/BucketGranularity.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/BucketOptions.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/Collation.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/CollationAlternate.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/CollationCaseFirst.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/CollationMaxVariable.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/CollationStrength.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/CreateIndexOptions.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/CreateViewOptions.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/DeleteOptions.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/DropIndexOptions.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/Facet.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/Field.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/GraphLookupOptions.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/changestream/ChangeStreamDocument.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/changestream/ChangeStreamDocumentCodec.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/changestream/FullDocument.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/changestream/OperationType.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/changestream/OperationTypeCodec.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/changestream/UpdateDescription.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/changestream/package-info.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/geojson/codecs/AbstractGeometryCodec.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/geojson/codecs/GeometryCodec.java
 delete mode 100644 driver-core/src/main/com/mongodb/client/model/geojson/codecs/GeometryCodecHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/geojson/codecs/GeometryDecoderHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/client/model/geojson/codecs/GeometryEncoderHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/AbstractByteBufBsonDocument.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/Base64Codec.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/BaseWriteCommandMessage.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/BsonWriterHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/ClientMetadataHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/ClusterClock.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/ClusterClockAdvancingSessionContext.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/CommandProtocolImpl.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/CompressedHeader.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/CompressedMessage.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/Compressor.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/DeleteCommandMessage.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/DeleteCommandProtocol.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/ElementExtendingBsonWriter.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/InsertCommandMessage.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/InsertCommandProtocol.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/LegacyMessage.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/LegacyProtocol.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/LevelCountingBsonWriter.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/MessageHeader.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/NoOpClusterListener.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/NoOpConnectionListener.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/NoOpConnectionPoolListener.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/NoOpServerListener.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/NoOpServerMonitorListener.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/OpCode.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/Protocol.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/SnappyCompressor.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/SplittablePayload.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/SplittablePayloadBsonWriter.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/Time.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/UpdateCommandMessage.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/UpdateCommandProtocol.java
 delete mode 100644 driver-core/src/main/com/mongodb/connection/WriteCommandProtocol.java
 create mode 100644 driver-core/src/main/com/mongodb/connection/ZlibCompressor.java
 delete mode 100644 driver-core/src/main/com/mongodb/event/ConnectionEventMulticaster.java
 delete mode 100644 driver-core/src/main/com/mongodb/event/ConnectionListenerAdapter.java
 create mode 100644 driver-core/src/main/com/mongodb/event/ServerListenerAdapter.java
 create mode 100644 driver-core/src/main/com/mongodb/event/ServerMonitorListenerAdapter.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/connection/Java8SniSslHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/connection/NoOpSessionContext.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/connection/SniSslHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/dns/DnsResolver.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/event/ClusterListenerMulticaster.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/event/CommandListenerMulticaster.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/event/ConnectionPoolListenerMulticaster.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/event/EventListenerHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/event/ServerListenerMulticaster.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/event/ServerMonitorListenerMulticaster.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/session/ClientSessionContext.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/session/ClientSessionImpl.java
 create mode 100644 driver-core/src/main/com/mongodb/internal/session/ServerSessionPool.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/AsyncChangeStreamBatchCursor.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/AsyncSingleBatchQueryCursor.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/BaseFindAndModifyOperation.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/BulkWriteBatch.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/ChangeStreamBatchCursor.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/ChangeStreamOperation.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/CreateViewOperation.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/ReadConcernHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/operation/WriteConcernHelper.java
 create mode 100644 driver-core/src/main/com/mongodb/session/ClientSession.java
 create mode 100644 driver-core/src/main/com/mongodb/session/ServerSession.java
 create mode 100644 driver-core/src/main/com/mongodb/session/SessionContext.java
 create mode 100644 driver-core/src/main/com/mongodb/session/package-info.java
 create mode 100644 driver-core/src/test/functional/com/mongodb/binding/AsyncSessionBinding.java
 create mode 100644 driver-core/src/test/functional/com/mongodb/binding/AsyncSessionBindingSpecification.groovy
 create mode 100644 driver-core/src/test/functional/com/mongodb/binding/SessionBinding.java
 create mode 100644 driver-core/src/test/functional/com/mongodb/binding/SimpleSessionContext.java
 create mode 100644 driver-core/src/test/functional/com/mongodb/client/model/FieldSpecification.groovy
 delete mode 100644 driver-core/src/test/functional/com/mongodb/connection/CommandProtocolCommandEventSpecification.groovy
 create mode 100644 driver-core/src/test/functional/com/mongodb/connection/SocketStreamHelperSpecification.groovy
 delete mode 100644 driver-core/src/test/functional/com/mongodb/connection/WriteCommandProtocolCommandEventSpecification.groovy
 delete mode 100644 driver-core/src/test/functional/com/mongodb/connection/WriteCommandProtocolSpecification.groovy
 create mode 100644 driver-core/src/test/functional/com/mongodb/operation/ChangeStreamOperationSpecification.groovy
 create mode 100644 driver-core/src/test/functional/com/mongodb/operation/CreateViewOperationSpecification.groovy
 delete mode 100644 driver-core/src/test/functional/com/mongodb/operation/MixedBulkWriteOperationAsyncSpecification.groovy
 create mode 100644 driver-core/src/test/functional/com/mongodb/operation/QueryOperationHelper.groovy
 create mode 100644 driver-core/src/test/functional/com/mongodb/operation/ReadConcernHelperSpecification.groovy
 create mode 100644 driver-core/src/test/resources/crud/read/aggregate-collation.json
 create mode 100644 driver-core/src/test/resources/crud/read/aggregate-out.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/read/aggregate.json
 create mode 100644 driver-core/src/test/resources/crud/read/count-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/read/count.json
 create mode 100644 driver-core/src/test/resources/crud/read/distinct-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/read/distinct.json
 create mode 100644 driver-core/src/test/resources/crud/read/find-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/read/find.json
 create mode 100644 driver-core/src/test/resources/crud/write/bulkWrite-arrayFilters.json
 create mode 100644 driver-core/src/test/resources/crud/write/deleteMany-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/deleteMany.json
 create mode 100644 driver-core/src/test/resources/crud/write/deleteOne-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/deleteOne.json
 create mode 100644 driver-core/src/test/resources/crud/write/findOneAndDelete-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/findOneAndDelete.json
 create mode 100644 driver-core/src/test/resources/crud/write/findOneAndReplace-collation.json
 create mode 100644 driver-core/src/test/resources/crud/write/findOneAndReplace-upsert.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/findOneAndReplace.json
 create mode 100644 driver-core/src/test/resources/crud/write/findOneAndUpdate-arrayFilters.json
 create mode 100644 driver-core/src/test/resources/crud/write/findOneAndUpdate-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/findOneAndUpdate.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/insertMany.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/insertOne.json
 create mode 100644 driver-core/src/test/resources/crud/write/replaceOne-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/replaceOne.json
 create mode 100644 driver-core/src/test/resources/crud/write/updateMany-arrayFilters.json
 create mode 100644 driver-core/src/test/resources/crud/write/updateMany-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/updateMany.json
 create mode 100644 driver-core/src/test/resources/crud/write/updateOne-arrayFilters.json
 create mode 100644 driver-core/src/test/resources/crud/write/updateOne-collation.json
 mode change 100755 => 100644 driver-core/src/test/resources/crud/write/updateOne.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/README.rst
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/longer-parent-in-return.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/misformatted-option.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/no-results.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/not-enough-parts.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/one-result-default-port.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/one-txt-record-multiple-strings.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/one-txt-record.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/parent-part-mismatch1.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/parent-part-mismatch2.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/parent-part-mismatch3.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/parent-part-mismatch4.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/parent-part-mismatch5.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/returned-parent-too-short.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/returned-parent-wrong.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/two-results-default-port.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/two-results-nonstandard-port.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/two-txt-records.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/txt-record-not-allowed-option.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/txt-record-with-overridden-ssl-option.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/txt-record-with-overridden-uri-option.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/txt-record-with-unallowed-option.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/uri-with-port.json
 create mode 100644 driver-core/src/test/resources/initial-dns-seedlist-discovery/uri-with-two-hosts.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/README.rst
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/DefaultNoMaxStaleness.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/Incompatible.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/LastUpdateTime.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/Nearest.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/Nearest2.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/NoKnownServers.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/PrimaryPreferred.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/PrimaryPreferred_tags.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/Secondary.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/SecondaryPreferred.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/SecondaryPreferred_tags.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetNoPrimary/ZeroMaxStaleness.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/DefaultNoMaxStaleness.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/Incompatible.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/LastUpdateTime.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/LongHeartbeat.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/LongHeartbeat2.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/MaxStalenessTooSmall.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/Nearest.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/Nearest2.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/Nearest_tags.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/PrimaryPreferred.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/PrimaryPreferred_incompatible.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/SecondaryPreferred.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/SecondaryPreferred_tags.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/SecondaryPreferred_tags2.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/Secondary_tags.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/Secondary_tags2.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/ReplicaSetWithPrimary/ZeroMaxStaleness.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/Sharded/Incompatible.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/Sharded/SmallMaxStaleness.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/Single/Incompatible.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/Single/SmallMaxStaleness.json
 create mode 100644 driver-core/src/test/resources/max-staleness/server_selection/Unknown/SmallMaxStaleness.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/bulkWrite.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/deleteOne.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/findOneAndDelete.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/findOneAndReplace.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/findOneAndUpdate.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/insertMany.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/insertOne.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/replaceOne.json
 create mode 100644 driver-core/src/test/resources/retryable-writes/updateOne.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/rs/compatible.json
 delete mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/rs/ignore_secondary_electionid.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/rs/ls_timeout.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/rs/primary_hint_from_secondary_with_mismatched_me.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/rs/primary_reports_new_member.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/rs/too_new.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/rs/too_old.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/sharded/compatible.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/sharded/ls_timeout_mongos.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/sharded/too_new.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/sharded/too_old.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/single/compatible.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/single/ls_timeout_standalone.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/single/too_new.json
 create mode 100644 driver-core/src/test/resources/server-discovery-and-monitoring/single/too_old.json
 create mode 100644 driver-core/src/test/resources/server-selection/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.json
 create mode 100644 driver-core/src/test/resources/server-selection/server_selection/ReplicaSetNoPrimary/read/Nearest_no_tag_set.json
 create mode 100644 driver-core/src/test/resources/server-selection/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags.json
 create mode 100644 driver-core/src/test/resources/server-selection/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2.json
 create mode 100644 driver-core/src/test/resources/server-selection/server_selection/ReplicaSetWithPrimary/read/Nearest_multiple.json
 create mode 100644 driver-core/src/test/resources/server-selection/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags.json
 rename {driver => driver-core}/src/test/unit/com/mongodb/DBRefCodecSpecification.groovy (100%)
 create mode 100644 driver-core/src/test/unit/com/mongodb/DBRefSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/DocumentToDBRefTransformerSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/MongoCompressorSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/ImmutableDocument.java
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/ImmutableDocumentCodec.java
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/ImmutableDocumentCodecProvider.java
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/MongoDriverInformationSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/BucketAutoOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/BucketGranularitySpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/BucketOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/CollationAlternateSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/CollationCaseFirstSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/CollationMaxVariableSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/CollationSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/CollationStrengthSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/CountOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/CreateCollectionOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/DeleteOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/FindOneAndDeleteOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/FindOneAndReplaceOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/FindOneAndUpdateOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/FindOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/GraphLookupOptionsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/changestream/ChangeStreamDocumentCodecSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/changestream/ChangeStreamDocumentSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/changestream/FullDocumentSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/changestream/OperationTypeCodecSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/changestream/OperationTypeSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/changestream/UpdateDescriptionSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/geojson/codecs/GeometryCodecSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/client/model/geojson/codecs/NamedCoordinateReferenceSystemSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/AsynchronousSocketChannelStreamFactoryFactorySpecification.groovy
 delete mode 100644 driver-core/src/test/unit/com/mongodb/connection/Base64CodecSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/ClientMetadataHelperSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/ClusterClockSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/CommandMessageSpecification.groovy
 delete mode 100644 driver-core/src/test/unit/com/mongodb/connection/CommandProtocolCommandEventElisionSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/ConcurrentLinkedDequeSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/ElementExtendingBsonWriterSpecification.groovy
 delete mode 100644 driver-core/src/test/unit/com/mongodb/connection/MaxMessageSizeTest.java
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/StreamHelper.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/TestSessionContext.java
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/TimeSpecification.groovy
 delete mode 100644 driver-core/src/test/unit/com/mongodb/connection/WriteCommandLimitsSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/X509AuthenticatorNoUserNameTest.java
 create mode 100644 driver-core/src/test/unit/com/mongodb/connection/netty/NettyStreamFactorySpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/event/CommandEventSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/event/ServerHeartbeatEventSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/internal/connection/NoOpSessionContextSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/internal/session/ClientSessionContextSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/internal/session/ServerSessionPoolSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/AsyncChangeStreamBatchCursorSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/AsyncSingleBatchQueryCursorSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/BulkWriteBatchSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/ChangeStreamBatchCursorSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/DeleteRequestSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/FindOperationUnitSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/InsertRequestSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/OperationHelperSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/OperationUnitSpecification.groovy
 create mode 100644 driver-core/src/test/unit/com/mongodb/operation/UpdateRequestSpecification.groovy
 create mode 100644 driver/src/examples/documentation/ChangeStreamSamples.java
 create mode 100644 driver/src/examples/documentation/DocumentationSamples.java
 create mode 100644 driver/src/examples/tour/Address.java
 create mode 100644 driver/src/examples/tour/Decimal128LegacyAPIQuickTour.java
 create mode 100644 driver/src/examples/tour/Decimal128QuickTour.java
 create mode 100644 driver/src/examples/tour/Person.java
 create mode 100644 driver/src/examples/tour/PojoQuickTour.java
 create mode 100644 driver/src/main/com/mongodb/ChangeStreamIterableImpl.java
 create mode 100644 driver/src/main/com/mongodb/ClientSessionBinding.java
 create mode 100644 driver/src/main/com/mongodb/DBObjectCollationHelper.java
 delete mode 100644 driver/src/main/com/mongodb/DBRef.java
 delete mode 100644 driver/src/main/com/mongodb/DocumentToDBRefTransformer.java
 create mode 100644 driver/src/main/com/mongodb/MongoIterableImpl.java
 create mode 100644 driver/src/main/com/mongodb/OperationExecutor.java
 delete mode 100644 driver/src/main/com/mongodb/OperationIterable.java
 create mode 100644 driver/src/main/com/mongodb/client/ChangeStreamIterable.java
 create mode 100644 driver/src/main/com/mongodb/client/jndi/MongoClientFactory.java
 create mode 100644 driver/src/main/com/mongodb/client/jndi/package-info.java
 create mode 100644 driver/src/main/com/mongodb/client/model/DBCollectionCountOptions.java
 create mode 100644 driver/src/main/com/mongodb/client/model/DBCollectionDistinctOptions.java
 create mode 100644 driver/src/main/com/mongodb/client/model/DBCollectionFindAndModifyOptions.java
 create mode 100644 driver/src/main/com/mongodb/client/model/DBCollectionFindOptions.java
 create mode 100644 driver/src/main/com/mongodb/client/model/DBCollectionRemoveOptions.java
 create mode 100644 driver/src/main/com/mongodb/client/model/DBCollectionUpdateOptions.java
 create mode 100644 driver/src/main/com/mongodb/client/model/DBCreateViewOptions.java
 delete mode 100644 driver/src/main/com/mongodb/client/package-info.java
 delete mode 100644 driver/src/main/com/mongodb/package-info.java
 delete mode 100644 driver/src/main/org/bson/io/package-info.java
 delete mode 100644 driver/src/main/org/bson/package-info.java
 delete mode 100644 driver/src/main/org/bson/types/package-info.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/atomicoperations/FindAndDeleteAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/atomicoperations/FindAndReplaceAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/atomicoperations/FindAndUpdateAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/core/ClientAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/core/CollectionAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/core/DatabaseAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/crud/DeleteAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/crud/InsertAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/crud/ReplaceAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/crud/UpdateAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/crud/pojo/Address.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/crud/pojo/Person.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/crud/pojo/Postcode.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/index/AddIndexAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/index/DropIndexAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/querying/FilterAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/querying/MapReduceAcceptanceTest.java
 delete mode 100644 driver/src/test/acceptance/com/mongodb/acceptancetest/querying/QueryAcceptanceTest.java
 create mode 100644 driver/src/test/functional/com/mongodb/MongoClientSessionSpecification.groovy
 create mode 100644 driver/src/test/functional/com/mongodb/MongoClientsSpecification.groovy
 create mode 100644 driver/src/test/functional/com/mongodb/client/InitialDnsSeedlistDiscoveryTest.java
 create mode 100644 driver/src/test/functional/com/mongodb/client/RetryableWritesTest.java
 create mode 100644 driver/src/test/functional/com/mongodb/client/jndi/MongoClientFactorySpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/ChangeStreamIterableSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/ClientSessionBindingSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/ClientSessionOptionsSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/DBEncoderDecoderDBRefSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/DBObjectCodecProviderSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/DBObjectCollationHelperSpecification.groovy
 delete mode 100644 driver/src/test/unit/com/mongodb/DBRefSpecification.groovy
 delete mode 100644 driver/src/test/unit/com/mongodb/DocumentToDBRefTransformerSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/TestHelper.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/client/model/DBCollectionCountOptionsSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/client/model/DBCollectionDistinctOptionsSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/client/model/DBCollectionFindAndModifyOptionsSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/client/model/DBCollectionFindOptionsSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/client/model/DBCollectionRemoveOptionsSpecification.groovy
 create mode 100644 driver/src/test/unit/com/mongodb/client/model/DBCollectionUpdateOptionsSpecification.groovy
 delete mode 100644 driver/src/test/unit/com/mongodb/operation/DeleteRequestSpecification.groovy
 delete mode 100644 driver/src/test/unit/com/mongodb/operation/InsertRequestSpecification.groovy
 delete mode 100644 driver/src/test/unit/com/mongodb/operation/UpdateRequestSpecification.groovy
 create mode 100644 gradle/TestColorOutput.gradle
 create mode 100644 util/src/main/DochubTaglet.java

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/mongo-java-driver.git



More information about the pkg-java-commits mailing list