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
/ /

Actualizar versiones de los controladores

Esta página describe los cambios que debes hacer en tu aplicación cuando actualices a una nueva versión del driver de C++.

Antes de actualizar, realiza las siguientes acciones:

  • Asegúrate de que la nueva versión del controlador de C++ sea compatible con las versiones de MongoDB Server a las que tu aplicación se conecta y con la versión estándar de C++ con la que tu aplicación se compila. Para obtener información sobre la compatibilidad de versiones, consulte Compatibilidad.

  • Resuelva cualquier cambio disruptivo entre la versión del driver que utiliza su aplicación y la versión de actualización planificada en la sección Cambios disruptivos.

Tip

Para garantizar la compatibilidad entre las versiones del MongoDB Server al actualizar las versiones del driver, use el Stable API.

Nota

El driver de C++ sigue el versionado semántico. El driver podría romper la compatibilidad del sistema de compilación o del paquete en cualquier versión. Los lanzamientos de parches podrían revertir cambios disruptivos accidentales de la API.

Para más información, consulta Versionado de API y ABI.

Un cambio disruptivo es un cambio en una convención o comportamiento que empieza a partir de una versión específica del driver. Este tipo de cambios puede evitar que tu aplicación funcione correctamente si no se abordan antes de actualizar el controlador.

Los cambios disruptivos en esta sección se categorizan según la versión del driver que los ha introducido. Al actualizar las versiones del driver, debes abordar todos los cambios disruptivos entre la versión actual y la versión de actualización.

Ejemplo

Actualización desde la versión 3.0

Si estás actualizando el driver C++ de la versión 3.0 a la versión 3.10, aborda todos los cambios disruptivos enumerados para las versiones 3.1 a 3.10, si los hay.

  • Elimina la compatibilidad con MongoDB Server v3.6.

  • Se requiere MongoDB C Driver v1.28.0 o posterior.

  • Si el ENABLE_TESTS la opción de configuración está establecida en ON, se requiere C++14 o posterior. Puede excluir el requisito de C++14 deshabilitando las pruebas con ENABLE_TESTS=OFF durante la configuración de CMake.

  • Se remueve la exportación de las siguientes funciones nodos privadas en el ABI bsoncxx:

    bsoncxx::v_noabi::types::bson_value::value::value(const uint8_t*, uint32_t, uint32_t, uint32_t)
    bsoncxx::v_noabi::types::bson_value::view::_init(void*)
    bsoncxx::v_noabi::types::bson_value::view::view(const uint8_t*, uint32_t, uint32_t, uint32_t)
    bsoncxx::v_noabi::types::bson_value::view::view(void*)
  • Remueve la exportación de las siguientes funciones miembro privadas en ABI de mongocxx:

    mongocxx::v_noabi::options::change_stream::as_bson()
    mongocxx::v_noabi::options::aggregate::append(bsoncxx::v_noabi::builder::basic::document&)
    mongocxx::v_noabi::options::index::storage_options()
  • Declarar todos los símbolos de funciones exportadas con __cdecl al compilar con MSVC. Este es un cambio disruptivo en el ABI si se utiliza una convención de llamada por defecto alternativa al compilar proyectos.

Esta versión del driver introduce los siguientes cambios disruptivos:

  • Elimina el soporte para find_package(libbsoncxx) y find_package(libmongocxx). Utilice find_package(bsoncxx) y find_package(mongocxx) en su lugar.

  • Se elimina el soporte para las variables de CMake LIBBSONCXX_* y LIBMONGOCXX_* proporcionadas por los archivos de configuración de paquetes de CMake heredados. En su lugar, utilice los objetivos CMake de mongo::bsoncxx_* y mongo::mongocxx_*.

  • Remueve la librería estándar de C++ experimental (BSONCXX_POLY_USE_STD_EXPERIMENTAL) como una opción de polyfill.

Esta versión del driver introduce los siguientes cambios disruptivos:

  • Elimina el soporte para los objetivos exportados del árbol de compilación del proyecto CMake

  • Descarta el soporte para macOS 10.14, macOS 10.15, y Ubuntu 14.04

  • Requiere MongoDB C Driver v1.25.0 o una versión posterior

  • Requiere CMake v3.15 o posterior

Para versiones de drivers 3.8 y anteriores, consulta las notas de la versión y los tickets de JIRA asociados para cada versión en GitHub.

Volver

Novedades

En esta página