Docs Menu
Docs Home
/ /

Notas de versión

Conozca las novedades en:

  • Versión 5.6

  • Versión 5.5.1

  • Versión 5.5

  • Versión 5.4

  • Versión 5.3

  • Versión 5.2.1

  • Versión 5.2

  • Versión 5.1.3

  • Versión 5.1.2

  • Versión 5.1.1

  • Versión 5.1

  • Versión 5.0

  • Versión 4.11

  • Versión 4.10

La versión del controlador 5.6 incluye los siguientes cambios, correcciones y características:

  • Añade compatibilidad experimental con consultas de prefijo, sufijo y subcadena de cifrado consultable. Para obtener más información sobre QE, consulte Cifrado en uso.

    Nota

    Característica experimental

    Las consultas de prefijo, sufijo y subcadena de cifrado consultable son inestables y su seguridad no está garantizada hasta que estén disponibles para el público general (GA). Úselas solo en cargas de trabajo experimentales.

  • Añade un nsType Campo para objetos ChangeStreamDocument. Este campo contiene el tipo de espacio de nombres (COLLECTION, TIMESERIES o VIEW) del evento de cambio.

  • Agrega compatibilidad experimental con el tiempo de espera de operación del lado del cliente (CSOT) para la autenticación OIDC.

    Nota

    Característica experimental

    La función CSOT es experimental y podría cambiar en futuras versiones de controladores.

  • Cuando se configura timeoutMS para CSOT, el controlador ignora el valor de la configuración de conexión maxWaitTime.

  • Añade un método appendMetadata() a la clase MongoClient. Puedes usar este método para añadir metadatos a los de un cliente existente. El tamaño máximo de metadatos es de 512 MB.

  • Agrega un constructor público a la clase RewrapManyDataKeyOptions.

  • Fusiona las interfaces AsyncReadOperation y AsyncWriteOperation en las interfaces ReadOperation y WriteOperation. Se pueden crear operaciones de lectura y escritura mediante métodos de construcción en la clase Operations.

  • Deja obsoleta la constante MongoNamespace.COMMAND_COLLECTION_NAME.

  • Corrige un error que impedía la reautenticación OIDC dentro de una sesión.

  • Al serializar un POJO anotado con @BsonDiscriminator, si la propiedad readName coincide con la clave discriminadora, el controlador serializa el campo solo una vez.

  • Después de llamar al método next() o tryNext() en una instancia CommandCursorResult, el controlador borra la propiedad CommandCursorResult.results para liberar memoria.

  • La clase PojoBuilderHelper crea modelos de propiedades que incluyen propiedades de clases e interfaces abstractas.

  • El controlador publica y registra los siguientes eventos cuando cambia la topología del clúster:

    • ClusterOpeningEvent:Se publica cuando se abre la topología

    • ClusterDescriptionChangedEvent:Se publica cuando cambia la descripción de la topología.

    • ClusterClosedEvent:Se publica cuando se cierra la topología

  • El controlador lanza un MongoStalePrimaryException cuando el miembro del conjunto de réplicas principal queda obsoleto por una de las siguientes razones:

    • Se elige o se descubre un nuevo miembro principal.

    • El valor del campo electionId o setVersion en el miembro principal no coincide con los valores de estos campos en los otros miembros del conjunto de réplicas.

    Para obtener más información sobre los conjuntos de réplicas, consulte Replicación en el manual de MongoDB Server.

La versión del parche del controlador 5.5.1 incluye los siguientes cambios:

  • Corrige un problema en el que la reautenticación de OIDC fallaba cuando se activaba mediante una operación ejecutada en una sesión, incluidas las operaciones ejecutadas en una transacción.

Importante

Eliminación del soporte para el servidor MongoDB 4.0

El controlador Java v5.5 elimina la 4.0 compatibilidadcon MongoDB Server. Para obtener más información sobre las versiones compatibles del servidor, consulte Compatibilidad.

La versión del controlador 5.5 incluye los siguientes cambios, correcciones y características:

  • Introduce mejoras de rendimiento que se reflejan en los benchmarks de rendimiento del controlador. Para ver los resultados de las pruebas de referencia de rendimiento, vea la siguiente sección Mejoras de rendimiento.

