Docs Menu
Docs Home
/ /

Notas de versión

Tip

Notas de versión

Para obtener más información sobre los cambios y actualizaciones entre versiones, puede leer el Notas de la versión publicadas con el código fuente del controlador.

Conozca las novedades en:

Esta versión incluye las siguientes mejoras y correcciones:

  • Añade una vista previa de la compatibilidad con CRUD para índices de prefijo, sufijo y subcadena de cifrado consultable. Estas funciones son inestables y su seguridad no está garantizada hasta su lanzamiento como disponibilidad general (GA). Es posible que la versión GA de estas funciones no sea compatible con versiones anteriores de la vista previa.

  • Añade AsFloat64() y AsFloat64OK() métodos a bson.RawValue.

  • Agrega el método DefaultDocumentMap() a bson.Decoder.

  • Agrega el método ErrorCodes() para analizar los códigos de error del servidor a partir de un error de Go arbitrario.

  • Expone atClusterTime en sesiones de instantáneas.

  • Corrige varios errores, incluida una posible lectura de montón fuera de límites en el manejo de errores de GSSAPI.

Para obtener más información sobre los cambios en esta versión, consulte las 2.5 notas de la versión v en GitHub.

Esta versión incluye las siguientes correcciones:

  • Agrega manejo para un parámetro options vacío en SearchIndexModel

Importante

Cambio decisivo

La versión v2.4 del controlador Go incluye cambios importantes. Para obtener más información, consulte Versión 2.4 Cambios importantes.

Esta versión incluye las siguientes mejoras y correcciones:

  • Agrega un nuevo método Client.AppendDriverInfo() que agrega información a los metadatos del controlador enviados en los protocolos de conexión posteriores.

  • El controlador ya no envía $clusterTime con comandos de latido, y los comandos de latido ya no analizan $clusterTime de las respuestas.

  • Cambia el nombre del archivo interno internal/decinal123/decinal123.go a internal/decimal123/decimal123.go para corregir un error tipográfico en el nombre del paquete.

Para obtener más información sobre los cambios en esta versión, consulte las 2.4 notas de la versión v en GitHub.

Importante

La2.3 versión 7600 del controlador Go es la última versión compatible con MongoDB 4.0 7800. La versión 8000 del controlador Go2.4 requiere MongoDB 8200 4.2 o posterior. La versión mínima de Go para la2.3 versión 8400 es Go 1 10.11.19

Esta versión incluye las siguientes mejoras y correcciones:

  • Corrige un problema en el que las llamadas a cursor.Next() con un valor maxAwaitTimeMS mayor o igual al tiempo de espera de la operación resultan en tiempos de espera de socket. El driver ahora acorta estas llamadas para evitar errores de tiempo de espera.

  • Corrige un problema donde Element.StringN() no truncaba cadenas como se esperaba.

  • Mejora el rendimiento de bson.Unmarshal().

Para obtener más información sobre los cambios en esta versión, consulte las 2.3 notas de la versión v en GitHub.

Importante

Cambio decisivo

La versión 7600 del controlador Go2.2 contiene cambios importantes. Para obtener más información, consulte Cambios importantes de la versión 8000.2.2

Esta versión incluye las siguientes mejoras y correcciones:

  • Añade la OmitEmpty opción BSON para evitar globalmente la serialización de valores vacíos. Para obtener más información sobre cómo configurar el OmitEmpty indicador global, consulte el ejemplo en la sección "Opciones BSON" de la guía BSON.

  • Añade compatibilidad con la autenticación OIDC de Kubernetes. Para obtener más información sobre cómo configurar la autenticación de MongoDB para un clúster de Kubernetes, consulte la sección OIDC de Kubernetes de la guía "Mecanismos de autenticación empresarial".

  • Añade compatibilidad para configurar la duración de la caché de la clave de cifrado de datos (DEK). Para obtener más información sobre la gestión de DEK, consulte la guía de gestión de claves de cifrado en el manual de MongoDB Server.

  • Agrega soporte para las funciones error.Is y error.As para mejorar la gestión de errores. Para obtener más información, consulte la documentación de la API de Go error.Is y error.As.

