Overview
El driver de MongoDB C consiste en dos librerías: 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.
Descubra qué hay de nuevo en:
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): el guardado masivo con opciones lee memoria no válida si se pasa con opciones grandes. Para obtener más información, consulta 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.5
Las siguientes secciones describen los cambios en la versión 1.30.5 del controlador C.
libbson
La versión 1.30.5 de libbson incluye los siguientes cambios:
Correcciones
Esta versión incluye varias correcciones a la familia de funciones bson_validate, con los siguientes cambios menores en el comportamiento:
Cuando
BSON_VALIDATE_UTF8está especificado, el controlador rechazará las secuencias inválidas de UTF-8 en lugar de aceptarlas como en las versiones anteriores.El controlador valida el documento de alcance en un elemento en desuso "código con alcance" 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 1.30.5 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 v1.30.5.
Novedades en 1.30.4
Las siguientes secciones describen los cambios en la versión 1.30.4 del controlador C.
libbson
Esta versión se incrementa para coincidir con la versión libmongoc, pero no hay cambios desde 1.30.3.
libmongoc
La versión 1.30.4 de libmongoc incluye los siguientes cambios:
Correcciones
Corrige un problema de manejo de nombre de usuario para la autenticación
MONGODB-X509que ocurre cuando el driver C está configurado para usar la librería Secure Transport o Secure canal.Ya no se llena 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 guardar.
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 anticipación a la v2.0 lanzamiento, añade nuevos paquetes de CMake y objetivos importados para
bsonque te permiten soportar ambas versiones principales sin modificar tu 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 las 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 de las IDs de documentos insertados en los resultados detallados de escrituras masivas de clientes
Para obtener más información sobre esta versión, consulte las notas de versión v1.30.
Novedades en 1.29.0
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
Obsoleta
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.
Cambios
Descarta la compatibilidad con Visual Studio 2013
Aumenta la versión requerida de la dependencia
libmongocrypta 1.12.0 para admitir la funcionalidad de cifrado en uso.
Para obtener más información sobre esta versión, consulte las notas de versión v1.29.
Novedades en 1.28.0
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()
Cambios
Elimina la detección y el uso automáticos de
ccacheremover
Mongo_USE_CCACHE
libmongoc
Nuevas características:
Agrega soporte para consultas de rango de cifrado en uso
mongoc_collection_insert_oneincluye el ID de inserciónAgrega una nueva API de guardado masivo
mongoc_bulkwrite_tAdds
serverMonitoringModeURI option
Cambios
Eleva la versión mínima del protocolo de conexión de
6a7Aumenta la versión requerida de
libmongocrypta v1.11.0 para admitir el cifrado en uso.
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 versión v1.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
Soluciona 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
Soluciona 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
Soluciona problemas de compilar 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
Soluciona problemas de compilar 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
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:
Cambios
Aumenta la versión requerida de libmongocrypt a 1.10.0 para admitir la encriptación en uso. Esto corresponde a la opción CMake
ENABLE_CLIENT_SIDE_ENCRYPTION.
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
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:
Cambios
Por defecto, desactiva la carga de plugins con Cyrus SASL en Windows. Para volver a habilitar, configure la opción de CMake
CYRUS_PLUGIN_PATH_PREFIXen el prefijo de ruta absoluta de los complementos de Cyrus SASL.
Correcciones
Resuelve un posible cuelgue si se llama a
mongoc_gridfs_file_readvcon un fragmento dañado con datos incompletosSoluciona un assert con el protocolo legacy exhaust cursor al conectarse 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 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:
Soporta proveedores de KMS nombrados
Redirige los reintentos en clústeres particionados a otro mongos si es posible
Mejoras
Agrega
VERSION_CURRENTarchivo en fuente para facilitar la construcciónConsidera que más errores pueden ser reintentados