Overview
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:
Novedades en 2.2.1
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
bulkWriterespuestas del servidor que omiten el parámetronModified.
Novedades en 2.2.0
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.
Libbson
La versión 2.2.0 de libbson incluye los siguientes cambios:
Correcciones
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.
Obsolescencias
Se desestima la compatibilidad con macOS 11 y macOS 12
libmongoc
La versión 2.2.0 de libmongoc incluye los siguientes cambios:
Nuevas características:
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_callbackymongoc_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ónmongoc_bulkwrite_is_acknowledged. - Agrega la funciónmongoc_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.
Correcciones
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_ENCRYPTIONde CMake.
Obsolescencias
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
Novedades en 2.1.2
Las siguientes secciones describen los cambios en la versión 2.1.2 del controlador C.
Libbson
Esta versión se incrementa para que coincida con la versión libmongoc, pero no hay cambios desde 2.1.1.
libmongoc
La versión 2.1.2 de libmongoc incluye los siguientes cambios:
Correcciones
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
Novedades en 2.1.1
Las siguientes secciones describen los cambios en la versión 2.1.1 del controlador C.
Libbson
Esta versión se incrementa para que coincida con la versión libmongoc, pero no hay cambios desde 2.1.0.
libmongoc
La versión 2.1.1 de libmongoc incluye los siguientes cambios:
Correcciones
Ya no se propaga el indicador
-fPICen los objetivos de CMake.Aplica el comportamiento del comando de escritura a la función
mongoc_collection_create_indexes_with_opts().Omite el campo
saslSupportedMechsen 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
Novedades en 2.1.0
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.
Libbson
La versión 2.1.0 de libbson incluye los siguientes cambios:
Correcciones
Para entornos que no sean Windows, el script de desinstalación ahora llama al comando
find "$dir" -maxdepth 1para detectar directorios que no estén vacíos en lugar del comandols --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.
Mejoras
Establece la versión máxima de la política de CMake en
4.0. Anteriormente, esta versión máxima no estaba establecida.
libmongoc
La versión 2.1.0 de libmongoc incluye los siguientes cambios:
Correcciones
Para entornos que no sean Windows, el script de desinstalación ahora llama al comando
find "$dir" -maxdepth 1para detectar directorios que no estén vacíos en lugar del comandols --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.
Mejoras
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.
Novedades en 2.0.2
Las siguientes secciones describen los cambios en la versión 2.0.2 del controlador C.
Libbson
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.
libmongoc
La versión 2.0.2 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige un mensaje de
bson_strerror_ren 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
Novedades en 2.0.1
Las siguientes secciones describen los cambios en la versión 2.0.1 del controlador C.
Libbson
La versión 2.0.1 de libbson incluye los siguientes cambios:
Correcciones
Corrige un error de configuración de CMake 4 en sistemas operativos macOS
libmongoc
La versión 2.0.1 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige un problema de manejo de nombre de usuario para la autenticación
MONGODB-X509que ocurrió cuando el controlador C se configuró para usar la biblioteca Secure Transport o Secure ChannelYa no rellena un
mongoc_bulkwritereturn_t.rescon un resultado parcial cuando la funciónmongoc_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
Novedades en 2.0.0
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.
Libbson
La versión 2.0.0 de libbson incluye los siguientes cambios:
Nuevas características:
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.
libmongoc
La versión 2.0.0 de libmongoc incluye los siguientes cambios:
Nuevas características:
Admite operaciones agregadas que incluyen etapas
$lookuppara el cifrado en uso. Para obtener más información, consulte las siguientes referencias en el manual de MongoDB Server:
Para obtener más información sobre esta versión, consulte las notas de la versión v.2.0
Novedades en 1.30.6
Las siguientes secciones describen los cambios en la versión 1.30.3 del controlador C.
Libbson
Esta versión se incrementa para que coincida con la versión libmongoc, pero no hay cambios desde 1.30.6.
libmongoc
La versión 1.30.6 de libmongoc incluye los siguientes cambios:
Correcciones
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
Novedades en 1.30.3
Las siguientes secciones describen los cambios en la versión 1.30.3 del controlador C.
Libbson
La versión 1.30.3 de libbson incluye los siguientes cambios:
Nuevas características:
En previsión del lanzamiento de v2.0, se agregan nuevos paquetes CMake y destinos importados para
bsonpara permitirle soportar ambas versiones principales sin modificar su proyecto CMake.Para importar
bsoncon los nuevos nombres, llame afind_packagepara el paquetebson. Los nuevos nombres de destino importados sonbson::static,bson::sharedybson::bson.
libmongoc
La versión 1.30.3 de libmongoc incluye los siguientes cambios:
Nuevas características:
En previsión del lanzamiento de v2.0, se agregan nuevos paquetes CMake y destinos importados para
bsonymongocpara permitirle soportar ambas versiones principales sin modificar su proyecto CMake.Para importar
mongoccon los nuevos nombres, llame afind_packagepara el paquetemongoc. Los nuevos nombres de destino importados sonmongoc::static,mongoc::sharedymongoc::mongoc.Para importar
bsoncon los nuevos nombres, llame afind_packagepara el paquetebson. Los nuevos nombres de destino importados sonbson::static,bson::sharedybson::bson.
Para obtener más información sobre esta versión, consulte las notas de la versión v.1.30.3
Novedades en 1.30.0
Las siguientes secciones describen los cambios en la versión 1.30.0 del controlador C.
Libbson
La versión 1.30.0 de libbson incluye los siguientes cambios:
Obsolescencias
Se desaprueba el soporte para Debian 9 y Debian 10
Mejoras
Mejora el rendimiento de la serialización de BSON a JSON para documentos anidados
Correcciones
Actualiza la salida truncada de la función
bson_as_json_with_opts()para que ya no divida secuencias UTF-8 válidasLas 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()
libmongoc
La versión 1.30.0 de libmongoc incluye los siguientes cambios:
Obsolescencias
Se desaprueba el soporte para Debian 9 y Debian 10
Nuevas características:
Añade compatibilidad con el registro estructurado. Para configurar esta función, utilice las funciones
mongoc_client_set_structured_log_opts()ymongoc_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()ymongoc_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
sortpara operaciones de actualización y reemplazo.Agrega soporte para construir un tipo
mongoc_bulkwrite_tsin cliente utilizando las funcionesmongoc_bulkwrite_new()ymongoc_bulkwrite_set_client().
Mejoras
Mejora el rendimiento de la función
mongoc_server_description_new_copy()
Correcciones
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 eventoserver_closedcorrespondiente antes de entregartopology_closedAntes de entregar un evento
topology_closed, el controlador entrega un eventotopology_changedque tiene unnew_descriptionde tipoUnknown
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
Novedades en 1.29.0
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.
Libbson
La versión 1.29.0 de libbson incluye los siguientes cambios:
Obsolescencias
Desestima el
bson_string_ty las funciones asociadasSe desaprueba la compilación con
BSON_MEMCHECKDesestima las funciones
bson_in_range_*()ybson_cmp_*()Desestima las funciones
bson_atomic_*()ybson_thrd-yield()Desestima las funciones
bson_as_json()ybson_array_as_json()
libmongoc
La versión 1.29.0 de libmongoc incluye los siguientes cambios:
Obsolescencias
Se desaprueba
mongoc_client_command. Utilizamongoc_client_command_simpleen su lugar.Se desaprueba
mongoc_database_command. Utilizamongoc_database_command_simpleen su lugar.Se desaprueba
mongoc_collection_command. Utilizamongoc_collection_command_simpleen su lugar.
Para obtener más información sobre esta versión, consulte las notas de la versión v.1.29
Novedades en 1.28.0
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.
Libbson
La versión 1.28.0 de libbson incluye los siguientes cambios:
Nuevas características:
Añade la función
bson_validate_with_error_and_offset()
libmongoc
Nuevas características:
Agrega compatibilidad con consultas de rango de cifrado en uso
mongoc_collection_insert_oneincluye el ID de inserciónAgrega nueva API de escritura masiva
mongoc_bulkwrite_tAdds
serverMonitoringModeURI option
Obsolescencias
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, utilicemongoc_bulk_operation_set_server_id.Se desaprueba
mongoc_bulk_operation_get_hint. En su lugar, utilicemongoc_bulk_operation_get_server_id.Se desaprueba
mongoc_cursor_set_hint. En su lugar, utilicemongoc_cursor_set_server_id.Se desaprueba
mongoc_cursor_get_hint. En su lugar, utilicemongoc_cursor_get_server_id.
Deja obsoletos
ENABLE_SSL=LIBRESSLymongoc_stream_tls_libressl_new.Deja obsoleta la opción
ENABLE_SASL=CYRUSyCYRUS_PLUGIN_PATH_PREFIXen las plataformas Windows.
Para obtener más información sobre esta versión, consulte las notas de la versión v.1.28
Novedades en 1.27.6
La versión 1.27.6 del controlador C incluye varios cambios.
Libbson
La versión 1.27.6 de libbson incluye los siguientes cambios:
Correcciones
Corrige el manejo de JSON extendido mal formado para tipos BSON especiales
libmongoc
La versión 1.27.6 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige la advertencia de TSan
Corrige la compilación de C23
Mejoras
Documenta el comportamiento esperado de los errores de comando en una transacción
Novedades en 1.27.5
La versión 1.27.5 del controlador C incluye varios cambios.
Libbson
La versión 1.27.5 de libbson incluye los siguientes cambios:
Correcciones
Corrige el manejo de cadenas grandes en
bson_append_utf8
libmongoc
La versión 1.27.5 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige un posible error de compilación en entornos donde
boolo_Booles una macro
Novedades en 1.27.4
La versión 1.27.4 del controlador C incluye varios cambios.
Libbson
La versión 1.27.4 de libbson incluye los siguientes cambios:
Correcciones
Corrige problemas de compilación con Visual Studio 2013
libmongoc
La versión 1.27.4 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige un posible fallo al leer un mensaje de protocolo cableado mal formado.
Corrige problemas de compilación con Visual Studio 2013
Novedades en 1.27.3
La versión 1.27.3 del controlador C incluye varios cambios.
Libbson
La versión 1.27.3 de libbson incluye los siguientes cambios:
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.
libmongoc
La versión 1.27.3 de libmongoc incluye los siguientes cambios:
Correcciones
Actualizaciones incluidas en Zlib de 1.2.3 a 1.3.1
Novedades en 1.27.2
La versión 1.27.2 del controlador C incluye varios cambios.
Libbson
La versión 1.27.2 de libbson incluye los siguientes cambios:
Correcciones
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
libmongoc
La versión 1.27.2 de libmongoc incluye los siguientes cambios:
Correcciones
Cierra las conexiones sobrantes a servidores remotos
Nuevas características:
Comprueba la variable de entorno
MONGO_EXPERIMENTAL_SRV_PREFER_TCPpara preferir TCP sobre la búsqueda SRV
Novedades en 1.27.1
La versión 1.27.1 del controlador C incluye varios cambios.
Libbson
La versión 1.27.1 de libbson incluye los siguientes cambios:
Correcciones
Corrige el manejo de cadenas grandes en
bson_string_newybson_string_append
libmongoc
Esta versión se incrementa para que coincida con la versión libbson, pero no hay cambios desde 1.27.0.
Novedades en 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.
Libbson
Esta versión se incrementa para que coincida con la versión libbson, pero no hay cambios desde 1.26.2.
libmongoc
La versión 1.27.0 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige un posible fallo cuando el cliente está configurado con una contraseña vacía
Nuevas características:
Agrega el nombre de la base de datos a los eventos de comando
mongoc_apm_command_failed_get_database_nameymongoc_apm_command_succeeded_get_database_nameAdmite el protocolo KMIP delegado para el cifrado en uso
Permite configurar el tiempo de espera del socket por cliente
Novedades en 1.26.2
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.
Libbson
La versión 1.26.2 de libbson incluye los siguientes cambios:
Correcciones
Corrige la iteración en
bson_strfreev
libmongoc
La versión 1.26.2 de libmongoc incluye los siguientes cambios:
Correcciones
Resuelve un posible cuelgue si se llama a
mongoc_gridfs_file_readvcon un fragmento dañado con datos incompletosCorrige la afirmación con el protocolo de cursor de escape heredado cuando se conecta a versiones del servidor MongoDB anteriores a 4.2
Novedades en 1.26.1
La versión 1.26.1 del controlador C incluye varios cambios.
Libbson
La versión 1.26.1 de libbson incluye los siguientes cambios:
Correcciones
Utiliza la asignación alineada para
bson_array_builder_t
libmongoc
La versión 1.26.1 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige la compilación de 32bits con 64bits
time_t
Novedades en 1.26.0
La versión 1.26.0 del controlador C incluye varios cambios.
Libbson
Esta versión se incrementa para que coincida con la versión libmongoc, pero no hay cambios desde 1.25.4.
libmongoc
La versión 1.26.0 de libmongoc incluye los siguientes cambios:
Nuevas características:
Admite proveedores KMS con nombre
Redirige los reintentos en clústeres fragmentados a otro mongos si es posible
Mejoras
Agrega el archivo
VERSION_CURRENTen la fuente para facilitar la construcciónConsidera que más errores se pueden reintentar