Las tablas en esta sección muestran los resultados de las pruebas de rendimiento para el controlador Java síncrono. Las pruebas se realizaron en una implementación de MongoDB Server 8.0 con la siguiente configuración:

  • En funcionamiento en localhost con una latencia de red insignificante. En entornos con mayor latencia, es posible que observes mejoras de rendimiento menos significativas.

  • Autenticación deshabilitada.

  • TLS deshabilitado.

Esperamos aumentos de rendimiento similares para todos los controladores Java de MongoDB porque comparten la API driver-core mejorada.

La siguiente tabla muestra los resultados de las pruebas de rendimiento para v5.5 del controlador configurado con la configuración de transporte estándar. Cada fila incluye la función probada, el porcentaje de mejora del rendimiento y la puntuación z.

Característica
Porcentaje de mejora
Puntuación Z

Descodificación profunda de BSON

19.44%

5.4

Codificación BSON profunda

102%

22.8

Encuentra muchos y vacía el cursor.

25.08%

13.72

Encuentra uno por ID

2.7%

3.16

Decodificación BSON plana

31.2%

9.38

Codificación BSON plana

199.5%

12.34

Decodificación completa de BSON

16.5%

7.23

Codificación BSON completa

147.3%

10.39

Importación de múltiples archivosJSON-LD

21.8%

8.21

Inserción masiva de clientes con documentos grandes

91.3%

24.44

Inserción masiva de colección con documentos de gran tamaño

96.5%

8.79

Inserción masiva de documentos grandes

93.3%

8.11

Inserción masiva de documentos pequeños

39.3%

5.72

Insertar uno con documentos grandes

82.4%

7.28

Inserción masiva de clientes con documentos pequeños

49.5%

17.99

Inserción masiva de colección con documentos pequeños

47.8%

6.44

La siguiente tabla muestra los resultados de las pruebas de rendimiento para v5.5 del controlador configurado con la configuración de transporte Netty. Cada fila incluye la función probada, el porcentaje de mejora del rendimiento y la puntuación z.

Característica
Porcentaje de mejora
Puntuación Z

Encuentra muchos y vacía el cursor.

40.3%

14.81

Encuentra uno por ID

4.4%

4.12

Importación de múltiples archivosJSON-LD

16.9%

3.77

Inserción masiva de clientes con documentos grandes

54.8%

14.49

Inserción masiva de colección con documentos de gran tamaño

104.9%

38.72

Inserción masiva de documentos grandes

74.6%

65.55

Insertar uno con documentos grandes

66.6%

58.65

Inserción masiva de clientes con documentos pequeños

36.1%

15.41

Inserción masiva de colección con documentos pequeños

39.3%

37.38

Inserción masiva de documentos pequeños

35.1%

41.51

Tip

Para obtener más información sobre cómo realizamos pruebas comparativas de rendimiento del conductor, consulte la especificación de evaluación comparativa de rendimiento.

La versión del controlador 5.4 incluye los siguientes cambios, correcciones y características:

  • Admite operaciones $lookup para CSFLE y QE. Para obtener más información, consulte las siguientes referencias en el manual del servidor:

  • Presenta una Lista de Materiales (BOM) para administrar las versiones de los artefactos de la JVM de MongoDB que podría usar en su aplicación. Para ver las instrucciones sobre cómo agregar la BOM a su aplicación, consulte el paso "Agregar la Lista de Materiales del controlador Java" del tutorial "Comenzar".

  • Actualiza las dependencias del SDK de AWS a 2.30.31 y 1.12.782 para probar el mecanismo de autenticación MONGODB-AWS.

  • Añade una opción de ClientUpdateOneOptions ordenación a las ClientReplaceOneOptions clases y. Este cambio permite establecer un orden de clasificación para las operaciones de actualización y reemplazo en las escrituras masivas del cliente. Para obtener más información, consulte las secciones "Ejemplo de actualización" y "Ejemplo de reemplazo" de la guía "Operaciones masivas".

  • Añade compatibilidad con Kubernetes para la autenticación OIDC. Para obtener más información, consulte la sección sobre Kubernetes de la guía OIDC (Federación de Identidad de Carga de Trabajo).

  • Agrega soporte de primera clase para los siguientes operadores de consulta de búsqueda de MongoDB:

    • phrase

    • regex

    • queryString

    • equals

    • moreLikeThis

    • in

    • wildcard

    Para obtener más información, consulte la sección Crear etapas de búsqueda de canalización de la guía de búsqueda de MongoDB.

  • Actualiza los cursores para actualizar la configuración timeoutMS cuando llama a close() sin afectar el tiempo de espera de la operación.

  • Le permite utilizar un índice al llamar al método distinct() especificando una opción hint.

