Docs Menu
Docs Home
/ /
Referencia

Notas de versión

Conozca las novedades en:

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

  • El KotlinSerializerCodecProvider El constructor ahora acepta objetos serializersModule y bsonConfiguration:

    KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration)

    Esto hace que sea más fácil personalizar su configuración.

  • Corrige un error de reflexión de Kotlin que provocaba el borrado del tipo de contenedor.

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 4.11 del controlador deja obsoletos los siguientes elementos:

  • Los siguientes métodos relacionados con direcciones de red están obsoletos y se eliminarán en la versión 5.0:

  • 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 4.11 del controlador incluyen:

  • Soporte para conectarse a MongoDB mediante un proxy SOCKS5.

  • Se añadió el método getSplitEvent() a la clase ChangeStreamDocument para identificar fragmentos de un evento de flujo de cambios que superen los 16 MB. Debe usar la etapa de agregación $changeStreamSplitLargeEvent en su flujo de cambios para gestionar eventos que superen los 16 MB.

  • Se agregó un generador de etapa de agregación para $vectorSearch.

  • Se agregaron ayudantes para la gestión del índice de búsqueda de Atlas.

  • Se actualizaron las versiones de dependencia de las bibliotecas de compresión Snappy y Zstd. Para obtener más información sobre las versiones de dependencia actuales, consulte Compresión 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 de 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:

Importante

A partir de la versión 4.10.1 del controlador de Kotlin, debe agregar la librería bson-kotlinx como una dependencia explícita para usar la librería kotlinx-serialization.

  • Soporte para el uso del lado del servidor de Kotlin, tanto para corrutinas como para aplicaciones sincrónicas.

  • Compatibilidad de códecs para clases de datos Kotlin.

  • Soporte para la librería kotlinx.serialization

Volver

Referencia

En esta página