Para obtener más información sobre los cambios en esta versión, consulte las 2.2 notas de la versión v en GitHub.

La versión del controlador Go 2.1 incluye las siguientes mejoras y correcciones:

Para obtener más información sobre los cambios en esta versión, consulte las 2.1 notas de la versión v en GitHub.

La versión 2.0 del controlador Go admite la autenticación OpenID Connect (OIDC), proporciona una experiencia de tiempo de espera de operaciones del lado del cliente (CSOT) más fluida e implementa un código Go más claro e idiomático al optimizar las API, mejorar las descripciones de errores y simplificar la estructura del paquete del controlador.

Puede obtener más información sobre estos cambios en esta sección o consultando la Guía de migración v2.0 en el código fuente del controlador Go en GitHub.

Importante

Cambios radicales

La versión 7600 del controlador Go2.0 contiene cambios importantes. Para obtener más información, consulte Cambios importantes de la versión 8000.2.0

Esta versión incluye las siguientes mejoras y correcciones:

  • Documentación compatible con la autenticación de OpenID Connect (OIDC). Para obtener más información, consulte la guía del mecanismo de autenticación de OIDC.

  • Puede acceder a la API de GridFS desde el mongo paquete. En versiones anteriores, podía acceder a las funciones de GridFS desde el gridfs paquete, pero esta funcionalidad ahora está integrada con el paquete del controlador mongo principal. Para obtener más información, consulte la guía de GridFS.

  • El campo Comment en cualquier estructura de opciones toma un valor de tipo any en lugar de string. Para configurar este campo, puede usar el método SetComment() y pasar un parámetro de tipo any.

  • Actualizaciones de los documentos de eventos de monitoreo:

    • Los structs CommandStartedEvent y CommandFinishedEvent tienen un único campo ServerConnectionID del tipo int64 para capturar el ID de conexión.

    • El campo ConnectionID de la estructura PoolEvent toma un valor de tipo int64 en lugar de uint64.

    Para ver documentos de eventos de muestra, consulte las guías de Monitorizar eventos de la aplicación.

  • La Session interfaz se convierte en una estructura. Consulta la guía de Transacciones para obtener más información.

  • El Distinct() método devuelve una estructura que se puede decodificar en un tipo específico. Consulta la guía "Recuperar valores distintos" para obtener más información.

  • El IndexView.DropOne() método solo devuelve un error, si está presente. En versiones anteriores, este método también devolvía la respuesta del servidor, que contenía el número de índices eliminados.Consulte la sección "Eliminar un índice" de la guía "Índices" para obtener más información.

  • Actualizaciones del patrón de creación para los tipos del options paquete. El patrón mantiene una porción de funciones de configuración, por lo que no se pueden asignar datos directamente a un objeto de opciones. Esta actualización no suele cambiar la forma de crear y usar opciones. Para obtener más información, consulte el ticket de JIRA sobre la función.

  • El controlador ya no admite el error centinela mongo.ErrUnacknowledgedWrite si no se confirma una operación de escritura. Para confirmar que el servidor confirmó una operación de escritura, debe acceder a la propiedad Acknowledged desde la estructura resultante devuelta por el método de escritura.

    El siguiente ejemplo muestra cómo confirmar el reconocimiento de una operación de inserción:

    res, err := coll.InsertOne(context.TODO(), bson.D{{"x", 2}})
    if err != nil {
    panic(err)
    }
    fmt.Print(res.Acknowledged)
  • Puede configurar opciones para las transacciones que se ejecutan en una sesión determinada creando una TransactionOptions instancia y pasándola al SetDefaultTransactionOptions() método del SessionOptions tipo. Para obtener más información, consulte la sección "Opciones de sesión y transacción" de la guía "Transacciones".

  • El método Collection.Clone() no devuelve un error.

  • Cambia el canonical nombre del parámetro del UnmarshalExtJSON() método canonicalOnly a. Si se canonicalOnly establece true en, el método devuelve un error si el JSON extendido no se serializa en modo canónico. Si se establece false en, el método puede desmarshalizar JSON extendido canónico o relajado. Para obtener más información, consulte la documentación de la API UnmarshalExtJSON().

