You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and `LoggerSettings.Builder.maxDocumentLength() <{+api+}/apidocs/mongodb-driver-core/com/mongodb/LoggerSettings.Builder.html#maxDocumentLength(int)>`__
459
-
methods that let you specify a maximum length for the extended JSON representation of a
460
-
BSON document in a log message.
461
-
462
-
.. _version-4.8:
463
-
464
-
What's New in 4.8
465
-
-----------------
466
-
467
-
.. warning:: Breaking Changes in v4.8
468
-
469
-
The v4.8 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.8>`
470
-
and :ref:`<java-server-release-change-v4.8>` for more information.
471
-
472
-
.. important:: Deprecation Notice
473
-
474
-
The ``MapCodec`` and ``IterableCodec`` classes are deprecated.
475
-
Instead of ``MapCodec``, use ``MapCodecProvider``. Instead of ``IterableCodec``,
476
-
use ``CollectionCodecProvider``, or ``IterableCodecProvider`` for ``Iterable``
477
-
types that aren't ``Collection`` types.
478
-
479
-
Behavioral changes with the 4.8 driver release include:
480
-
481
-
- Requirement that you add an explicit dependency on the ``org.bson.codecs.record``
482
-
module if your application deploys the driver in an OSGi container and
483
-
relies on the driver for encoding and decoding Java records.
484
-
- Logging of new connection messages at the ``DEBUG`` level instead
485
-
of at ``INFO``.
486
-
487
-
New features of the 4.8 driver release include:
488
-
489
-
- Support for authentication with AWS. The driver takes an
490
-
optional dependency on both AWS SDK version 1 and version 2.
491
-
- Support for obtaining credentials from the environment for both GCP
492
-
and Azure for in-use encryption.
493
-
- Support for deserialization of records containing components with
494
-
generic parameters.
495
-
- Support for deserialization of records containing components with more
496
-
specific container types, such as ``SortedSet``, ``NavigableMap``, ``LinkedList``,
497
-
or ``TreeSet``.
498
-
- Support for recursive record types, records whose type
499
-
definitions contain cycles.
500
-
- Inclusion of the ``disambiguatedPaths`` field in change stream update events
501
-
when the ``showExpandedEvents`` server feature is enabled on MongoDB v6.1
502
-
and later. Learn more about this field from the `getDisambiguatedPaths() <https://mongodb.github.io/mongo-java-driver/4.8/apidocs/mongodb-driver-core/com/mongodb/client/model/changestream/UpdateDescription.html#getDisambiguatedPaths()>`__
503
-
API documentation. Learn more about the ``showExpandedEvents`` setting from
504
-
the :manual:`Expanded Events </reference/change-events/#expanded-events>`
505
-
server documentation.
506
-
507
-
.. _version-4.7.1:
508
-
.. _version-4.7:
509
-
510
-
What's New in 4.7.1
511
-
-------------------
512
-
513
-
The 4.7.1 driver patches a bug that affects
514
-
Client-Side Field Level Encryption and Queryable Encryption.
515
-
The bug can cause data corruption when rotating :ref:`Data Encryption Keys <csfle-key-architecture>`
516
-
(DEKs) encrypted with a :ref:`Customer Master Key <csfle-key-architecture>`
517
-
hosted on Google Cloud Key Management Service or Azure
518
-
Key Vault. The bug was present in version 4.7.0 of the driver
519
-
in the ``RewrapManyDataKey`` method and causes the
520
-
loss of your DEKs.
521
-
522
-
.. important:: Back Up your Key Vault Collection
523
-
524
-
Always back up your :ref:`Key Vault Collection <csfle-reference-key-vault>`
525
-
before you rotate your DEKs. If you lose your DEKs, you lose access to all
526
-
the data encrypted with those keys.
527
-
528
-
.. _version-4.7.0:
529
-
530
-
What's New in 4.7
531
-
-----------------
532
-
533
-
.. warning:: Breaking Changes in v4.7
534
-
535
-
The v4.7 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.7>`
536
-
for more information.
537
-
538
-
New features of the 4.7 driver release include:
539
-
540
-
- Added full support for MongoDB 6.0.
541
-
542
-
- Added the following change stream support improvements:
543
-
544
-
- Enhanced pre-image and post-image support for :ref:`change streams <java-usage-watch>`.
545
-
Change stream watch helpers now accept ``whenAvailable`` and ``required``
546
-
for the ``fullDocument`` option. See the :manual:`change stream </changeStreams/#change-streams-with-document-pre--and-post-images>`
547
-
reference documentation for more information.
548
-
- Added a new ``fullDocumentBeforeChange`` option, which accepts
549
-
``whenAvailable`` and ``required``.
550
-
- Change events now include a ``fullDocumentBeforeChange`` field
551
-
when configured for display on your MongoDB collection.
552
-
- Added ``showExpandedEvents`` support for change streams.
553
-
- Added ``wallTime`` support to the ``ChangeStreamDocument`` class.
554
-
555
-
- Added :ref:`clustered index <java-clustered-indexes>` creation support.
556
-
- Support for new features related to :ref:`qe-manual-feature-qe`,
557
-
including support for automatic encryption (MongoDB v6.0 Enterprise or later
558
-
is required) and manual encryption.
559
-
560
-
- Support for the new Queryable Encryption shared library, which removes the need
561
-
for the ``mongocryptd`` process. The queryable encryption shared library requires
and the `ClientEncryptionSettings.Builder.kmsProviderPropertySuppliers() <https://mongodb.github.io/mongo-java-driver/4.6/apidocs/mongodb-driver-core/com/mongodb/ClientEncryptionSettings.html#getKmsProviderPropertySuppliers()>`__
600
-
API documentation for more information.
601
-
- Added compatibility to ``org.mongodb:mongodb-crypt``, a dependency for
602
-
CSFLE, for Apple M1 ARM-based hardware.
603
-
- Added a service provider interface (SPI) to allow the driver to specify
604
-
a custom DNS client. See the `DnsClient <https://mongodb.github.io/mongo-java-driver/4.6/apidocs/mongodb-driver-core/com/mongodb/spi/dns/DnsClient.html>`__
605
-
and the `DnsClientProvider <https://mongodb.github.io/mongo-java-driver/4.6/apidocs/mongodb-driver-core/com/mongodb/spi/dns/DnsClientProvider.html>`__
606
-
interface API documentation for more information.
607
-
- Added driver support for encoding and decoding between `Java records <https://docs.oracle.com/en/java/javase/17/language/records.html>`__
608
-
and BSON documents, which is enabled by default. See :ref:`<fundamentals-records>`
609
-
for more information.
610
-
611
-
.. _version-4.5:
612
-
.. _version-4.5.1:
613
-
614
-
What's New in 4.5.1
615
-
-------------------
616
-
617
-
If the DNS server returns an NXDomain error,
618
-
indicating a non-existent domain, the 4.5.1
619
-
driver no longer throws an exception.
620
-
621
-
.. _version-4.5.0:
622
-
623
-
What's New in 4.5
624
-
-----------------
625
-
626
-
New features of the 4.5 Java driver release include:
627
-
628
-
- Added support for specifying custom service names of SRV resource
629
-
records. See the ``srvServiceName`` setting in the :ref:`Connection
630
-
Options <connection-options>` guide for more information.
631
-
- Added support to customize UUID representation in a codec registry using
632
-
the ``CodecRegistries.withUuidRepresentation()`` method.
633
-
- Added support for overriding listener settings in ``ClusterSettings``,
634
-
``ServerSettings`` and ``ConnectionPoolSettings`` builders.
635
-
- All events received by ``ClusterListener``, ``ServerListener``, and
636
-
``ServerMonitorListener`` are now totally ordered using
637
-
a happens-before relationship when the listeners are not shared by
638
-
different MongoClient instances. To learn more about the happens-before
639
-
ordering, see `Happens-before Order <https://docs.oracle.com/javase/specs/jls/se17/html/jls-17.html#jls-17.4.5>`__
640
-
in the Java Language Specification.
641
-
- Added ``EnumCodec`` and ``EnumCodecProvider`` classes to separate codec
642
-
support for ``enum`` types from the ``PojoCodec`` class. The default
643
-
codec registries, which you can access from the ``MongoClientSettings`` and the ``Bson``
644
-
interfaces, now include the ``enum`` codec classes. If your application uses
645
-
a custom enumeration codec and one of the default registries, ensure
646
-
you order them as described in the section on :ref:`overriding codecs <codecs-override>`.
647
-
- Resolved performance issues that impacted versions 4.4 and 4.3 of the
648
-
driver. Performance in this version is similar to performance in 4.2.
649
-
- Resolved an issue in which errors originating from retrieving the cluster
650
-
description weren't passed to the ``onError`` Subscriber callback
651
-
- Resolved an issue with releasing ``ByteBuf`` instances when you connect
652
-
with compression enabled.
653
-
- Removed an unnecessary dependency on the ``javax.annotation.*`` packages
654
-
from the ``org.mongodb.driver-core`` OSGi bundle.
655
-
656
-
.. _version-4.4:
657
-
658
-
What's New in 4.4
659
-
-----------------
660
-
661
-
New features of the 4.4 Java driver release include:
662
-
663
-
- Compatibility with MongoDB 5.1 and support for Java 17
664
-
- Added support for index hints in an ``AggregateIterable``
665
-
- Added support for the ``$merge`` and ``$out`` aggregation stages on secondaries
666
-
- Use of the ``mergeObjects()`` method in the ``Updates`` builder
667
-
- ``DocumentCodec`` does not ignore a :ref:`CodecRegistry <codecs-codecregistry>` when writing to an ``Iterable`` or a ``Map`` instance
668
-
669
-
.. _version-4.3:
670
-
671
-
What's New in 4.3
672
-
-----------------
673
-
674
-
New features of the 4.3 Java driver release include:
675
-
676
-
- Added support for the MongoDB {+stable-api+}. For more information, see our
677
-
:ref:`{+stable-api+} guide <stable-api-java>`.
678
-
679
-
.. note::
680
-
681
-
Starting from February 2022, the **Versioned API** is known the
682
-
**{+stable-api+}**. All concepts and features remain the same with this
For more information about setup, see our documentation on how to
688
-
:atlas:`Create a New Serverless Instance </tutorial/create-new-serverless-instance/?jmp=docs_driver_java>`
689
-
- Added a builder API for the ``setWindowFields`` pipeline stage to allow the use of window operators
690
-
- Added support for setting Netty `io.netty.handler.ssl.SslContext <https://netty.io/4.1/api/io/netty/handler/ssl/SslContext.html>`__
691
-
- Added support for snapshot reads to ``ClientSession``
692
-
- Limited the rate of establishing new connections per connection pool
693
-
- Removed most restrictions on allowed characters in the field names of documents you insert or replace. This is a behavioral change for any application that is relying on client-side enforcement of these restrictions.
694
-
695
-
The following table shows the restriction status on allowed characters
696
-
in the field names of documents:
697
-
698
-
.. list-table::
699
-
:header-rows: 1
700
-
:stub-columns: 1
701
-
:widths: 15 25 60
702
-
703
-
* - Character
704
-
- Operation
705
-
- Description
706
-
707
-
* - **.**
708
-
- Insert and Replace
709
-
- Removed restrictions on field names containing this character.
710
-
711
-
* - **$**
712
-
- Insert
713
-
- Removed restrictions on field names starting with this character.
714
-
715
-
* - **$**
716
-
- Replace
717
-
- Removed restrictions in nested documents on field names containing this character.
718
-
719
-
* - **$**
720
-
- Replace
721
-
- Kept restrictions in top-level documents on field names starting with this character. This prevents accidental use of a replace operation when the intention was to use an update operation.
722
-
723
-
.. note::
724
-
725
-
Unacknowledged writes using dollar-prefixed or dotted keys might
726
-
be silently rejected by pre-5.0 servers, where some restrictions on
727
-
field names are still enforced in the server.
728
-
729
-
.. _version-4.2:
730
-
731
-
What's New in 4.2
732
-
-----------------
733
-
734
-
.. warning:: Breaking Changes in v4.2
735
-
736
-
The v4.2 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.2>`
737
-
for more information.
738
-
739
-
New features of the 4.2 Java driver release include:
740
-
741
-
- Added Azure and GCP key stores to client-side field level encryption
742
-
- Added Kerberos caching tickets for reuse in multiple authentication requests
743
-
- Added `MongoClients <https://mongodb.github.io/mongo-java-driver/4.2/apidocs/mongodb-driver-sync/com/mongodb/client/MongoClients.html>`_ instances with ``MongoClientSettings`` or ``ConnectionString`` as the configuration
744
-
- Use of the ``explain()`` method on `find <https://mongodb.github.io/mongo-java-driver/4.2/apidocs/mongodb-driver-sync/com/mongodb/client/FindIterable.html#explain()>`_ and `aggregate <https://mongodb.github.io/mongo-java-driver/4.2/apidocs/mongodb-driver-sync/com/mongodb/client/AggregateIterable.html#explain()>`_ commands
745
-
- Added a `JsonObject <https://mongodb.github.io/mongo-java-driver/4.2/apidocs/bson/org/bson/json/JsonObject.html>`_ class to make encoding from and decoding to JSON more efficient by avoiding an intermediate Map representation
746
-
- Added a `BsonRepresentation <https://mongodb.github.io/mongo-java-driver/4.2/apidocs/bson/org/bson/codecs/pojo/annotations/BsonRepresentation.html>`_ annotation that allows you to represent the ``ObjectId`` BSON values as a ``String`` in `POJO <https://en.wikipedia.org/wiki/Plain_old_Java_object>`_ classes
747
-
- Added a `Filters.empty() <https://mongodb.github.io/mongo-java-driver/4.2/apidocs/mongodb-driver-core/com/mongodb/client/model/Filters.html#empty()>`_ method
748
-
749
-
.. _version-4.1:
750
-
751
-
What's New in 4.1
752
-
-----------------
753
-
754
-
New features of the 4.1 Java driver release include:
755
-
756
-
- Significant reduction in client-perceived failover times during planned maintenance events
757
-
- The `update() <https://mongodb.github.io/mongo-java-driver/4.1/apidocs/mongodb-driver-core/com/mongodb/client/model/UpdateOptions.html#hint(org.bson.conversions.Bson)>`_ and `delete() <https://mongodb.github.io/mongo-java-driver/4.1/apidocs/mongodb-driver-core/com/mongodb/client/model/DeleteOptions.html#hint(org.bson.conversions.Bson)>`_ methods now support index hints
758
-
- The ``find()`` method supports `allowDiskUse() <https://mongodb.github.io/mongo-java-driver/4.1/apidocs/mongodb-driver-sync/com/mongodb/client/FindIterable.html#allowDiskUse(java.lang.Boolean)>`_ for sorts that require too much memory to execute in RAM
759
-
- Added support for the MONGODB-AWS authentication mechanism using Amazon Web Services (AWS) Identity and Access Management (IAM) credentials
760
-
- Authentication requires fewer round trips to the server, resulting in faster connection setup
761
-
762
-
.. _version-4.0:
763
-
764
-
What's New in 4.0
765
-
-----------------
766
-
767
-
.. warning:: Breaking Changes in v4.0
768
-
769
-
The v4.0 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.0>`
0 commit comments