Overview
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:
Novedades en 2.2.1
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
bulkWritedel servidor que omiten el parámetronModified.
Novedades en 2.2.0
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.
Libbson
La versión 2.2.0 de libbson incluye los siguientes cambios:
Correcciones
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.
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 funcionalidades del mecanismo de autenticación
MONGODB-OIDC:Agrega soporte para una función de retorno personalizada con
mongoc_client_set_oidc_callbackymongoc_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ónmongoc_bulkwrite_is_acknowledged. — Añade funciónmongoc_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.
Correcciones
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_ENCRYPTIONde CMake.
Obsolescencias
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.
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 coincidir 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, consulta las notas de versión v2.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 coincidir 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 la bandera
-fPICen los destinos de CMake.Aplica el comportamiento del comando de guardado a la función
mongoc_collection_create_indexes_with_opts().Omite el campo
saslSupportedMechsen 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.
Novedades en 2.1.0
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.
Libbson
La versión 2.1.0 de libbson incluye los siguientes cambios:
Correcciones
Para entornos que no son 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.Remueve el soporte para Debian 9 y Debian 10.
Mejoras
Establece la versión máxima de la política de CMake en
4.0. La versión máxima no estaba establecida anteriormente.
libmongoc
La versión 2.1.0 de libmongoc incluye los siguientes cambios:
Correcciones
Para entornos que no son 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.Remueve el soporte para Debian 9 y Debian 10.
Mejoras
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.
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 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.
libmongoc
La versión 2.0.2 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige un mensaje de
bson_strerror_ren 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.
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 de
MONGODB-X509que se producía cuando el driver C estaba configurado para utilizar la librería Secure Transport o Secure canalYa 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 guardado
Para obtener más información sobre esta versión, consulta las notas de versión v2.0.1.
Novedades en 2.0.0
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.
Libbson
La versión 2.0.0 de libbson incluye los siguientes cambios:
Nuevas características:
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.
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 coincidir 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, consulta las notas de versión v1.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 anticipación de la v2.0 lanzamiento, agrega nuevos paquetes de CMake y objetivos 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, consulta las notas de versión v1.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 deprecia la compatibilidad con 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 las secuencias UTF-8 válidasActualiza 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()
libmongoc
La versión 1.30.0 de libmongoc incluye los siguientes cambios:
Obsolescencias
Se deprecia la compatibilidad con Debian 9 y Debian 10
Nuevas características:
Añade soporte para registro estructurado. Para configurar esta funcionalidad, utiliza las funciones
mongoc_client_set_structured_log_opts()ymongoc_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()ymongoc_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
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_closed.Antes de entregar un evento
topology_closed, el conductor 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
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.
Libbson
La versión 1.29.0 de libbson incluye los siguientes cambios:
Obsolescencias
Desestima el
bson_string_ty las funciones asociadasSe desaprueba compilar con
BSON_MEMCHECKObsolece las funciones
bson_in_range_*()ybson_cmp_*()Obsolece las funciones
bson_atomic_*()ybson_thrd-yield()Obsolece 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
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.
Libbson
La versión 1.28.0 de libbson incluye los siguientes cambios:
Nuevas características:
Agrega la función
bson_validate_with_error_and_offset()
libmongoc
Nuevas características:
Agrega soporte para 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
Elimina la opción
*_hint. En cambio, utiliza 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.
Se desaprueba
ENABLE_SSL=LIBRESSLymongoc_stream_tls_libressl_new.Se desaprueban
ENABLE_SASL=CYRUSy la opciónCYRUS_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 driver C incluye varios cambios.
Libbson
La versión 1.27.6 de libbson incluye los siguientes cambios:
Correcciones
Soluciona el manejo de JSON extendido malformado para tipos especiales de BSON
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 comandos en una transacción
Novedades en 1.27.5
La versión 1.27.5 del driver C incluye varios cambios.
Libbson
La versión 1.27.5 de libbson incluye los siguientes cambios:
Correcciones
Soluciona el manejo de string largas 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 driver 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 posibles fallos al leer mensajes defectuosos del protocolo cableado
Corrige problemas de compilación con Visual Studio 2013
Novedades en 1.27.3
La versión 1.27.3 del driver 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 nueva firma de código y seguimiento de dependencias. No hay cambios en el comportamiento ni en la API.
libmongoc
La versión 1.27.3 de libmongoc incluye los siguientes cambios:
Correcciones
Actualiza el Zlib integrado de la versión 1.2.3 a la 1.3.1
Novedades en 1.27.2
La versión 1.27.2 del driver C incluye varios cambios.
Libbson
La versión 1.27.2 de libbson incluye los siguientes cambios:
Correcciones
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
libmongoc
La versión 1.27.2 de libmongoc incluye los siguientes cambios:
Correcciones
Cierra las conexiones residuales a servidores remotos
Nuevas características:
Verifica 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 driver 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 coincidir con la versión libbson, pero no hay cambios desde 1.27.0.
Novedades en 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.
Libbson
Esta versión se incrementa para coincidir 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 encriptación en uso
Permite configurar el tiempo de espera del socket por cliente
Novedades en 1.26.2
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.
Libbson
La versión 1.26.2 de libbson incluye los siguientes cambios:
Correcciones
Corrige 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 driver 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 driver C incluye varios cambios.
Libbson
Esta versión se incrementa para coincidir 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 particionados 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