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)>`__
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
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
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>`
0 commit comments