Para ver una lista completa de cambios en esta versión, consulte las 5.4 notas de la versión v en GitHub.

La versión del controlador 5.3 incluye los siguientes cambios, correcciones y características:

  • Importante: La próxima versión menor dejará de ser compatible con la versión de MongoDB Server 4.0 y aumentará la versión mínima compatible 4.2 a. Recomendamos realizar cambios en su aplicación para adaptarla a los cambios importantes. Consulte la sección Notas de la versión en el manual de MongoDB Server para obtener más información sobre la actualización.

  • Añade la clase BinaryVector para implementar el subtipo binario BSON 9 para el almacenamiento y la recuperación de vectores. Esta clase proporciona un almacenamiento de valores más eficaz en comparación con una lista de instancias Double. Puede crear los siguientes tipos de vectores según el tipo de elementos que contenga:

    • Int8BinaryVector: Vector de enteros con signo de 8bits

    • Float32BinaryVector: Vector de números de punto flotante

    • PackedBitBinaryVector: Vector binario cuantizado (En beta y sujeto a cambios antes de estar disponible para el público en general)

    Para obtener más información sobre esta función, consulte Cuantización vectorial en la documentación de Atlas. Para saber cómo usar este tipo con la función de búsqueda vectorial de MongoDB, consulte la guía de búsqueda vectorial de MongoDB.

  • Elimina la equidad explícita de la implementación del grupo de conexiones. Este cambio podría contribuir a un mejor rendimiento al usar una instancia MongoClient en varios subprocesos de la aplicación. Sin embargo, este cambio podría causar una mayor latencia de cola.

  • Añade una opción de ordenación a los updateOne() replaceOne() métodos y. Este cambio también permite configurar una opción de ordenación al crear ReplaceOneModel UpdateOneModel instancias y. Para obtener más información,consulte las guías "Actualizar documentos" y "Operaciones de escritura masiva".

  • Añade una API de escritura masiva de cliente que permite realizar operaciones de escritura en varias bases de datos y colecciones simultáneamente. Para obtener más información sobre esta función, consulte la sección "Escritura masiva de cliente" de la guía "Operaciones masivas".

La versión del parche del controlador 5.2.1 incluye los siguientes cambios:

  • Corrige un problema que causaba que las aplicaciones creadas con Quarkus arrojaran un java.lang.UnsatisfiedLinkError al inicializar enlaces libmongocrypt.

  • Se solucionó un problema que causaba un error en el paquete mongodb-driver-core al implementarse en un entorno de ejecución OSGi. El atributo de manifiesto Import-Package org.mongodb:mongodb-driver-core ya no requiere los paquetes com.oracle.svm.core.annotate.*.

Importante

Eliminación del soporte para el servidor MongoDB 3.6

El controlador Java v5.2 elimina la 3.6 compatibilidadcon MongoDB Server. Para obtener más información sobre las versiones compatibles del servidor, consulte Compatibilidad.

