[mongo-java-driver] 01/03: Update upstream source from tag 'upstream/3.6.0'

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 commit to branch master
in repository mongo-java-driver.

commit ccadf2880dc58b6533198474ce6ab240c9f7a5a0
Merge: e5112ac 404c0fa
Author: Christopher Hoskin <christopher.hoskin at gmail.com>
Date:   Thu Dec 7 04:20:15 2017 +0000

    Update upstream source from tag 'upstream/3.6.0'
    
    Update to upstream version '3.6.0'
    with Debian dir c69ec3a27eb0d40c9b73c2bace7061e8c2696a8a

 .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 +-
 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 +
 1508 files changed, 112694 insertions(+), 32898 deletions(-)

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