Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Notas de versión

Conozca las novedades en:

  • Versión 4.2

  • Versión 4.1

  • Versión 4.0

  • Versión 3.11

  • Versión 3.10

  • Versión 3.9

Advertencia

Cambios radicales

Controlador de C++ v4.2 contiene cambios disruptivos. Para más información, consulte Versión 4.2 en la guía de actualización de versiones de controladores.

La 4.2 versión de driver incluye las siguientes funcionalidades:

  • Se introduce la ABI estable (v1.0) del controlador C++ para uso experimental. Como parte de este cambio, se introdujeron cambios importantes que afectan a la ABI inestable. Al actualizar a la versión v4.2 del controlador, recomendamos migrar a la ABI estable en su aplicación.

  • Exporta correctamente el storage_engine() const en mongocxx::v_noabi::options::index usando macros de exportación mongocxx en lugar de macros de exportación bsoncxx.

  • Agrega los asistentes de flujo de cambios mongocxx::v1::change_stream::next() y mongocxx::v1::change_stream::try_next() para simplificar la iteración de flujos de cambios.

  • Agrega soporte experimental para índices de texto cifrado en uso hasta mongocxx::v1::text_options.

  • Elimina la compatibilidad con MongoDB Server.4.2 Para obtener más información, consulte los Calendarios del ciclo de vida del software de MongoDB.

  • Elimina la compatibilidad con macOS 11 y macOS 12 (obsoleto en v4.1).

  • Cambia el nombre de los archivos de configuración del paquete CMake para usar el patrón <name>Config.cmake y <name>ConfigVersion.cmake, para mantener la coherencia con el controlador C de MongoDB 2.0.0 y versiones posteriores.

  • Se desaconseja el uso de mongocxx::v_noabi::instance::current(). Recomendamos instanciar una variable instance no global que sea válida para todas las operaciones mongocxx, como se muestra en el siguiente código:

    int main() {
    mongocxx::instance instance;
    ...
    }

    Para implementaciones alternativas, consulte el registro 4.2 de cambios del controlador en el mongo-cxx-driver repositorio de GitHub.

Esta versión incluye la siguiente corrección de errores:

  • Corrige un problema por el cual el controlador generaba una excepción incorrecta al comparar un resultado mongocxx::result::insert_many con identificadores que no eran ObjectId.

Para obtener más información sobre esta versión, consulte las 4.2 Notas de la versión v en GitHub.

Advertencia

Cambios radicales

Controlador C++ v4.1 contiene cambios disruptivos. Para obtener más información, consulte Versión 4.1 en la guía Actualizar versiones de controladores.

La versión v4.1 del controlador incluye las siguientes funcionalidades:

  • Obsoleta el método storage_options() por el nuevo método storage_engine() en mongocxx::v_noabi::options::index

  • Agrega soporte para el tipo de vector binario BSON.

    Para obtener más información, consulta los siguientes recursos:

  • 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_TESTS opció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.

Advertencia

Cambios radicales

Controlador C++ v4.0 contiene cambios disruptivos. Para obtener más información, consulte Versión 4.0 en la guía Actualizar versiones de controladores.

La versión v4.0 del controlador incluye las siguientes funcionalidades:

  • Agrega un método getter para el campo start_at_operation_time de una instancia mongocxx::options::change_stream.

La versión incluye el siguiente error:

  • CMake podría configurar incorrectamente la versión de la API para un driver de C de descarga automática a 0.0.0 cuando el proyecto de CMake se configura más de una vez o al mismo valor que la versión de la API del driver de C++ cuando BUILD_VERSION se configura explícitamente durante la configuración inicial. CMake solo descargará automáticamente el driver C junto con el driver C++ si no puede encontrar una instalación existente de driver C utilizando find_package(). Este error se corregirá en una próxima actualizació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.

Advertencia

Cambios radicales

Controlador C++ v3.11 contiene cambios disruptivos. Para obtener más información, consulte Versión 3.11 en la guía Actualizar versiones de controladores.