La versión del parche del controlador Go 1.17.9 incluye la siguiente corrección de errores:

  • Corrige el siguiente problema de vulnerabilidades y exposiciones comunes (CVE): un búfer GSSAPI delimitado por longitud se trata como una cadena C terminada en nulo. Para obtener más información, consulte el problema CVE-2026- relacionado.2303

Importante

Aviso de desuso de Go Driver v1

La versión del parche del controlador Go 1.17.8 deja obsoleto formalmente el controlador Go v1.

El parche del controlador Go 1.17.8 incluye el siguiente cambio:

  • Se descontinua el controlador Go v1 y se agrega un aviso de descontinuación go.mongodb.org/mongo-driver a. Los usuarios deben migrar go.mongodb.org/mongo-driver/v2 a. Para saber cómo actualizar su aplicación de v1 a v,2 consulte la Guía de migración del controlador Go.2.0

Para obtener más información sobre los cambios en esta versión, consulte las 1.17.8 notas de la versión v en GitHub.

Importante

v1.17 es la versión final planificada 1.x. Esta versión incluirá correcciones de seguridad y errores, pero el desarrollo y las funciones futuras solo se incluirán en las versiones 2.x del controlador.

La versión del controlador Go 1.17 incluye las siguientes mejoras y correcciones:

  • Añade compatibilidad con la autenticación OpenID Connect (OIDC). Para obtener más información, consulte la guía del mecanismo de autenticación OIDC.

  • Añade compatibilidad con consultas de rango de cifrado consultable (QE). Para usar esta función, la aplicación debe conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre las consultas de rango de QE, consulte "Cifrado consultable" en el manual de MongoDB Server.

  • Agrega soporte para MongoDB Server 8.0, excepto para la función de escritura masiva del cliente.

  • Amplía el tipo IndexView para incluir los métodos DropOneWithKey() y DropWithKey() para que pueda eliminar índices utilizando sus especificaciones de clave en lugar de sus nombres.

Para obtener más información sobre los cambios en esta versión, consulte las 1.17 notas de la versión v en GitHub.

La versión del controlador Go 1.16 incluye las siguientes mejoras y correcciones:

  • Agrega soporte para especificar un tipo de índice al crear un índice de búsqueda MongoDB.

  • Reduce el uso de memoria cuando el algoritmo de compresión zstd está habilitado.

  • Actualiza algunos requisitos de dependencia. Para obtener una lista de actualizaciones, consulte la sección "Actualizar dependencias" de las notas de la 1.16 versión v.

Para obtener más información sobre estos cambios, consulte las notas de la versión v1.16 en Github.

La versión del parche del controlador Go 1.15.1 incluye las siguientes mejoras y correcciones:

  • Corrige una posible fuga de conexión donde al desconectarse de un clúster de set de réplicas, se quedaban rttMonitor conexiones.

  • Agrega soporte para especificar manualmente un valor maxTimeMS para operaciones de lectura y agregación cuando se establecen un tiempo de espera para todo el cliente y un tiempo de espera para la operación.

  • Agrega un método RemainingBatchLength() que puedes llamar en un flujo de cambios.

Para obtener más información sobre estos cambios, consulte las notas de la versión v1.15.1 en Github.

La versión del controlador Go 1.15 incluye las siguientes mejoras y correcciones:

  • La pérdida de conexiones se puede mitigar estableciendo un tiempo de espera para todo el cliente mediante la timeoutMS opción de conexión o llamando a la función SetTimeout(). Cuando se establece el tiempo de espera, el controlador intenta reutilizar una conexión después de que una operación expire y espera hasta un segundo para comprobar si la conexión se puede reutilizar antes de cerrarla.

  • Los eventos del grupo de conexiones incluyen un campo Duration para medir la duración del pago y la cantidad total de tiempo que tomó establecer una conexión.