La versión del controlador 5.2 incluye los siguientes cambios, correcciones y características:

  • Una barra diagonal (/) entre los nombres de host y las opciones de cliente en una URI de conexión es opcional. El controlador analiza los siguientes ejemplos de URI de conexión de la misma manera:

    // Connection URI with delimiting forward-slash
    String uri = "mongodb://example.com/?w=majority";
    // Connection URI without delimiting forward-slash
    String uri = "mongodb://example.com?w=majority";
  • Permite configurar un tiempo de espera para operaciones del cliente (CSOT). Esta función permite configurar un tiempo de espera único en la MongoClient instancia que se aplica a todas las operaciones realizadas con ese cliente. Para obtener más información, consulte la guía "Limitar el tiempo de ejecución del servidor".

    Si, y solo si, la función CSOT está habilitada, el controlador ignora las siguientes opciones de tiempo de espera:

    • waitQueueTimeoutMS

    • socketTimeoutMS

    • wTimeoutMS

    • maxTimeMS

    • maxCommitTimeMS

    Importante

    Característica experimental

    CSOT es una función experimental y aún no está disponible para producción. Esta función es opcional en la versión actual y las opciones de tiempo de espera existentes siguen funcionando.

  • Agrega la clase SearchIndexType, que puedes pasar al construir una instancia de SearchIndexModel. Este cambio te permite especificar el tipo de índice al crear un índice de Atlas búsqueda o búsqueda vectorial. Para obtener más información, consulta la guía de índices en MongoDB Search y Vector Search Indexes.

  • Delega la implementación de los algoritmos que implementan los mecanismos de autenticación SCRAM-SHA-1 y SCRAM-SHA-256 al proveedor JCA configurado. Este cambio significa que su aplicación puede usar un proveedor JCA configurado compatible con FIPS para proporcionar un mayor nivel de seguridad.

  • Se revisa el control de versiones de la dependencia mongodb-crypt para que coincida con el de los controladores de JVM. Las futuras versiones de mongodb-crypt se publicarán junto con el controlador y compartirán el mismo número de versión. Debe actualizar su mongodb-crypt dependencia a5 20 la versión.. al actualizar su controlador para esta versión. Para obtener más información, consulte la guía de cifrado en uso.

  • Mejoras de rendimiento gracias a la implementación de criptografía nativa en todas las plataformas compatibles. La siguiente lista describe las acciones necesarias para implementar esta mejora según el sistema operativo:

    • Windows: Actualice su mongodb-crypt versión a5.2.0 v.

    • Mac: Actualice su mongodb-crypt versión a5.2.0 v.

    • Linux: Instale libmongocrypt.so directamente en el sistema de archivos, en lugar de usar el archivo incluido en el archivo mongodb-crypt JAR. Puede encontrar instrucciones para instalar libmongocrypt en Linux en el manual del servidor. Si usa un gestor de paquetes para libmongocrypt instalar, Java Native Access (JNA) lo encontrará allí sin necesidad de configuración adicional. Como alternativa, puede especificar la ruta de búsqueda configurando la LD_LIBRARY_PATH variable de entorno con la ruta del archivo del libmongocrypt paquete.

      Recomendamos la instalación directa porque la biblioteca compartida incluida no se vincula con OpenSSL debido a la posibilidad de incompatibilidades binarias de OpenSSL.

      La carga de bibliotecas compartidas la gestiona JNA. Puede consultar las reglas para el orden de búsqueda de la carga de bibliotecas en la documentación de la clase NativeLibrary.

  • Se solucionó un problema que provocaba que los métodos InsertOneResult.getInsertedId() y InsertManyResult.getInsertedIds() devolvieran ID de documento incorrectos en algunas situaciones. Este cambio se ha implementado en los controladores de Java v5.1.4 y v4.11.4.

  • Cuando una operación de clúster fragmentado no es exitosa, el controlador evita seleccionar el mismo servidor mongos para los intentos de reintento de la operación si hay otros servidores mongos disponibles.

  • Añade los metadatos de accesibilidad necesarios cuando la aplicación utiliza la imagen nativa de GraalVM. Estos metadatos eliminan la necesidad de recopilarlos al usar las bibliotecas de controladores. Para obtener más información, consulte Metadatos de Accesibilidad en la documentación de GraalVM.

    Este cambio no agrega las libjnidispatch libmongocrypt entradas de recursos y, ya que agregar entradas para todas las plataformas compatibles (destinos) afecta significativamente el tamaño de los ejecutables nativos generados con la imagen nativa de GraalVM. Consulte este archivo resource-config.json de ejemplo en el repositorio de GitHub del controlador para ver cómo especificar estas entradas explícitamente si su aplicación depende de la org.mongodb:mongodb-crypt biblioteca.

  • Permite la búsqueda de vectores exactos al extender la API VectorSearchOptions para introducir los siguientes subtipos de opciones específicas:

    • ExactVectorSearchOptions:Utilice este tipo de opciones para habilitar una coincidencia precisa, garantizando que los resultados sean los vectores más cercanos a un vector de consulta determinado.

    • ApproximateVectorSearchOptionsUtiliza este tipo de opción para habilitar búsquedas que podrían no devolver los vectores más cercanos exactos. Puedes enviar un parámetro numCandidates al instanciar este tipo para especificar la cantidad de vecinos más cercanos a considerar.

    Para obtener más información sobre el uso de la función de búsqueda vectorial de MongoDB, consulte Búsqueda vectorial de MongoDB en la guía Generadores de agregados.

