Skip to content

Commit bcde2e5

Browse files
authored
(DOCSP-44283) Removed EOL'd v4.9 (#580) (#582)
1 parent 4868ce6 commit bcde2e5

File tree

1 file changed

+1
-351
lines changed

1 file changed

+1
-351
lines changed

source/whats-new.txt

Lines changed: 1 addition & 351 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,6 @@ Learn what's new in:
2626
* :ref:`Version 5.0 <version-5.0>`
2727
* :ref:`Version 4.11 <version-4.11>`
2828
* :ref:`Version 4.10 <version-4.10>`
29-
* :ref:`Version 4.9 <version-4.9>`
30-
* :ref:`Version 4.8 <version-4.8>`
31-
* :ref:`Version 4.7.1 <version-4.7.1>`
32-
* :ref:`Version 4.7.0 <version-4.7.0>`
33-
* :ref:`Version 4.6 <version-4.6>`
34-
* :ref:`Version 4.5.1 <version-4.5.1>`
35-
* :ref:`Version 4.5 <version-4.5>`
36-
* :ref:`Version 4.4 <version-4.4>`
37-
* :ref:`Version 4.3 <version-4.3>`
38-
* :ref:`Version 4.2 <version-4.2>`
39-
* :ref:`Version 4.1 <version-4.1>`
40-
* :ref:`Version 4.0 <version-4.0>`
4129

4230
.. _java-version-5.1.3:
4331

