Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Notas de versión

El controlador C de MongoDB consta de dos bibliotecas: libbson y libmongoc. En esta página, puedes aprender sobre los cambios y las funciones obsoletas que se han realizado en cada versión de las librerías de drivers.

Conozca las novedades en:

  • Versión 2.2.1

  • Versión 2.2.0

  • Versión 2.1.2

  • Versión 2.1.1

  • Versión 2.1.0

  • Versión 2.0.2

  • Versión 2.0.1

  • Versión 2.0.0

  • Versión 1.30.6

  • Versión 1.30.3

  • Versión 1.30.0

  • Versión 1.29.0

  • Versión 1.28.0

  • Versión 1.27.6

  • Versión 1.27.5

  • Versión 1.27.4

  • Versión 1.27.3

  • Versión 1.27.2

  • Versión 1.27.1

  • Versión 1.27.0

  • Versión 1.26.2

  • Versión 1.26.1

  • Versión 1.26.0

La versión 2.2.1 del controlador MongoDB C incluye los siguientes cambios:

  • Corrige un error de timeout (tiempo de espera) en las solicitudes de KMS de Azure y GCP.

  • Gestiona las respuestas bulkWrite del servidor que omiten el parámetro nModified.

Advertencia

Cambios radicales

Controlador C v2.2.0 contiene cambios disruptivos. Para más información, consulte Versión 2.2.0 en la guía Actualizar versiones del controlador.

Las siguientes secciones describen los cambios en la versión 2.2.0 del controlador C.

La versión 2.2.0 de libbson incluye los siguientes cambios:

  • Incrementa la resolución de bson_get_monotonic_time() en plataformas Windows.

  • Elimina el soporte para Visual Studio 2015. La versión mínima compatible es Visual Studio 2017.

  • Se desestima la compatibilidad con macOS 11 y macOS 12

La versión 2.2.0 de libmongoc incluye los siguientes cambios:

  • Presenta las siguientes funcionalidades del mecanismo de autenticación MONGODB-OIDC:

    • Agrega soporte para una función de retorno personalizada con mongoc_client_set_oidc_callback y mongoc_client_pool_set_oidc_callback.

    • Agrega soporte para el entorno de Azure con la propiedad environment:azure.

    • Añade compatibilidad para el entorno GCP con la propiedad environment:gcp.

    • No admite entornos de Kubernetes en esta versión.

  • Añade las siguientes funcionalidades a mongoc_bulkwrite_t: - Añade la función mongoc_bulkwrite_is_acknowledged. — Añade función mongoc_bulkwriteresult_serverid. - Añade soporte para operaciones de Queryable Encryption.

  • Agrega el siguiente soporte para índices de texto para Queryable Encryption:

    • Agrega el tipo mongoc_client_encryption_encrypt_text_opts_t.

    • Agrega soporte de vista previa para búsqueda de subcadenas, prefijos y sufijos solo para cargas de trabajo experimentales. Estas funciones no son estables y su seguridad no está garantizada hasta que se lancen como Generalmente Disponibles (GA). La versión GA de estas funcionalidades puede no ser retrocompatible con la versión preliminar.

  • Agrega soporte para TLS v1.3 en plataformas Windows con Windows Secure Channel.

  • No intenta reanudar al recorrer un flujo de cambios cerrado.

  • Elimina el soporte para Visual Studio 2015. La versión mínima compatible es Visual Studio 2017.

  • Eleva la versión requerida de libmongocrypt de 1.13.0 a 1.15.0. Esto admite cifrado en uso y corresponde a la opción ENABLE_CLIENT_SIDE_ENCRYPTION de CMake.

  • Se descontinúa el soporte para macOS 11 y macOS 12.

Para obtener más información sobre esta versión, consulta las notas de versión v2.2.0.

Las siguientes secciones describen los cambios en la versión 2.1.2 del controlador C.

Esta versión se incrementa para coincidir con la versión libmongoc, pero no hay cambios desde 2.1.1.

La versión 2.1.2 de libmongoc incluye los siguientes cambios:

  • Corrige el siguiente problema de vulnerabilidades y exposiciones comunes (CVE): la escritura masiva con opciones lee memoria no válida si se pasa con opciones grandes. Para obtener más información, consulte el problema CVE-2025-12119 relacionado.