La versión del parche del controlador 5.1.3 incluye los siguientes cambios:

  • Corrige un problema que podría provocar errores de afirmación al utilizar tipos Cursor.

La versión del parche del controlador 5.1.2 incluye los siguientes cambios:

  • Corrige un problema que impide que el controlador codifique y descodifique clases concretas que extienden clases base genéricas, en los casos en que se especifica la clase base como el tipo genérico de la instancia MongoCollection.

  • Corrige un problema relacionado con la forma en que se validan los nombres de dominio cuando se utiliza la funcionalidad de proxy SOCKS5, lo que permite utilizar nombres de dominio con más de seis caracteres en el dominio de nivel superior.

La versión del parche del controlador 5.1.1 incluye los siguientes cambios:

  • Al utilizar el MONGODB-OIDC mecanismo de autenticación, no debe incluir comas en el valor de la authMechanismProperties cadena de conexión. Para obtener más información sobre este comportamiento, consulte la guía de MONGODB-OIDC.

  • Optimiza el rendimiento de GridFS eliminando la clonación redundante de matrices de bytes. Los tipos GridFSDownloadStream y GridFSUploadStream utilizan el tipo BsonDocument en lugar de Document.

Advertencia

Desusos en esta versión

Para evitar cambios importantes en futuras versiones importantes del controlador, reemplace cualquier código de aplicación que dependa de elementos de programa obsoletos.

Esta sección incluye la siguiente información:

  • La compatibilidad con MongoDB Server v3.6 está obsoleta y se eliminará en la próxima versión del controlador. Para saber cómo actualizar su implementación de MongoDB Server, consulte las Notas de la versión en el manual de MongoDB Server.

  • Pruebas internas de la tecnología de imagen nativa GraalVM. Estas pruebas implican compilar aplicaciones nativas utilizando la herramienta GraalVM native-image.

  • Compatibilidad mejorada con el mecanismo de autenticación MONGODB-OIDC. Para más información sobre OIDC, consulte la guía de OIDC (Federación de Identidad de Carga de Trabajo).

  • Se introduce la serverMonitoringMode opción de URI de conexión. Para más información sobre esta opción, consulte la guía de la API estable.

Advertencia

Cambios importantes en esta versión

Esta versión del controlador presenta cambios importantes. Para obtener una lista de estos cambios, consulte la 5.0 sección "Cambios importantes de la versión " en la guía de actualización.

Advertencia

Desusos en esta versión

Para evitar cambios importantes en futuras versiones importantes del controlador, reemplace cualquier código de aplicación que dependa de elementos de programa obsoletos.

Esta sección incluye la siguiente información:

  • El org.mongodb.scala.Observable.completeWithUnit() método está obsoleto. Este método ya no es útil porque el controlador ahora expone org.mongodb.scala.Observable[Unit] en lugar org.mongodb.scala.Observable[Void] de. Esto se relaciona con un cambio importante en los observables de esta versión.

  • El método getElapsedTime() de com.mongodb.event.ConnectionReadyEvent incluye el tiempo que tardó en entregar ConnectionCreatedEvent. Es decir, el tiempo devuelto incluye la duración del método com.mongodb.event.ConnectionPoolListener.connectionCreated().

    Los métodos getElapsedTime() de com.mongodb.event.ConnectionCheckedOutFailedEvent y com.mongodb.event.ConnectionCheckedOutEvent incluyen el tiempo empleado para entregar com.mongodb.event.ConnectionCheckOutStartedEvent. Es decir, el tiempo devuelto incluye la duración del método com.mongodb.eventConnectionPoolListener.connectionCheckOutStarted().

