Overview
Conozca las novedades en:
Novedades en 4.1
Advertencia
Cambios radicales
El controlador de C++ v4.1 contiene cambios importantes. Para más información, consulte Versión 4.1 en la guía de actualización de versiones del controlador.
La versión v4.1 del controlador incluye las siguientes funcionalidades:
Obsoleto
storage_options()método para el métodostorage_engine()recién agregado enmongocxx::v_noabi::options::indexAgrega soporte para el tipo de vector binario BSON.
Para obtener más información, consulte los siguientes recursos:
Tipos BSON de datos binarios en el manual del servidor MongoDB
Ejemplo de uso delvector binario BSON en GitHub
Corrige el bug de la versión de la API del driver C observado en la versión v4.0
Añade un cambio a la
ENABLE_TESTSopción predeterminada de configuración, anunciada originalmente para la versión4.0 7700. Para obtener más información, consulte la descripción del cambio importante en la página de actualización.
Para obtener más información sobre esta versión, consulte las 4.1 Notas de la versión v en GitHub.
Novedades en 4.0
Advertencia
Cambios radicales
El controlador de C++ v4.0 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".4.0
La versión v4.0 del controlador incluye las siguientes funcionalidades:
Agrega un método getter para el campo
start_at_operation_timede una instanciamongocxx::options::change_stream.
La versión incluye el siguiente error:
CMake podría configurar incorrectamente la versión de la API de un controlador de C descargado automáticamente en
0.0.0cuando el proyecto de CMake se configura varias veces, o con el mismo valor que la versión de la API del controlador de C++ cuandoBUILD_VERSIONse configura explícitamente durante la configuración inicial. CMake solo descargará automáticamente el controlador de C junto con el controlador de C++ si no puede encontrar una instalación de controlador de C existente usandofind_package(). Este error se solucionará en una próxima versión de parche.
Para obtener más información sobre esta versión, consulte las 4.0 Notas de la versión v en GitHub.
Novedades en 3.11
Advertencia
Cambios radicales
El controlador de C++ v3.11 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".3.11
La versión v3.11 del controlador incluye las siguientes funcionalidades:
Agrega soporte para MongoDB Server v8.0.
Añade compatibilidad con consultas de rango de cifrado consultable. Para usar esta función, la aplicación debe conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre el cifrado consultable,consulte Cifrado consultable en el manual de MongoDB Server.
Agrega la función miembro
empty()paramongocxx::v_noabi::bulk_write.
La versión incluye el siguiente error:
CMake podría configurar incorrectamente la versión de la API de un controlador de C descargado automáticamente en
0.0.0cuando el proyecto de CMake se configura varias veces, o con el mismo valor que la versión de la API del controlador de C++ cuandoBUILD_VERSIONse configura explícitamente durante la configuración inicial. CMake solo descargará automáticamente el controlador de C junto con el controlador de C++ si no puede encontrar una instalación de controlador de C existente usandofind_package(). Este error se solucionará en una próxima versión de parche.
Para obtener más información sobre esta versión, consulte las 3.11 Notas de la versión v en GitHub.
Novedades en 3.10
Advertencia
Cambios radicales
El controlador de C++ v3.10 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".3.10
La versión del controlador v3.10.0 incluye las siguientes características nuevas:
Añade encabezados de avance que proporcionan declaraciones no definitorias de los tipos de clase
bsoncxxymongocxx. El controlador no admite declaraciones de avance definidas por el usuario de ninguna entidad de biblioteca. Para obtener la declaración o definición de una entidad de biblioteca, incluya siempre el encabezado correspondiente.La opción
ENABLE_BSONCXX_USE_POLY_IMPLSde CMake permite seleccionarbsoncxximplementaciones de polyfills de C++17 de forma predeterminada cuando no se solicita ninguna biblioteca de polyfills. Esta opción esOFFpor defecto.La opción
BSONCXX_POLY_USE_IMPLSde CMake permite seleccionarbsoncxximplementaciones de polyfills de C++17 en lugar de bibliotecas externas o la biblioteca estándar de C++. Esta opción esOFFpor defecto.Los espacios de nombres
bsoncxx::v_noabiymongocxx::v_noabiya no se declaran en línea. Las declaraciones de espacios de nombres raíz aún se admiten y se espera que sigan siendo equivalentes a sus definiciones anteriores. Por ejemplo,bsoncxx::documentsigue siendo equivalente absoncxx::v_noabi::documentymongocxx::clientamongocxx::v_noabi::client.De forma predeterminada, cuando los nombres de archivo de biblioteca se compilan con MSVC (según lo detecta la variable
MSVCde CMake), se incrustan con una cadena de etiqueta ABI. Estas cadenas son similares a las siguientes:bsoncxx-v_noabi-rhs-x64-v142-md.lib Para deshabilitar este comportamiento, configure
ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=OFFcomo parte de su configuración de CMake.La string de la etiqueta ABI también se puede embutir en los nombres de archivos de metadatos de pkg-config, de manera similar a lo siguiente:
libbsoncxx-v_noabi-rhs-x64-v142-md.pc Para habilitar este comportamiento, configure
ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=ONyENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=ONcomo parte de su configuración de CMake.
Para obtener más información sobre esta versión, consulte las 3.10 Notas de la versión v en GitHub.
Novedades en 3.9
Advertencia
Cambios radicales
El controlador de C++ v3.9 contiene cambios importantes. Para más información, consulte la versión en la guía "Actualizar versiones del controlador".3.9
La versión v3.9 del controlador incluye las siguientes funcionalidades:
La imagen del contenedor del controlador C++ ahora está disponible en Docker Hub.
El controlador descarga automáticamente la dependencia del controlador MongoDB C si no la proporciona.
El controlador ya no crea pruebas como parte del objetivo
all. Para crear pruebas, configureBUILD_TESTING=ONen CMake.El driver utiliza el módulo
FetchContentpara descargar y compilar la librería polyfill MNMLSTC Core, si no la proporciona el sistema, en lugar del móduloExternalProject. Tampoco parchea las directivasincludeen los encabezados de MNMLSTC Core.Añade la opción
MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIXde CMake. Si esta opción se establece enTRUE, la opciónCMAKE_INSTALL_PREFIXse establece de forma predeterminada en el directorio de compilación. El valor predeterminado de esta opción esTRUE.Agrega una API para administrar los índices de búsqueda de MongoDB.
Agrega el recurso
VERSIONINFOabsoncxx.dllymongocxx.dll.Documenta explícitamente que lanzar una excepción desde una devolución de llamada APM es un comportamiento indefinido.
No instala prematuramente los encabezados principales de MNMLSTC durante el paso de compilación de CMake.
Requiere que se encuentre un paquete CMake del controlador C de MongoDB a través de
find_dependency()para todas las configuraciones de paquetes de controladores C++ instalados.
Para obtener más información sobre esta versión, consulte las 3.9 Notas de la versión v en GitHub.