Para obtener más información sobre esta versión, consulta las notas de versión v2.1.2.

Las siguientes secciones describen los cambios en la versión 2.1.1 del controlador C.

Esta versión se incrementa para coincidir con la versión libmongoc, pero no hay cambios desde 2.1.0.

La versión 2.1.1 de libmongoc incluye los siguientes cambios:

  • Ya no se propaga la bandera -fPIC en los destinos de CMake.

  • Aplica el comportamiento del comando de guardado a la función mongoc_collection_create_indexes_with_opts().

  • Omite el campo saslSupportedMechs en comandos de supervisión de un solo hilo.

Para obtener más información sobre esta versión, consulta las notas de versión v2.1.1.

Advertencia

Cambios radicales

Controlador C v2.1.0 contiene cambios disruptivos. Para obtener más información, consulta Versión 2.1.0 en la guía Actualizar versiones de controladores.

Las siguientes secciones describen los cambios en la versión 2.1.0 del controlador C.

La versión 2.1.0 de libbson incluye los siguientes cambios:

  • Para entornos que no son Windows, el script de desinstalación ahora llama al comando find "$dir" -maxdepth 1 para detectar directorios que no están vacíos en lugar del comando ls --almost-all, que no era compatible con macOS.

  • En entornos Windows, el script de desinstalación ya no "tiene éxito" con un valor %ERRORLABEL% incorrecto y distinto de cero.

  • Remueve el soporte para Debian 9 y Debian 10.

  • Establece la versión máxima de la política de CMake en 4.0. La versión máxima no estaba establecida anteriormente.

La versión 2.1.0 de libmongoc incluye los siguientes cambios:

  • Para entornos que no son Windows, el script de desinstalación ahora llama al comando find "$dir" -maxdepth 1 para detectar directorios que no están vacíos en lugar del comando ls --almost-all, que no era compatible con macOS.

  • En entornos Windows, el script de desinstalación ya no "tiene éxito" con un valor %ERRORLABEL% incorrecto y distinto de cero.

  • Agrega compatibilidad con ventana Secure canal para verificar los certificados del cliente con firmas más nuevas.

  • Reemplaza el uso de rand() con alternativas seguras para subprocesos.

  • Remueve el soporte para Debian 9 y Debian 10.

  • Actualiza la versión mínima compatible de MongoDB Server de 4.0 a 4.2.

  • Establece la versión máxima de la política de CMake en 4.0. La versión máxima no estaba establecida anteriormente.

  • Remueve los búferes duraderos no útiles para reducir el uso de memoria.

  • Mejora los mensajes de error producidos por las API de Windows.

Las siguientes secciones describen los cambios en la versión 2.0.2 del controlador C.

Esta versión incluye varias correcciones a la familia de funciones bson_validate, con los siguientes cambios de comportamiento menores:

  • Cuando se especifica la configuración BSON_VALIDATE_UTF8, el controlador rechaza las secuencias UTF-8 no válidas en lugar de aceptarlas como en versiones anteriores.

  • El controlador valida el documento de alcance en un elemento "código con alcance" obsoleto con un conjunto fijo de reglas y lo trata como un objeto JavaScript opaco.

  • El controlador aplica un límite de anidación de documentos durante la validación.

La versión 2.0.2 de libmongoc incluye los siguientes cambios:

  • Corrige un mensaje de bson_strerror_r en Windows.

  • Soluciona fugas de memoria con Windows Secure Channel.

  • Corrige la carga de claves RSA PKCS#8 con Windows Secure Channel.

Para obtener más información sobre esta versión, consulta las notas de versión v2.0.2.

Las siguientes secciones describen los cambios en la versión 2.0.1 del controlador C.

La versión 2.0.1 de libbson incluye los siguientes cambios:

  • Corrige un error de configuración de CMake 4 en sistemas operativos macOS

La versión 2.0.1 de libmongoc incluye los siguientes cambios:

  • Corrige un problema de manejo de nombre de usuario para la autenticación de MONGODB-X509 que se producía cuando el driver C estaba configurado para utilizar la librería Secure Transport o Secure canal

  • Ya no rellena un mongoc_bulkwritereturn_t.res con un resultado parcial cuando la función mongoc_bulkwrite_execute() genera un error de cliente después de la primera operación de guardado