@@ -397,342 +385,4 @@ New features of the 4.10 driver release include:
397385
- Support for :ref:`qe-manual-feature-qe` (QE). To learn
398386
more about the requirements for using the QE feature, see the
399387
:ref:`Queryable Encryption Driver Compatibility Table
400-
<qe-compatibility-reference>`.
401-
402-
.. _version-4.9:
403-
404-
What's New in 4.9
405-
-----------------
406-
407-
.. important:: Aggregation Expression Operations Are in Beta
408-
409-
This driver version introduces an API for creating
410-
:ref:`aggregation expressions <java-aggregation-expression-operations>`.
411-
This feature is in beta phase.
412-
413-
New features of the 4.9 driver release include:
414-
415-
- Added a new exception to identify when a constructor annotated by
416-
``BsonCreator`` contains parameters with annotations other than
417-
``BsonProperty`` or ``BsonId``.
418-
- Changed the log message format for command monitoring messages reported
419-
by the ``org.mongodb.driver.protocol.command`` package.
420-
- Added support for the ``$documents`` aggregation pipeline stage to the
421-
`Aggregates <{+api+}/apidocs/mongodb-driver-core/com/mongodb/client/model/Aggregates#documents(java.util.List)>`__
422-
helper class.
423-
- Added `MongoClientSettings.Builder.applyToLoggerSettings() <{+api+}/apidocs/mongodb-driver-core/com/mongodb/MongoClientSettings.Builder.html#applyToLoggerSettings(com.mongodb.Block)>`__
424-
and `LoggerSettings.Builder.maxDocumentLength() <{+api+}/apidocs/mongodb-driver-core/com/mongodb/LoggerSettings.Builder.html#maxDocumentLength(int)>`__
425-
methods that let you specify a maximum length for the extended JSON representation of a
426-
BSON document in a log message.
427-
428-
.. _version-4.8:
429-
430-
What's New in 4.8
431-
-----------------
432-
433-
.. warning:: Breaking Changes in v4.8
434-
435-
The v4.8 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.8>`
436-
and :ref:`<java-server-release-change-v4.8>` for more information.
437-
438-
.. important:: Deprecation Notice
439-
440-
The ``MapCodec`` and ``IterableCodec`` classes are deprecated.
441-
Instead of ``MapCodec``, use ``MapCodecProvider``. Instead of ``IterableCodec``,
442-
use ``CollectionCodecProvider``, or ``IterableCodecProvider`` for ``Iterable``
443-
types that aren't ``Collection`` types.
444-
445-
Behavioral changes with the 4.8 driver release include:
446-
447-
- Requirement that you add an explicit dependency on the ``org.bson.codecs.record``
448-
module if your application deploys the driver in an OSGi container and
449-
relies on the driver for encoding and decoding Java records.
450-
- Logging of new connection messages at the ``DEBUG`` level instead
451-
of at ``INFO``.
452-
453-
New features of the 4.8 driver release include:
454-
455-
- Support for authentication with AWS. The driver takes an
456-
optional dependency on both AWS SDK version 1 and version 2.
457-
- Support for obtaining credentials from the environment for both GCP
458-
and Azure for in-use encryption.
459-
- Support for deserialization of records containing components with
460-
generic parameters.
461-
- Support for deserialization of records containing components with more
462-
specific container types, such as ``SortedSet``, ``NavigableMap``, ``LinkedList``,
463-
or ``TreeSet``.
464-
- Support for recursive record types, records whose type
465-
definitions contain cycles.
466-
- Inclusion of the ``disambiguatedPaths`` field in change stream update events
467-
when the ``showExpandedEvents`` server feature is enabled on MongoDB v6.1
468-
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()>`__
469-
API documentation. Learn more about the ``showExpandedEvents`` setting from
470-
the :manual:`Expanded Events </reference/change-events/#expanded-events>`
471-
server documentation.
472-
473-
.. _version-4.7.1:
474-
.. _version-4.7:
475-
476-
What's New in 4.7.1
477-
-------------------
478-
479-
The 4.7.1 driver patches a bug that affects
480-
Client-Side Field Level Encryption and Queryable Encryption.
481-
The bug can cause data corruption when rotating :ref:`Data Encryption Keys <csfle-key-architecture>`
482-
(DEKs) encrypted with a :ref:`Customer Master Key <csfle-key-architecture>`
483-
hosted on Google Cloud Key Management Service or Azure
484-
Key Vault. The bug was present in version 4.7.0 of the driver
485-
in the ``RewrapManyDataKey`` method and causes the
486-
loss of your DEKs.
487-
488-
.. important:: Back Up your Key Vault Collection
489-
490-
Always back up your :ref:`Key Vault Collection <csfle-reference-key-vault>`
491-
before you rotate your DEKs. If you lose your DEKs, you lose access to all
492-
the data encrypted with those keys.
493-
494-
.. _version-4.7.0:
495-
496-
What's New in 4.7
497-
-----------------
498-
499-
.. warning:: Breaking Changes in v4.7
500-
501-
The v4.7 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.7>`
502-
for more information.
503-
504-
New features of the 4.7 driver release include:
505-
506-
- Added full support for MongoDB 6.0.
507-
508-
- Added the following change stream support improvements:
509-
510-
- Enhanced pre-image and post-image support for :ref:`change streams <java-usage-watch>`.
511-
Change stream watch helpers now accept ``whenAvailable`` and ``required``
512-
for the ``fullDocument`` option. See the :manual:`change stream </changeStreams/#change-streams-with-document-pre--and-post-images>`
513-
reference documentation for more information.
514-
- Added a new ``fullDocumentBeforeChange`` option, which accepts
515-
``whenAvailable`` and ``required``.
516-
- Change events now include a ``fullDocumentBeforeChange`` field
517-
when configured for display on your MongoDB collection.
518-
- Added ``showExpandedEvents`` support for change streams.
519-
- Added ``wallTime`` support to the ``ChangeStreamDocument`` class.
520-
521-
- Added :ref:`clustered index <java-clustered-indexes>` creation support.
522-
- Support for new features related to :ref:`qe-manual-feature-qe`,
523-
including support for automatic encryption (MongoDB v6.0 Enterprise or later
524-
is required) and manual encryption.
525-
526-
- Support for the new Queryable Encryption shared library, which removes the need
527-
for the ``mongocryptd`` process. The queryable encryption shared library requires
528-
`org.mongodb:mongodb-crypt <https://mvnrepository.com/artifact/org.mongodb/mongodb-crypt>`__
529-
version ``1.5.1.1`` or later.
530-
531-
- Added a new API for encryption key management.
532-
533-
- Added builder API methods for more aggregation stages
534-
including :pipeline:`$search`/:pipeline:`$searchMeta` (Atlas only),
535-
:pipeline:`$densify`, and :pipeline:`$fill`. Learn more about these
536-
methods on the :ref:`Aggregates Builder <aggregates-builders>` page.
537-
538-
- Added the ``BsonExtraElements`` annotation that can be used with POJO encoding
539-
and decoding. ``BsonExtraElements`` enables decoding objects that might receive
540-
new fields in the future without requiring developers to explicitly map
541-
those new fields.
542-
543-
- Performance optimizations including:
544-
545-
- Lock-free implementations of the server session pool and the buffer pool.
546-
- A new cleanup implementation of ``DBCursor`` that uses Java's
547-
Cleaner API instead of finalization, available in Java 9 or later.
548-
549-
- The :ref:`setWindowFields <builders-aggregates-setWindowFields>` builder API
550-
is no longer a beta feature. Changes in the API break both binary and source
551-
compatibility. See :ref:`<java-breaking-changes-v4.7>` for more information.
552-
553-
.. _version-4.6:
554-
555-
What's New in 4.6
556-
-----------------
557-
558-
New features of the 4.6 Java driver release include:
559-
560-
- The buffer pool is now shared across all ``MongoClient`` instances. The
561-
buffer pool prunes buffers that have been idle for one minute.
562-
- Added an API to specify suppliers for AWS KMS credentials for
563-
Client-Side Field Level Encryption (CSFLE). See the
564-
`AutoEncryptionSettings.Builder.kmsProviderPropertySuppliers() <https://mongodb.github.io/mongo-java-driver/4.6/apidocs/mongodb-driver-core/com/mongodb/AutoEncryptionSettings.Builder.html#kmsProviderPropertySuppliers(java.util.Map)>`__
565-
and the `ClientEncryptionSettings.Builder.kmsProviderPropertySuppliers() <https://mongodb.github.io/mongo-java-driver/4.6/apidocs/mongodb-driver-core/com/mongodb/ClientEncryptionSettings.html#getKmsProviderPropertySuppliers()>`__
566-
API documentation for more information.
567-
- Added compatibility to ``org.mongodb:mongodb-crypt``, a dependency for
568-
CSFLE, for Apple M1 ARM-based hardware.
569-
- Added a service provider interface (SPI) to allow the driver to specify
570-
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>`__
571-
and the `DnsClientProvider <https://mongodb.github.io/mongo-java-driver/4.6/apidocs/mongodb-driver-core/com/mongodb/spi/dns/DnsClientProvider.html>`__
572-
interface API documentation for more information.
573-
- Added driver support for encoding and decoding between `Java records <https://docs.oracle.com/en/java/javase/17/language/records.html>`__
574-
and BSON documents, which is enabled by default. See :ref:`<fundamentals-records>`
575-
for more information.
576-
577-
.. _version-4.5:
578-
.. _version-4.5.1:
579-
580-
What's New in 4.5.1
581-
-------------------
582-
583-
If the DNS server returns an NXDomain error,
584-
indicating a non-existent domain, the 4.5.1
585-
driver no longer throws an exception.
586-
587-
.. _version-4.5.0:
588-
589-
What's New in 4.5
590-
-----------------
591-
592-
New features of the 4.5 Java driver release include:
593-
594-
- Added support for specifying custom service names of SRV resource
595-
records. See the ``srvServiceName`` setting in the :ref:`Connection
596-
Options <connection-options>` guide for more information.
597-
- Added support to customize UUID representation in a codec registry using
598-
the ``CodecRegistries.withUuidRepresentation()`` method.
599-
- Added support for overriding listener settings in ``ClusterSettings``,
600-
``ServerSettings`` and ``ConnectionPoolSettings`` builders.
601-
- All events received by ``ClusterListener``, ``ServerListener``, and
602-
``ServerMonitorListener`` are now totally ordered using
603-
a happens-before relationship when the listeners are not shared by
604-
different MongoClient instances. To learn more about the happens-before
605-
ordering, see `Happens-before Order <https://docs.oracle.com/javase/specs/jls/se17/html/jls-17.html#jls-17.4.5>`__
606-
in the Java Language Specification.
607-
- Added ``EnumCodec`` and ``EnumCodecProvider`` classes to separate codec
608-
support for ``enum`` types from the ``PojoCodec`` class. The default
609-
codec registries, which you can access from the ``MongoClientSettings`` and the ``Bson``
610-
interfaces, now include the ``enum`` codec classes. If your application uses
611-
a custom enumeration codec and one of the default registries, ensure
612-
you order them as described in the section on :ref:`overriding codecs <codecs-override>`.
613-
- Resolved performance issues that impacted versions 4.4 and 4.3 of the
614-
driver. Performance in this version is similar to performance in 4.2.
615-
- Resolved an issue in which errors originating from retrieving the cluster
616-
description weren't passed to the ``onError`` Subscriber callback
617-
- Resolved an issue with releasing ``ByteBuf`` instances when you connect
618-
with compression enabled.
619-
- Removed an unnecessary dependency on the ``javax.annotation.*`` packages
620-
from the ``org.mongodb.driver-core`` OSGi bundle.
621-
622-
.. _version-4.4:
623-
624-
What's New in 4.4
625-
-----------------
626-
627-
New features of the 4.4 Java driver release include:
628-
629-
- Compatibility with MongoDB 5.1 and support for Java 17
630-
- Added support for index hints in an ``AggregateIterable``
631-
- Added support for the ``$merge`` and ``$out`` aggregation stages on secondaries
632-
- Use of the ``mergeObjects()`` method in the ``Updates`` builder
633-
- ``DocumentCodec`` does not ignore a :ref:`CodecRegistry <codecs-codecregistry>` when writing to an ``Iterable`` or a ``Map`` instance
634-
635-
.. _version-4.3:
636-
637-
What's New in 4.3
638-
-----------------
639-
640-
New features of the 4.3 Java driver release include:
641-
642-
- Added support for the MongoDB {+stable-api+}. For more information, see our
643-
:ref:`{+stable-api+} guide <stable-api-java>`.
644-
645-
.. note::
646-
647-
Starting from February 2022, the **Versioned API** is known the
648-
**{+stable-api+}**. All concepts and features remain the same with this
649-
naming change.
650-
651-
- Added support for connection to
652-
`MongoDB Atlas Serverless Instances <https://www.mongodb.com/use-cases/serverless>`__.
653-
For more information about setup, see our documentation on how to
654-
:atlas:`Create a New Serverless Instance </tutorial/create-new-serverless-instance/?jmp=docs_driver_java>`
655-
- Added a builder API for the ``setWindowFields`` pipeline stage to allow the use of window operators
656-
- Added support for setting Netty `io.netty.handler.ssl.SslContext <https://netty.io/4.1/api/io/netty/handler/ssl/SslContext.html>`__
657-
- Added support for snapshot reads to ``ClientSession``
658-
- Limited the rate of establishing new connections per connection pool
659-
- 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.
660-
661-
The following table shows the restriction status on allowed characters
662-
in the field names of documents:
663-
664-
.. list-table::
665-
:header-rows: 1
666-
:stub-columns: 1
667-
:widths: 15 25 60
668-
669-
* - Character
670-
- Operation
671-
- Description
672-
673-
* - **.**
674-
- Insert and Replace
675-
- Removed restrictions on field names containing this character.
676-
677-
* - **$**
678-
- Insert
679-
- Removed restrictions on field names starting with this character.
680-
681-
* - **$**
682-
- Replace
683-
- Removed restrictions in nested documents on field names containing this character.
684-
685-
* - **$**
686-
- Replace
687-
- 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.
688-
689-
.. note::
690-
691-
Unacknowledged writes using dollar-prefixed or dotted keys might
692-
be silently rejected by pre-5.0 servers, where some restrictions on
693-
field names are still enforced in the server.
694-
695-
.. _version-4.2:
696-
697-
What's New in 4.2
698-
-----------------
699-
700-
.. warning:: Breaking Changes in v4.2
701-
702-
The v4.2 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.2>`
703-
for more information.
704-
705-
New features of the 4.2 Java driver release include:
706-
707-
- Added Azure and GCP key stores to client-side field level encryption
708-
- Added Kerberos caching tickets for reuse in multiple authentication requests
709-
- 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
710-
- 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
711-
- 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
712-
- 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
713-
- 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
714-
715-
.. _version-4.1:
716-
717-
What's New in 4.1
718-
-----------------
719-
720-
New features of the 4.1 Java driver release include:
721-
722-
- Significant reduction in client-perceived failover times during planned maintenance events
723-
- 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
724-
- 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
725-
- Added support for the MONGODB-AWS authentication mechanism using Amazon Web Services (AWS) Identity and Access Management (IAM) credentials
726-
- Authentication requires fewer round trips to the server, resulting in faster connection setup
727-
728-
.. _version-4.0:
729-
730-
What's New in 4.0
731-
-----------------
732-
733-
.. warning:: Breaking Changes in v4.0
734-
735-
The v4.0 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.0>`
736-
for more information.
737-
738-
This release adds no new features.
388+
<qe-compatibility-reference>`.

0 commit comments

Comments
 (0)