Docs Menu
Docs Home
/ /

Notas de versión

El controlador C de MongoDB consta de dos bibliotecas: libbson y libmongoc. En esta página, puede obtener información sobre los cambios y las obsolescencias realizadas en cada versión de las bibliotecas de controladores.

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 tiempo de espera en las solicitudes KMS de Azure y GCP.

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

Advertencia

Cambios radicales

El controlador C v2.2.0 contiene cambios importantes. Para más información, consulte Versión 2.2.0 en la guía de actualización de 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:

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

  • Elimina la compatibilidad con 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 características del mecanismo de autenticación MONGODB-OIDC:

    • Agrega soporte para una devolución de llamada personalizada con mongoc_client_set_oidc_callback y mongoc_client_pool_set_oidc_callback.

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

    • Agrega soporte para el entorno GCP con la propiedad environment:gcp.

    • No es compatible con el entorno Kubernetes en esta versión.

  • Agrega las siguientes características a mongoc_bulkwrite_t: - Agrega la función mongoc_bulkwrite_is_acknowledged. - Agrega la función mongoc_bulkwriteresult_serverid. - Agrega soporte para operaciones de cifrado consultable.

  • Agrega el siguiente soporte para índices de texto para cifrado consultable:

    • Agrega el tipo mongoc_client_encryption_encrypt_text_opts_t.

    • Añade compatibilidad con la vista previa para la búsqueda de subcadenas, prefijos y sufijos, solo para cargas de trabajo experimentales. 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.

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

  • No intenta reanudar al iterar un flujo de cambio cerrado.

  • Elimina la compatibilidad con Visual Studio 2015. La versión mínima compatible es Visual Studio 2017.

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

  • Deja obsoleto el soporte para macOS 11 y macOS 12.

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

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

Esta versión se incrementa para que coincida 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, consulte las notas de la versión v.2.1.2

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

Esta versión se incrementa para que coincida 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 el indicador -fPIC en los objetivos de CMake.

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

  • Omite el campo saslSupportedMechs en comandos de monitoreo de un solo subproceso.

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

Advertencia

Cambios radicales

El controlador C v2.1.0 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".2.1.0

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 sean 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.

  • Elimina el soporte para Debian 9 y Debian 10.

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

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

  • Para entornos que no sean 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.

  • Elimina el soporte para Debian 9 y Debian 10.

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

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

  • 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 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 anidamiento 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.

  • Corrige pérdidas 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, consulte las notas de la versión v.2.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 MONGODB-X509 que ocurrió cuando el controlador C se configuró para usar la biblioteca Secure Transport o Secure Channel

  • 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 escritura

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

Advertencia

Cambios radicales

El controlador C v2.0.0 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".2.0.0

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

Importante

Mudanzas

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:

  • Añade compatibilidad con el subtipo de vector binario BSON. Para obtener más información, consulte el 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 que coincida 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, consulte las notas de la versión v.1.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 previsión del lanzamiento de v2.0, se agregan nuevos paquetes CMake y destinos 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, consulte las notas de la versión v.1.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 desaprueba el soporte para 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 secuencias UTF-8 válidas

  • Las actualizaciones generan texto JSON de las siguientes maneras:

    • Serializa todas las matrices y documentos vacíos con un espacio

    • Serializa matrices que el controlador omite debido al límite máximo de recursión a [ ... ] en lugar de { ... }

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

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

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

  • Se desaprueba el soporte para Debian 9 y Debian 10

  • Añade compatibilidad con el registro estructurado. Para configurar esta función, utilice las funciones mongoc_client_set_structured_log_opts() y mongoc_client_pool_set_structured_log_opts().

  • Añade compatibilidad con la configuración de la duración de la caché de las claves de cifrado de datos de cifrado en uso. Para configurar esta función, utilice las funciones mongoc_auto_encryption_opts_set_key_expiration() y mongoc_client_encryption_opts_set_key_expiration().

    Para obtener más información sobre el cifrado en uso, consulte Cifrado en uso en el manual del servidor MongoDB.

  • 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 controlador 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

El controlador C v1.29.0 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".1.29.0

La versión 1.29.0 del controlador 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 la compilación con BSON_MEMCHECK

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

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

  • Desestima 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

El controlador C v1.28.0 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".1.28.0

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

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

  • Añade la función bson_validate_with_error_and_offset()

  • Agrega compatibilidad con 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

  • Se desestima la opción *_hint. En su lugar, utilice 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 .

  • Deja obsoletos ENABLE_SSL=LIBRESSL y mongoc_stream_tls_libressl_new.

  • Deja obsoleta la opción ENABLE_SASL=CYRUS y 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 controlador C incluye varios cambios.

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

  • Corrige el manejo de JSON extendido mal formado para tipos BSON especiales

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 comando en una transacción

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

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

  • Corrige el manejo de cadenas grandes 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 controlador 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 un posible fallo al leer un mensaje de protocolo cableado mal formado.

  • Corrige problemas de compilación con Visual Studio 2013

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

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

  • Introduce cambios en los procesos de desarrollo, incluyendo nuevas firmas de código y seguimiento de dependencias. No hay cambios de comportamiento ni de API.

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

  • Actualizaciones incluidas en Zlib de 1.2.3 a 1.3.1

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

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

  • Corrige 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 sobrantes a servidores remotos

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

La versión 1.27.1 del controlador 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 que coincida con la versión libbson, pero no hay cambios desde 1.27.0.

Advertencia

Cambios radicales

El controlador C v1.27.0 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".1.27.0

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

Esta versión se incrementa para que coincida 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 el cifrado en uso

  • Permite configurar el tiempo de espera del socket por cliente

Advertencia

Cambios radicales

El controlador C v1.26.2 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".1.26.2

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

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

  • Corrige la 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 controlador 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 controlador C incluye varios cambios.

Esta versión se incrementa para que coincida 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 fragmentados 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 empresarial