Para obtener más información sobre esta versión, consulta las notas de versión v2.0.1.

Advertencia

Cambios radicales

Controlador C v2.0.0 contiene cambios disruptivos. Para obtener más información, consulta Versión 2.0.0 en la guía Actualizar versiones de controladores.

Las siguientes secciones describen los cambios en la versión 2.0.0 del controlador C.

Importante

Eliminaciones

La 2.0.0 versión del controlador elimina muchos tipos y métodos obsoletos. Para ver la lista completa de eliminaciones, consulte la sección "Eliminaciones" de las notas de la 2.0 versión v.

La versión 2.0.0 de libbson incluye los siguientes cambios:

  • Agrega soporte para el subtipo Vector Binario BSON. Para obtener más información, consulta Subtipo de Vector Binario BSON en la documentación de la API de libbson.

La versión 2.0.0 de libmongoc incluye los siguientes cambios:

Para obtener más información sobre esta versión, consulte las notas de la versión v.2.0

Las siguientes secciones describen los cambios en la versión 1.30.3 del controlador C.

Esta versión se incrementa para coincidir con la versión libmongoc, pero no hay cambios desde 1.30.6.

La versión 1.30.6 de libmongoc incluye los siguientes cambios:

  • Corrige el siguiente problema de vulnerabilidades y exposiciones comunes (CVE): la escritura masiva con opciones lee memoria no válida si se pasa con opciones grandes. Para obtener más información, consulte el problema CVE-2025-12119 relacionado.

Para obtener más información sobre esta versión, consulta las notas de versión v1.30.6.

Las siguientes secciones describen los cambios en la versión 1.30.3 del controlador C.

La versión 1.30.3 de libbson incluye los siguientes cambios:

  • En previsión del lanzamiento de v2.0, se agregan nuevos paquetes CMake y destinos importados para bson para permitirle soportar ambas versiones principales sin modificar su proyecto CMake.

    • Para importar bson con los nuevos nombres, llame a find_package para el paquete bson. Los nuevos nombres de destino importados son bson::static, bson::shared y bson::bson.

La versión 1.30.3 de libmongoc incluye los siguientes cambios:

  • En anticipación de la v2.0 lanzamiento, agrega nuevos paquetes de CMake y objetivos importados para bson y mongoc para permitirle soportar ambas versiones principales sin modificar su proyecto CMake.

    • Para importar mongoc con los nuevos nombres, llame a find_package para el paquete mongoc. Los nuevos nombres de destino importados son mongoc::static, mongoc::shared y mongoc::mongoc.

    • Para importar bson con los nuevos nombres, llame a find_package para el paquete bson. Los nuevos nombres de destino importados son bson::static, bson::shared y bson::bson.

Para obtener más información sobre esta versión, consulta las notas de versión v1.30.3.

Las siguientes secciones describen los cambios en la versión 1.30.0 del controlador C.

La versión 1.30.0 de libbson incluye los siguientes cambios:

  • Se deprecia la compatibilidad con Debian 9 y Debian 10

  • Mejora el rendimiento de la serialización de BSON a JSON para documentos anidados

  • Actualiza la salida truncada de la función bson_as_json_with_opts() para que ya no divida las secuencias UTF-8 válidas

  • Actualiza el texto JSON generado de las siguientes maneras:

    • Serializa todos los arreglos y documentos vacíos con un espacio

    • Serializa arreglos que el controlador omite debido al límite máximo de recursividad a [ ... ] en lugar de { ... }

    • Aplica el límite máximo de recursión a documentos heredados de CodeWScope

  • Soluciona un parámetro de salida filtrado después de llamadas infructuosas a la función bson_append_array_builder_begin()

