Skip to content

Commit 13c0c79

Browse files
elyse-mdbyour proper name
authored andcommitted
(DOCSP-44283) Removed EOL'd v4.9 (#580)
Co-authored-by: Elyse Foreman <[email protected]>
1 parent 347af19 commit 13c0c79

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
@@ -14,18 +14,6 @@ Learn what's new in:
1414

1515
* :ref:`Version 4.11 <version-4.11>`
1616
* :ref:`Version 4.10 <version-4.10>`
17-
* :ref:`Version 4.9 <version-4.9>`
18-
* :ref:`Version 4.8 <version-4.8>`
19-
* :ref:`Version 4.7.1 <version-4.7.1>`
20-
* :ref:`Version 4.7.0 <version-4.7.0>`
21-
* :ref:`Version 4.6 <version-4.6>`
22-
* :ref:`Version 4.5.1 <version-4.5.1>`
23-
* :ref:`Version 4.5 <version-4.5>`
24-
* :ref:`Version 4.4 <version-4.4>`
25-
* :ref:`Version 4.3 <version-4.3>`
26-
* :ref:`Version 4.2 <version-4.2>`
27-
* :ref:`Version 4.1 <version-4.1>`
28-
* :ref:`Version 4.0 <version-4.0>`
2917

3018
.. _upcoming-breaking-changes:
3119