La versión del controlador 5.0 presenta las siguientes características:

  • Se añade compatibilidad con la opción authorizedCollection del comando listCollections. Esto se logró modificando los métodos com.mongodb.client.MongoDatabase.listCollectionNames(). El tipo de retorno ahora es com.mongodb.client.ListCollectionNamesIterable, mientras que antes era MongoIterable<String>. Este cambio permite configurar el valor de retorno mediante el método ListCollectionNamesIterable.authorizedCollections() y especificando la opción authorizedCollections. Se realizaron cambios equivalentes en las siguientes clases e interfaces:

    • com.mongodb.reactivestreams.client.MongoDatabase

    • org.mongodb.scala.MongoDatabase

    • com.mongodb.kotlin.client.MongoDatabase

    • com.mongodb.kotlin.client.coroutine.MongoDatabase

    Estos cambios introducen un cambio binario importante en el método listCollectionsNames(). Para obtener más información sobre el MongoDatabase.listCollectionNames() método y la authorizedCollections opción, consulte la página del manual del servidor listCollections o la sección "Obtener una lista de colecciones".

Nota

La versión del parche v5.0.2 solucionó un problema relacionado con la forma en que se validan los nombres de dominio cuando se usa la funcionalidad de proxy SOCKS5, lo que permite usar nombres de dominio con más de seis caracteres en el dominio de nivel superior.

Esta sección incluye la siguiente información:

Advertencia

Desusos en esta versión

Para evitar cambios importantes en futuras versiones importantes del controlador, reemplace cualquier código de aplicación que dependa de métodos y tipos obsoletos.

La versión del controlador 4.11 deja obsoletos los siguientes elementos:

  • Los métodos de instancia getStats() y isCapped() de la clase DBCollection están obsoletos. Los comandos de servidor correspondientes están obsoletos en MongoDB v6.2 y versiones posteriores. Utilice la etapa de canalización de agregación $collStats para recuperar la información proporcionada por estos métodos. Puede ejecutar la agregación como se muestra en el siguiente ejemplo de código:

    Cursor cursor = collection.aggregate(Arrays.asList(
    new BasicDBObject("$collStats",
    new BasicDBObject("storageStats", new BasicDBObject()))),
    AggregationOptions.builder().build()
    );

    Para determinar si una colección es una colección limitada, acceda al valor del campo storageStats.capped devuelto por la instancia Cursor en la agregación del ejemplo anterior.

    Para obtener más información sobre el $collStats operador de agregación, consulte la entrada del manual del servidor $collStats (agregación).

  • Los siguientes métodos relacionados con direcciones de red están obsoletos y se eliminarán en v5.0:

    • Los métodos ServerAddress getSocketAddress() getSocketAddresses()y.

      En lugar de getSocketAddress(), utilice el método de instancia getByName() de java.net.InetAddress.

      En lugar de getSocketAddresses(), utilice el método de instancia getAllByName() de java.net.InetAddress.

    • El método UnixServerAddress getUnixSocketAddress().

      En lugar getUnixSocketAddress() de, construya una instancia de.jnr.unixsocket.UnixSocketAddress Pase la ruta completa del archivo de socket UNIX al constructor. Por defecto, MongoDB crea un archivo de socket UNIX ubicado "/tmp/mongodb-27017.sock" en. Para obtener más información UnixSocketAddress sobre, consulte la documentación de la API UnixSocketAddress.

  • Los siguientes métodos y tipos relacionados con la interfaz StreamFactory están obsoletos y su eliminación está programada para la 5 0versión.:

    • streamFactoryFactory() método de MongoClientSettings.Builder

    • getStreamFactoryFactory() método de MongoClientSettings

    • NettyStreamFactoryFactory clase

    • NettyStreamFactory clase

    • AsynchronousSocketChannelStreamFactory clase

    • AsynchronousSocketChannelStreamFactoryFactory clase

    • BufferProvider clase

    • SocketStreamFactory clase

    • Stream clase

    • StreamFactory clase

    • StreamFactoryFactory clase

    • TlsChannelStreamFactoryFactory clase

    Si configura Netty utilizando MongoClientSettings.Builder.streamFactoryFactory(), su código podría parecerse al siguiente:

    import com.mongodb.connection.netty.NettyStreamFactoryFactory;
    // ...
    MongoClientSettings settings = MongoClientSettings.builder()
    .streamFactoryFactory(NettyStreamFactoryFactory.builder().build())
    .build();

    Reemplace este código con TransportSettings.nettyBuilder() como se muestra en el siguiente ejemplo:

    import com.mongodb.connection.TransportSettings;
    // ...
    MongoClientSettings settings = MongoClientSettings.builder()
    .transportSettings(TransportSettings.nettyBuilder().build())
    .build();