La versión 1.30.0 de libmongoc incluye los siguientes cambios:

  • Se deprecia la compatibilidad con Debian 9 y Debian 10

  • Añade soporte para registro estructurado. Para configurar esta funcionalidad, utiliza las funciones mongoc_client_set_structured_log_opts() y mongoc_client_pool_set_structured_log_opts().

  • Agrega soporte para la configuración de la duración de la caché de las llaves de cifrado de datos de encriptación en uso. Para configurar esta funcionalidad, utiliza las funciones mongoc_auto_encryption_opts_set_key_expiration() y mongoc_client_encryption_opts_set_key_expiration().

    Para obtener más información sobre la encriptación en uso, consulta Cifrado en uso en la guía de MongoDB Server.

  • Agrega soporte para la opción sort para operaciones de actualización y reemplazo.

  • Agrega soporte para construir un tipo mongoc_bulkwrite_t sin cliente utilizando las funciones mongoc_bulkwrite_new() y mongoc_bulkwrite_set_client().

  • Mejora el rendimiento de la función mongoc_server_description_new_copy()

  • Incluye las siguientes correcciones de eventos de APM requeridas por la especificación SDAM:

    • Después de entregar un evento server_opening, el conductor debe entregar un evento server_closed correspondiente antes de entregar topology_closed.

    • Antes de entregar un evento topology_closed, el conductor entrega un evento topology_changed que tiene un new_description de tipo Unknown

  • Corrige posibles fallos cuando el controlador informa los ID de documentos insertados en los resultados detallados de las escrituras masivas del cliente.

Para obtener más información sobre esta versión, consulte las notas de la versión v.1.30

Advertencia

Cambios radicales

Controlador C v1.29.0 contiene cambios disruptivos. Para obtener más información, consulta Versión 1.29.0 en la guía Actualizar versiones de controladores.

La versión 1.29.0 del driver C incluye varios cambios.

La versión 1.29.0 de libbson incluye los siguientes cambios:

  • Desestima el bson_string_t y las funciones asociadas

  • Se desaprueba compilar con BSON_MEMCHECK

  • Obsolece las funciones bson_in_range_*() y bson_cmp_*()

  • Obsolece las funciones bson_atomic_*() y bson_thrd-yield()

  • Obsolece las funciones bson_as_json() y bson_array_as_json()

La versión 1.29.0 de libmongoc incluye los siguientes cambios:

  • Se desaprueba mongoc_client_command. Utiliza mongoc_client_command_simple en su lugar.

  • Se desaprueba mongoc_database_command. Utiliza mongoc_database_command_simple en su lugar.

  • Se desaprueba mongoc_collection_command. Utiliza mongoc_collection_command_simple en su lugar.

Para obtener más información sobre esta versión, consulte las notas de la versión v.1.29

Advertencia

Cambios radicales

Controlador C v1.28.0 contiene cambios disruptivos. Para obtener más información, consulta Versión 1.28.0 en la guía Actualizar versiones de controladores.

La versión 1.28.0 del driver C incluye varios cambios.

La versión 1.28.0 de libbson incluye los siguientes cambios:

  • Agrega la función bson_validate_with_error_and_offset()

  • Agrega soporte para consultas de rango de cifrado en uso

  • mongoc_collection_insert_one incluye el ID de inserción

  • Agrega nueva API de escritura masiva mongoc_bulkwrite_t

  • Adds serverMonitoringMode URI option

  • Elimina la opción *_hint. En cambio, utiliza la opción *_server_id.

    • Se desaprueba mongoc_bulk_operation_set_hint. En su lugar, utilice mongoc_bulk_operation_set_server_id.

    • Se desaprueba mongoc_bulk_operation_get_hint. En su lugar, utilice mongoc_bulk_operation_get_server_id.

    • Se desaprueba mongoc_cursor_set_hint. En su lugar, utilice mongoc_cursor_set_server_id.

    • Se desaprueba mongoc_cursor_get_hint. En su lugar, utilice mongoc_cursor_get_server_id .

  • Se desaprueba ENABLE_SSL=LIBRESSL y mongoc_stream_tls_libressl_new.

  • Se desaprueban ENABLE_SASL=CYRUS y la opción CYRUS_PLUGIN_PATH_PREFIX en las plataformas Windows.

Para obtener más información sobre esta versión, consulte las notas de la versión v.1.28

La versión 1.27.6 del driver C incluye varios cambios.

La versión 1.27.6 de libbson incluye los siguientes cambios:

  • Soluciona el manejo de JSON extendido malformado para tipos especiales de BSON

La versión 1.27.6 de libmongoc incluye los siguientes cambios:

  • Corrige la advertencia de TSan

  • Corrige la compilación de C23

  • Documenta el comportamiento esperado de los errores de comandos en una transacción

La versión 1.27.5 del driver C incluye varios cambios.

La versión 1.27.5 de libbson incluye los siguientes cambios:

  • Soluciona el manejo de string largas en bson_append_utf8