La versión del controlador Go 1.14 incluye las siguientes mejoras y correcciones:

  • Las versiones de Go anteriores a 1.18 ya no son compatibles.

  • En caso de que se agote el tiempo de espera del latido, las operaciones en curso se cancelan de manera preventiva.

  • Las cadenas de conexión que incluyen el prefijo "mongodb+srv://" pueden contener letras mayúsculas en el nombre de host SRV.

La versión del controlador Go 1.13 incluye las siguientes mejoras y correcciones:

  • Registro para la selección de servidores y SDAM. Para obtener más información sobre el registro, consulte la documentación de Registro.

  • Métodos del tipo Collection que le permiten administrar índices de búsqueda mediante programación.

  • Los eventos event.CommandStartedEvent y event.CommandFinishedEvent devuelven el campo DatabaseName. Este campo también se incluye en los análogos del registro de comandos.

  • En una topología fragmentada, al seleccionar un servidor para reintentar una consulta fallida, el controlador excluye el servidor utilizado en el intento inicial. En su lugar, si hay más de una instancia mongos válida, el controlador selecciona una aleatoriamente. Las instancias con problemas se excluyen automáticamente de la selección.

  • La transmisión SDAM está deshabilitada de forma predeterminada en AWS Lambda y plataformas similares de función como servicio (FaaS). Puede habilitar la monitorización mediante la opción de URI serverMonitoringMode.

La versión del controlador Go 1.12 incluye las siguientes mejoras y correcciones:

  • El controlador desancla las conexiones al finalizar una sesión. Esto evita fugas de conexiones cuando un usuario ejecuta una transacción mientras está conectado a un balanceador de carga.

  • El controlador no genera un error de tiempo de ejecución cuando se desmarcha un tipo bson.RawValue vacío con un tipo no válido o se marcha un puntero nil de una instancia ReadConcern.

  • La configuración correcta de options.LogComponentAll como componente de registro da como resultado la publicación de registros en todos los componentes.

Importante

Aviso de desuso

  • Los métodos mongo.NewClient() y client.Connect() están obsoletos. Puede crear un cliente y conectarse en una sola llamada usando el método mongo.Connect().

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

Esta versión del controlador añade compatibilidad con el 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.

El ClientEncryption.CreateEncryptedCollection() método crea automáticamente claves de cifrado de datos al crear una nueva colección cifrada. Para aprender a usar la función QE, consulte la Guía de inicio rápido de cifrado consultable en el manual del servidor.

Ahora puede registrar eventos de administración de conexión y ejecución de comandos mediante la interfaz de registro LogSink.

Para obtener más información, consulte la guía de registro.

Esta versión del controlador agrega características al paquete options para especificar cómo el controlador serializa y desmarca BSON.

El siguiente ejemplo muestra cómo configurar las opciones BSON en su Client. Las opciones especifican los siguientes comportamientos:

  • El driver recurre a json etiquetas struct si faltan las etiquetas struct bson.

  • El conductor organiza nil tipos de mapas Go como documentos BSON vacíos.

  • El controlador ordena los tipos de segmento Go nil como matrices BSON vacías.

bsonOpts := &options.BSONOptions{
UseJSONStructTags: true,
NilMapAsEmpty: true,
NilSliceAsEmpty: true,
}
options.Client().SetBSONOptions(bsonOpts)

Para obtener un ejemplo completo de cómo especificar e implementar el BSONOptions tipo, consulte la documentación de la API.

Esta versión del controlador simplifica la WriteConcern API. Para obtener más información sobre los cambios, consulte Write Concern.

  • Compatibilidad con autenticación con roles de AWS IAM en EKS.

  • Se agregó el método Cursor.SetBatchSize() para permitir la especificación del tamaño de los lotes obtenidos al iterar a través de un cursor.

  • Se agregó el método UnmarshalValue() para permitir la serialización de valores BSON serializados con el método MarshalValue().

Volver

Búsqueda vectorial y AWS Bedrock

En esta página