Las nuevas características de la versión del controlador 4.11 incluyen:

Nota

La versión del parche v4.11.3 solucionó un problema relacionado con la forma en que se validan los nombres de dominio cuando se usa la funcionalidad de proxy SOCKS5, lo que permite usar nombres de dominio con más de seis caracteres en el dominio de nivel superior.

  • Se añadió el método getSplitEvent() a la clase ChangeStreamDocument para identificar fragmentos de un evento de flujo de cambios que supera los 16MB. Debes utilizar la etapa de agregación $changeStreamSplitLargeEvent en tu flujo de cambios para gestionar eventos que superen los 16MB. Para obtener más información, consulta Dividir eventos grandes de flujo de cambios.

  • Se agregó un generador de etapas de agregación $vectorSearch para. Para obtener más información, consulte Búsqueda vectorial de MongoDB.

  • Se añadieron ayudas para la gestión de índices de búsqueda de MongoDB. Para obtener más información, consulte Índices de búsqueda de MongoDB.

  • Se actualizaron las versiones de dependencia de las bibliotecas de compresión Snappy y Zstd. Para obtener más información sobre las versiones actuales de dependencia, consulte Comprimir tráfico de red.

  • Se agregaron métodos getElapsedTime() a las siguientes clases para monitorear la duración de los eventos del grupo de conexiones:

  • Compatibilidad con subprocesos virtuales Java 21 y concurrencia estructurada. Se actualizaron los componentes internos del controlador para evitar la fijación innecesaria de subprocesos virtuales y preservar el estado de interrupción de un subproceso, ya que este último es importante para la concurrencia estructurada, donde se utiliza para la cancelación.

    Para obtener más información sobre los hilos virtuales, consulte la propuesta de mejora de Hilos Virtuales del JDK. Para obtener más información sobre la concurrencia estructurada, consulte la propuesta de mejora de Concurrencia Estructurada del JDK.

  • Documentación de API actualizada para los siguientes tipos:

Las nuevas características de la versión del controlador 4.10 incluyen:

  • Implementación de los métodos Accumulators.percentile() y Accumulators.median() para agregaciones estadísticas.

  • Las interfaces en el paquete com.mongodb.client.model.search ahora están marcadas como @Sealed en vez de @Evolving. Las interfaces selladas no deben ser extendidas ni implementadas por los usuarios de la librería.

  • Se solucionó un problema por el cual el controlador emitía mensajes de registro duplicados al reintentar operaciones. Ahora, el controlador emite correctamente un mensaje de registro por cada reintento.

  • La interfaz org.bson.codecs.Parameterizable está obsoleta. En lugar de implementarla en un tipo Codec personalizado, anule el método CodecProvider.get() en el CodecProvider del códec si este está diseñado para un tipo parametrizado.

  • Soporte para resolutores DNS personalizados.

  • Compatibilidad con cifrado consultable (QE). Para obtener más información sobre los requisitos para usar la función QE, consulte la tabla de compatibilidad de controladores de cifrado consultable.

Volver

Pruebas de integración de Testcontainers

En esta página