La versión v3.11 del controlador incluye las siguientes funcionalidades:

  • Agrega soporte para MongoDB Server v8.0.

  • Agrega soporte para consultas de rango de Queryable Encryption. Para utilizar esta funcionalidad, tu aplicación debe conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre Queryable Encryption, consulta Queryable Encryption en el manual de MongoDB Server.

  • Agrega la función nodo empty() para mongocxx::v_noabi::bulk_write.

La versión incluye el siguiente error:

  • CMake podría configurar incorrectamente la versión de la API para un driver de C de descarga automática a 0.0.0 cuando el proyecto de CMake se configura más de una vez o al mismo valor que la versión de la API del driver de C++ cuando BUILD_VERSION se configura explícitamente durante la configuración inicial. CMake solo descargará automáticamente el driver C junto con el driver C++ si no puede encontrar una instalación existente de driver C utilizando find_package(). Este error se corregirá en una próxima actualizació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.

Advertencia

Cambios radicales

Controlador C++ v3.10 contiene cambios disruptivos. Para obtener más información, consulte Versión 3.10 en la guía Actualizar versiones de controladores.

El v3.10.0 la versión de driver incluye las siguientes nuevas funcionalidades:

  • Agrega encabezados reenvío que proporcionan declaraciones no definitorias de bsoncxx y mongocxx tipos de clase. El driver no admite declaraciones adelantadas definidas por el usuario de ninguna entidad de la librería. Para obtener la declaración o definición de una entidad de la librería, incluye siempre el encabezado correspondiente.

  • La opción ENABLE_BSONCXX_USE_POLY_IMPLS de CMake permite seleccionar bsoncxx implementaciones de polyfills de C++17 de forma predeterminada cuando no se solicita ninguna biblioteca de polyfills. Esta opción es OFF por defecto.

  • La opción CMake BSONCXX_POLY_USE_IMPLS permite seleccionar bsoncxx implementaciones de polirrellenos C++17 en lugar de librerías externas o la librería estándar de C++. Esta opción está OFF por defecto.

  • Los espacios de nombres bsoncxx::v_noabi y mongocxx::v_noabi ya no se declaran en línea. Las declaraciones del espacio de nombres raíz siguen siendo compatibles y se espera que sigan siendo equivalentes a sus definiciones anteriores. Por ejemplo, bsoncxx::document sigue siendo equivalente a bsoncxx::v_noabi::document, y mongocxx::client sigue siendo equivalente a mongocxx::v_noabi::client.

  • Por defecto, cuando los nombres de archivo de las librerías se compilan con MSVC (como lo detecta la variable MSVC de CMake), se incrustan con una string 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=OFF como 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 activar este comportamiento, establece ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=ON y ENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=ON como parte de tu 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.

Advertencia

Cambios radicales

Controlador C++ v3.9 contiene cambios disruptivos. Para obtener más información, consulte Versión 3.9 en la guía Actualizar versiones de controladores.

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 driver descarga automáticamente la dependencia del driver C de MongoDB si no la proporcionas.

  • El driver ya no compila pruebas como parte del objetivo all. Para compilar pruebas, configure BUILD_TESTING=ON como parte de su configuración de CMake.

  • El driver utiliza el módulo FetchContent para descargar y compilar la librería polyfill MNMLSTC Core, si no la proporciona el sistema, en lugar del módulo ExternalProject. Tampoco parchea las directivas include en los encabezados de MNMLSTC Core.

  • Añade la opción MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX de CMake. Si esta opción se establece en TRUE, la opción CMAKE_INSTALL_PREFIX se establece de forma predeterminada en el directorio de compilación. El valor predeterminado de esta opción es TRUE.

  • Agrega una API para gestionar los índices de MongoDB Search.

  • Añade el recurso VERSIONINFO a bsoncxx.dll y mongocxx.dll.

  • Documenta explícitamente que lanzar una excepción desde una función de retorno de la APM es un comportamiento no definido.

  • No instala de forma prematura los headers de MNMLSTC Core durante el paso de compilación con CMake.

  • Requiere que se encuentre un paquete CMake del controlador C de MongoDB mediante find_dependency() para todas las configuraciones de paquetes del controlador C++ instaladas.

Para obtener más información sobre esta versión, consulte las 3.9 Notas de la versión v en GitHub.

Volver

Encriptación en uso

En esta página