Tip
Notas de versión
Para obtener más información sobre los cambios y actualizaciones entre versiones, puedes leer el notas de versión publicadas con el código fuente del driver.
Descubra qué hay de nuevo en:
Novedades en 1.17.9
El 1.17.9 La versión de parche del driver de Go incluye la siguiente corrección de errores:
Corrige el siguiente problema de Vulnerabilidades y Exposiciones Comunes (CVE): un búfer GSSAPI delimitado por longitud que se trata como una string C terminada en nulo. Para obtener más información, consulta el problema CVE-2026-2303 relacionado.
Novedades en 1.17.8
Importante
Aviso de desuso de Go Driver v1
El 1.17.8 El lanzamiento del parche del controlador de Go marca oficialmente la obsolescencia del controlador de Go v1.
El 1.17.8 El parche del controlador de Go incluye el siguiente cambio:
Desaprobación del controlador de Go v1 y agregar un aviso de desaprobación a la
go.mongodb.org/mongo-driver. Los usuarios deben migrar ago.mongodb.org/mongo-driver/v2. Para aprender a actualizar su aplicación de v1 a v2, vea la Guía de migración de Go Driver 2.0.
Para obtener más información sobre los cambios en esta versión, consulta las notas de versión v1.17.8 en GitHub.
Novedades en 1.17
Importante
v1.17 es el lanzamiento final planeado de la versión 1.x. Esta versión recibirá correcciones de seguridad y errores, pero el desarrollo y las funcionalidades futuras sólo se incluirán en las versiones 2.x del driver.
La versión de driver Go 1.17 incluye las siguientes mejoras y correcciones:
Agrega soporte para autenticación OpenID Connect (OIDC). Para obtener más información, consulta el MONGODB-OIDC sección de la guía Mecanismos de autenticación de empresa.
Agrega soporte para consultas de rango encriptadas consultables (Queryable Encryption). Para utilizar esta funcionalidad, tu aplicación debe conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre las consultas de rango QE, consulta Queryable Encryption en el manual de MongoDB Server.
Agrega soporte para MongoDB Server 8.0, excepto para la funcionalidad bulk write del cliente.
Extiende el tipo
IndexViewpara incluir los métodosDropOneWithKey()yDropWithKey()para que pueda descartar índices usando sus especificaciones de clave en lugar de sus nombres.
Para obtener más información sobre los cambios en esta versión, consulta las v1.17 notas de versión en GitHub.
Novedades en 1.16
La versión de driver 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
zstdestá habilitado.Actualiza algunos requisitos de dependencias. Para ver una lista de actualizaciones, consulta la sección "Actualizar dependencias" de las Notas de la versión v1.16.
Para obtener más información sobre estos cambios, consulta las notas de versión v1.16 en GitHub.
Novedades en 1.15.1
El 1.15.1 La versión corregida del controlador Go 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
rttMonitorconexiones.Agrega soporte para especificar manualmente un valor de
maxTimeMSpara operaciones de lectura y agregación cuando se establecen un timeout global del cliente y un timeout de 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, consulta las notas de versión v1.15.1 en Github.
Novedades en 1.15
La versión de driver Go 1.15 incluye las siguientes mejoras y correcciones:
La rotación de conexiones puede mitigarse estableciendo un tiempo de espera a nivel de cliente mediante la especificación de la opción de conexión
timeoutMSo 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 expira y espera hasta un segundo para verificar si la conexión puede reutilizarse antes de cerrarla.Los eventos del pool de conexiones incluyen un campo
Durationpara medir la duración del checkout y el tiempo total que tomó establecer una conexión.
Novedades en 1.14
La versión de driver Go 1.14 incluye las siguientes mejoras y correcciones:
Las versiones de Go anteriores a 1.18 ya no son compatibles.
En caso de un tiempo de inactividad de latido, las operaciones en curso se cancelan anticipadamente.
Las cadenas de conexión que incluyen el prefijo
"mongodb+srv://"pueden contener letras mayúsculas en el nombre del host de SRV.
Novedades en 1.13
La versión de driver Go 1.13 incluye las siguientes mejoras y correcciones:
Registro para la selección del servidor y SDAM. Para obtener más información sobre el registro, consulta la documentación de Registro.
Métodos en el tipo
Collectionque le permiten gestionar índices de búsqueda de forma programática.Los eventos
event.CommandStartedEventyevent.CommandFinishedEventdevuelven el campoDatabaseName. Este campo también se incluye en los análogos del registro de comandos.En una topología particionada, al seleccionar un servidor para reintentar una query sin éxito, el driver excluye el servidor utilizado en el intento inicial. En cambio, si existe más de una instancia
mongoselegible, el controlador selecciona una aleatoriamente. Las instancias insalubres se excluyen automáticamente de la selección.La función Transmisión SDAM está desactivada por defecto en AWS Lambda y en plataformas FaaS (función como servicio) similares. Puedes habilitar la supervisión utilizando la opción URI
serverMonitoringMode.
Novedades en 1.12.1
La versión de driver Go 1.12 incluye las siguientes mejoras y correcciones:
El controlador desacopla las conexiones al terminar una sesión. Esto previene que se filtren conexiones cuando un usuario ejecuta una transacción mientras está conectado a un balanceador de carga.
El controlador no lanza un error en tiempo de ejecución cuando deserializas un tipo
bson.RawValuevacío con un tipo no válido o serializas un punteronilde una instanciaReadConcern.Establecer
options.LogComponentAllcomo el componente de registro resulta correctamente en la publicación de registros contra todos los componentes.
Novedades en 1.12
Importante
Aviso de obsolescencia
Los métodos
mongo.NewClient()yclient.Connect()están obsoletos. Puedes crear un cliente y conectarte con una sola llamada utilizando el métodomongo.Connect().
Nuevas funcionalidades del 1.12 Go versión de driver incluye:
Queryable Encryption
Esta versión del controlador agrega soporte para Queryable Encryption (QI). Para obtener más información sobre los requisitos para utilizar la funcionalidad QE, consulta la Tabla de compatibilidad de drivers con Queryable Encryption.
El método ClientEncryption.CreateEncryptedCollection() crea automáticamente las claves de cifrado de datos cuando se crea una nueva colección cifrada. Para aprender a usar la funcionalidad QE, consulta el Inicio Rápido de Queryable Encryption en el manual del servidor.
Interfaz de registro
Ahora puedes registrar la gestión de conexiones y los eventos de ejecución de comandos utilizando la interfaz de registro LogSink.
Para obtener más información, consulta la guía de Registro de Fundamentos.
Opciones adicionales de Marshalling de BSON
Esta versión del controlador añade funcionalidades al paquete options para especificar cómo el controlador realiza la conversión y reconversión (marshal y unmarshal) de BSON.
El siguiente ejemplo muestra cómo configurar opciones BSON en tu Client. Las opciones especifican los siguientes comportamientos:
El driver recurre a
jsonetiquetas struct si faltan las etiquetas structbson.El controlador convierte
niltipos de mapas de Go como documentos BSON vacíos.El driver organiza los tipos slice de Go
nilcomo arreglos BSON vacíos.
bsonOpts := &options.BSONOptions{ UseJSONStructTags: true, NilMapAsEmpty: true, NilSliceAsEmpty: true, } options.Client().SetBSONOptions(bsonOpts)
Para un ejemplo completo de cómo especificar e implementar el tipo BSONOptions, consulta la documentación de la API.
Especificación simplificada de nivel de confirmación de escritura (write concern)
Esta versión del controlador simplifica la API WriteConcern. Para obtener más información sobre los cambios, consulta nivel de confirmación de escritura (write concern).
Cambios adicionales
Soporte para autenticación con roles IAM de AWS en EKS.
Adición del método
Cursor.SetBatchSize()para permitir la especificación del tamaño de los lotes recuperados al iterar a través de un cursor.Adición del método
UnmarshalValue()para permitir el desensamblado de valores BSON ensamblados con el métodoMarshalValue().