@@ -223,342 +211,4 @@ New features of the 4.10 driver release include:
223211
- Support for :ref:`qe-manual-feature-qe` (QE). To learn
224212
more about the requirements for using the QE feature, see the
225213
:ref:`Queryable Encryption Driver Compatibility Table
226-
<qe-compatibility-reference>`.
227-
228-
.. _version-4.9:
229-
230-
What's New in 4.9
231-
-----------------
232-
233-
.. important:: Aggregation Expression Operations Are in Beta
234-
235-
This driver version introduces an API for creating
236-
:ref:`aggregation expressions <java-aggregation-expression-operations>`.
237-
This feature is in beta phase.
238-
239-
New features of the 4.9 driver release include:
240-
241-
- Added a new exception to identify when a constructor annotated by
242-
``BsonCreator`` contains parameters with annotations other than
243-
``BsonProperty`` or ``BsonId``.
244-
- Changed the log message format for command monitoring messages reported
245-
by the ``org.mongodb.driver.protocol.command`` package.
246-
- Added support for the ``$documents`` aggregation pipeline stage to the
247-
`Aggregates <{+api+}/apidocs/mongodb-driver-core/com/mongodb/client/model/Aggregates#documents(java.util.List)>`__
248-
helper class.
249-
- Added `MongoClientSettings.Builder.applyToLoggerSettings() <{+api+}/apidocs/mongodb-driver-core/com/mongodb/MongoClientSettings.Builder.html#applyToLoggerSettings(com.mongodb.Block)>`__
250-
and `LoggerSettings.Builder.maxDocumentLength() <{+api+}/apidocs/mongodb-driver-core/com/mongodb/LoggerSettings.Builder.html#maxDocumentLength(int)>`__
251-
methods that let you specify a maximum length for the extended JSON representation of a
252-
BSON document in a log message.
253-
254-
.. _version-4.8:
255-
256-
What's New in 4.8
257-
-----------------
258-
259-
.. warning:: Breaking Changes in v4.8
260-
261-
The v4.8 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.8>`
262-
and :ref:`<java-server-release-change-v4.8>` for more information.
263-
264-
.. important:: Deprecation Notice
265-
266-
The ``IterableCodec`` and ``MapCodec`` classes are deprecated. Instead,
267-
use ``CollectionCodec`` and ``MapCodecV2``.
268-
These support any class that implements ``Collection`` or
269-
``Map``.
270-
271-
Behavioral changes with the 4.8 driver release include:
272-
273-
- Requirement that you add an explicit dependency on the ``org.bson.codecs.record``
274-
module if your application deploys the driver in an OSGi container and
275-
relies on the driver for encoding and decoding Java records.
276-
- Logging of new connection messages at the ``DEBUG`` level instead
277-
of at ``INFO``.
278-
279-
New features of the 4.8 driver release include:
280-
281-
- Support for authentication with AWS. The driver takes an
282-
optional dependency on both AWS SDK version 1 and version 2.
283-
- Support for obtaining credentials from the environment for both GCP
284-
and Azure for in-use encryption.
285-
- Support for deserialization of records containing components with
286-
generic parameters.
287-
- Support for deserialization of records containing components with more
288-
specific container types, such as ``SortedSet``, ``NavigableMap``, ``LinkedList``,
289-
or ``TreeSet``.
290-
- Support for recursive record types, records whose type
291-
definitions contain cycles.
292-
- Inclusion of the ``disambiguatedPaths`` field in change stream update events
293-
when the ``showExpandedEvents`` server feature is enabled on MongoDB v6.1
294-
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()>`__
295-
API documentation. Learn more about the ``showExpandedEvents`` setting from
296-
the :manual:`Expanded Events </reference/change-events/#expanded-events>`
297-
server documentation.
298-
299-
.. _version-4.7.1:
300-
.. _version-4.7:
301-
302-
What's New in 4.7.1
303-
-------------------
304-
305-
The 4.7.1 driver patches a bug that affects
306-
Client-Side Field Level Encryption and Queryable Encryption.
307-
The bug can cause data corruption when rotating :ref:`Data Encryption Keys <csfle-key-architecture>`
308-
(DEKs) encrypted with a :ref:`Customer Master Key <csfle-key-architecture>`
309-
hosted on Google Cloud Key Management Service or Azure
310-
Key Vault. The bug was present in version 4.7.0 of the driver
311-
in the ``RewrapManyDataKey`` method and causes the
312-
loss of your DEKs.
313-
314-
.. important:: Back Up your Key Vault Collection
315-
316-
Always back up your :ref:`Key Vault Collection <csfle-reference-key-vault>`
317-
before you rotate your DEKs. If you lose your DEKs, you lose access to all
318-
the data encrypted with those keys.
319-
320-
.. _version-4.7.0:
321-
322-
What's New in 4.7
323-
-----------------
324-
325-
.. warning:: Breaking Changes in v4.7
326-
327-
The v4.7 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.7>`
328-
for more information.
329-
330-
New features of the 4.7 driver release include:
331-
332-
- Added full support for MongoDB 6.0.
333-
334-
- Added the following change stream support improvements:
335-
336-
- Enhanced pre-image and post-image support for :ref:`change streams <java-usage-watch>`.
337-
Change stream watch helpers now accept ``whenAvailable`` and ``required``
338-
for the ``fullDocument`` option. See the :manual:`change stream </changeStreams/#change-streams-with-document-pre--and-post-images>`
339-
reference documentation for more information.
340-
- Added a new ``fullDocumentBeforeChange`` option, which accepts
341-
``whenAvailable`` and ``required``.
342-
- Change events now include a ``fullDocumentBeforeChange`` field
343-
when configured for display on your MongoDB collection.
344-
- Added ``showExpandedEvents`` support for change streams.
345-
- Added ``wallTime`` support to the ``ChangeStreamDocument`` class.
346-
347-
- Added :ref:`clustered index <java-clustered-indexes>` creation support.
348-
- Support for new features related to :ref:`qe-manual-feature-qe`,
349-
including support for automatic encryption (MongoDB v6.0 Enterprise or later
350-
is required) and manual encryption.
351-
352-
- Support for the new Queryable Encryption shared library, which removes the need
353-
for the ``mongocryptd`` process. The queryable encryption shared library requires
354-
`org.mongodb:mongodb-crypt <https://mvnrepository.com/artifact/org.mongodb/mongodb-crypt>`__
355-
version ``1.5.1.1`` or later.
356-
357-
- Added a new API for encryption key management.
358-
359-
- Added builder API methods for more aggregation stages
360-
including :pipeline:`$search`/:pipeline:`$searchMeta` (Atlas only),
361-
:pipeline:`$densify`, and :pipeline:`$fill`. Learn more about these
362-
methods on the :ref:`Aggregates Builder <aggregates-builders>` page.
363-
364-
- Added the ``BsonExtraElements`` annotation that can be used with POJO encoding
365-
and decoding. ``BsonExtraElements`` enables decoding objects that may receive
366-
new fields in the future without requiring developers to explicitly map
367-
those new fields.
368-
369-
- Performance optimizations including:
370-
371-
- Lock-free implementations of the server session pool and the buffer pool.
372-
- A new cleanup implementation of ``DBCursor`` that uses Java's
373-
Cleaner API instead of finalization, available in Java 9 or later.
374-
375-
- The :ref:`setWindowFields <builders-aggregates-setWindowFields>` builder API
376-
is no longer a beta feature. Changes in the API break both binary and source
377-
compatibility. See :ref:`<java-breaking-changes-v4.7>` for more information.
378-
379-
.. _version-4.6:
380-
381-
What's New in 4.6
382-
-----------------
383-
384-
New features of the 4.6 Java driver release include:
385-
386-
- The buffer pool is now shared across all ``MongoClient`` instances. The
387-
buffer pool prunes buffers that have been idle for one minute.
388-
- Added an API to specify suppliers for AWS KMS credentials for
389-
Client-Side Field Level Encryption (CSFLE). See the
390-
`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)>`__
391-
and the `ClientEncryptionSettings.Builder.kmsProviderPropertySuppliers() <https://mongodb.github.io/mongo-java-driver/4.6/apidocs/mongodb-driver-core/com/mongodb/ClientEncryptionSettings.html#getKmsProviderPropertySuppliers()>`__
392-
API documentation for more information.
393-
- Added compatibility to ``org.mongodb:mongodb-crypt``, a dependency for
394-
CSFLE, for Apple M1 ARM-based hardware.
395-
- Added a service provider interface (SPI) to allow the driver to specify
396-
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>`__
397-
and the `DnsClientProvider <https://mongodb.github.io/mongo-java-driver/4.6/apidocs/mongodb-driver-core/com/mongodb/spi/dns/DnsClientProvider.html>`__
398-
interface API documentation for more information.
399-
- Added driver support for encoding and decoding between `Java records <https://docs.oracle.com/en/java/javase/17/language/records.html>`__
400-
and BSON documents, which is enabled by default. See :ref:`<fundamentals-records>`
401-
for more information.
402-
403-
.. _version-4.5:
404-
.. _version-4.5.1:
405-
406-
What's New in 4.5.1
407-
-------------------
408-
409-
If the DNS server returns an NXDomain error,
410-
indicating a non-existent domain, the 4.5.1
411-
driver no longer throws an exception.
412-
413-
.. _version-4.5.0:
414-
415-
What's New in 4.5
416-
-----------------
417-
418-
New features of the 4.5 Java driver release include:
419-
420-
- Added support for specifying custom service names of SRV resource
421-
records. See the ``srvServiceName`` setting in the :ref:`Connection
422-
Options <connection-options>` guide for more information.
423-
- Added support to customize UUID representation in a codec registry using
424-
the ``CodecRegistries.withUuidRepresentation()`` method.
425-
- Added support for overriding listener settings in ``ClusterSettings``,
426-
``ServerSettings`` and ``ConnectionPoolSettings`` builders.
427-
- All events received by ``ClusterListener``, ``ServerListener``, and
428-
``ServerMonitorListener`` are now totally ordered using
429-
a happens-before relationship when the listeners are not shared by
430-
different MongoClient instances. To learn more about the happens-before
431-
ordering, see `Happens-before Order <https://docs.oracle.com/javase/specs/jls/se17/html/jls-17.html#jls-17.4.5>`__
432-
in the Java Language Specification.
433-
- Added ``EnumCodec`` and ``EnumCodecProvider`` classes to separate codec
434-
support for ``enum`` types from the ``PojoCodec`` class. The default
435-
codec registries, which you can access from the ``MongoClientSettings`` and the ``Bson``
436-
interfaces, now include the ``enum`` codec classes. If your application uses
437-
a custom enumeration codec and one of the default registries, ensure
438-
you order them as described in the section on :ref:`overriding codecs <codecs-override>`.
439-
- Resolved performance issues that impacted versions 4.4 and 4.3 of the
440-
driver. Performance in this version is similar to performance in 4.2.
441-
- Resolved an issue in which errors originating from retrieving the cluster
442-
description weren't passed to the ``onError`` Subscriber callback
443-
- Resolved an issue with releasing ``ByteBuf`` instances when you connect
444-
with compression enabled.
445-
- Removed an unnecessary dependency on the ``javax.annotation.*`` packages
446-
from the ``org.mongodb.driver-core`` OSGi bundle.
447-
448-
.. _version-4.4:
449-
450-
What's New in 4.4
451-
-----------------
452-
453-
New features of the 4.4 Java driver release include:
454-
455-
- Compatibility with MongoDB 5.1 and support for Java 17
456-
- Added support for index hints in an ``AggregateIterable``
457-
- Added support for the ``$merge`` and ``$out`` aggregation stages on secondaries
458-
- Use of the ``mergeObjects()`` method in the ``Updates`` builder
459-
- ``DocumentCodec`` does not ignore a :ref:`CodecRegistry <codecs-codecregistry>` when writing to an ``Iterable`` or a ``Map`` instance
460-
461-
.. _version-4.3:
462-
463-
What's New in 4.3
464-
-----------------
465-
466-
New features of the 4.3 Java driver release include:
467-
468-
- Added support for the MongoDB {+stable-api+}. For more information, see our
469-
:ref:`{+stable-api+} guide <stable-api-java>`.
470-
471-
.. note::
472-
473-
Starting from February 2022, the **Versioned API** is known the
474-
**{+stable-api+}**. All concepts and features remain the same with this
475-
naming change.
476-
477-
- Added support for connection to
478-
`MongoDB Atlas Serverless Instances <https://www.mongodb.com/use-cases/serverless>`__.
479-
For more information on setup, see our documentation on how to
480-
:atlas:`Create a New Serverless Instance </tutorial/create-new-serverless-instance/?jmp=docs_driver_java>`
481-
- Added a builder API for the ``setWindowFields`` pipeline stage to allow the use of window operators
482-
- Added support for setting Netty `io.netty.handler.ssl.SslContext <https://netty.io/4.1/api/io/netty/handler/ssl/SslContext.html>`__
483-
- Added support for snapshot reads to ``ClientSession``
484-
- Limited the rate of establishing new connections per connection pool
485-
- 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.
486-
487-
The following table shows the restriction status on allowed characters
488-
in the field names of documents:
489-
490-
.. list-table::
491-
:header-rows: 1
492-
:stub-columns: 1
493-
:widths: 15 25 60
494-
495-
* - Character
496-
- Operation
497-
- Description
498-
499-
* - **.**
500-
- Insert and Replace
501-
- Removed restrictions on field names containing this character.
502-
503-
* - **$**
504-
- Insert
505-
- Removed restrictions on field names starting with this character.
506-
507-
* - **$**
508-
- Replace
509-
- Removed restrictions in nested documents on field names containing this character.
510-
511-
* - **$**
512-
- Replace
513-
- 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.
514-
515-
.. note::
516-
517-
Unacknowledged writes using dollar-prefixed or dotted keys may
518-
be silently rejected by pre-5.0 servers, where some restrictions on
519-
field names are still enforced in the server.
520-
521-
.. _version-4.2:
522-
523-
What's New in 4.2
524-
-----------------
525-
526-
.. warning:: Breaking Changes in v4.2
527-
528-
The v4.2 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.2>`
529-
for more information.
530-
531-
New features of the 4.2 Java driver release include:
532-
533-
- Added Azure and GCP key stores to client-side field level encryption
534-
- Added Kerberos caching tickets for reuse in multiple authentication requests
535-
- 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
536-
- 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
537-
- 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
538-
- 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
539-
- 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
540-
541-
.. _version-4.1:
542-
543-
What's New in 4.1
544-
-----------------
545-
546-
New features of the 4.1 Java driver release include:
547-
548-
- Significant reduction in client-perceived failover times during planned maintenance events
549-
- 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
550-
- 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
551-
- Added support for the MONGODB-AWS authentication mechanism using Amazon Web Services (AWS) Identity and Access Management (IAM) credentials
552-
- Authentication requires fewer round trips to the server, resulting in faster connection setup
553-
554-
.. _version-4.0:
555-
556-
What's New in 4.0
557-
-----------------
558-
559-
.. warning:: Breaking Changes in v4.0
560-
561-
The v4.0 driver contains breaking changes. See :ref:`<java-breaking-changes-v4.0>`
562-
for more information.
563-
564-
This release adds no new features.
214+
<qe-compatibility-reference>`.

0 commit comments

Comments
 (0)