La versión 1.27.5 de libmongoc incluye los siguientes cambios:

  • Corrige un posible error de compilación en entornos donde bool o _Bool es una macro

La versión 1.27.4 del driver C incluye varios cambios.

La versión 1.27.4 de libbson incluye los siguientes cambios:

  • Corrige problemas de compilación con Visual Studio 2013

La versión 1.27.4 de libmongoc incluye los siguientes cambios:

  • Corrige posibles fallos al leer mensajes defectuosos del protocolo cableado

  • Corrige problemas de compilación con Visual Studio 2013

La versión 1.27.3 del driver C incluye varios cambios.

La versión 1.27.3 de libbson incluye los siguientes cambios:

  • Introduce cambios en los procesos de desarrollo, incluyendo nueva firma de código y seguimiento de dependencias. No hay cambios en el comportamiento ni en la API.

La versión 1.27.3 de libmongoc incluye los siguientes cambios:

  • Actualiza el Zlib integrado de la versión 1.2.3 a la 1.3.1

La versión 1.27.2 del driver C incluye varios cambios.

La versión 1.27.2 de libbson incluye los siguientes cambios:

  • Correcciones en el análisis de dos puntos en la zona horaria

  • Corrige el error al no poder inicializar un subdocumento en bson_iter_visit_all

La versión 1.27.2 de libmongoc incluye los siguientes cambios:

  • Cierra las conexiones residuales a servidores remotos

  • Verifica la variable de entorno MONGO_EXPERIMENTAL_SRV_PREFER_TCP para preferir TCP sobre la búsqueda SRV

La versión 1.27.1 del driver C incluye varios cambios.

La versión 1.27.1 de libbson incluye los siguientes cambios:

  • Corrige el manejo de cadenas grandes en bson_string_new y bson_string_append

Esta versión se incrementa para coincidir con la versión libbson, pero no hay cambios desde 1.27.0.

Advertencia

Cambios radicales

Controlador C v1.27.0 contiene cambios disruptivos. Para obtener más información, consulta Versión 1.27.0 en la guía Actualizar versiones de controladores.

La versión 1.27.0 del driver C incluye varios cambios.

Esta versión se incrementa para coincidir con la versión libbson, pero no hay cambios desde 1.26.2.

La versión 1.27.0 de libmongoc incluye los siguientes cambios:

  • Corrige un posible fallo cuando el cliente está configurado con una contraseña vacía

  • Agrega el nombre de la base de datos a los eventos de comando mongoc_apm_command_failed_get_database_name y mongoc_apm_command_succeeded_get_database_name

  • Admite el protocolo KMIP delegado para encriptación en uso

  • Permite configurar el tiempo de espera del socket por cliente

Advertencia

Cambios radicales

Controlador C v1.26.2 contiene cambios disruptivos. Para obtener más información, consulta Versión 1.26.2 en la guía Actualizar versiones de controladores.

La versión 1.26.2 del driver C incluye varios cambios.

La versión 1.26.2 de libbson incluye los siguientes cambios:

  • Corrige iteración en bson_strfreev

La versión 1.26.2 de libmongoc incluye los siguientes cambios:

  • Resuelve un posible cuelgue si se llama a mongoc_gridfs_file_readv con un fragmento dañado con datos incompletos

  • Corrige la afirmación con el protocolo de cursor de escape heredado cuando se conecta a versiones del servidor MongoDB anteriores a 4.2

La versión 1.26.1 del driver C incluye varios cambios.

La versión 1.26.1 de libbson incluye los siguientes cambios:

  • Utiliza la asignación alineada para bson_array_builder_t

La versión 1.26.1 de libmongoc incluye los siguientes cambios:

  • Corrige la compilación de 32bits con 64bits time_t

La versión 1.26.0 del driver C incluye varios cambios.

Esta versión se incrementa para coincidir con la versión libmongoc, pero no hay cambios desde 1.25.4.

La versión 1.26.0 de libmongoc incluye los siguientes cambios:

  • Admite proveedores KMS con nombre

  • Redirige los reintentos en clústeres particionados a otro mongos si es posible

  • Agrega el archivo VERSION_CURRENT en la fuente para facilitar la construcción

  • Considera que más errores se pueden reintentar

Volver

autenticación de empresa