Atualizar versões do driver
Nesta página
Visão geral
Esta página descreve as alterações que você deve fazer no seu aplicação ao atualizar para uma nova versão do driver C++ .
Antes de atualizar, execute as seguintes ações:
Certifique-se de que a nova versão do driver C++ seja compatível com as versões do MongoDB Server às quais seu aplicação se conecta e com a versão padrão C++ com a qual seu aplicação é compilado. Para obter informações sobre compatibilidade de versões, consulte a página Compatibilidade do driver C++ .
Resolva quaisquer alterações significativas entre a versão do driver que seu aplicação está usando e a versão de atualização planejada na seção Alterações significativas.
Dica
Para garantir a compatibilidade entre as versões do MongoDB Server ao atualizar as versões do driver, use a Stable API.
Mudanças de última hora
Observação
O driver C++ segue o controle de versão semântica. O driver pode quebrar a compatibilidade do sistema de compilação ou do pacote em qualquer versão. As versões de patch podem reverter alterações acidentais de quebra da API.
Para obter mais informações, consulte Controle de versão de API e ABI.
Uma alteração significativa é uma alteração de uma convenção ou comportamento a partir de uma versão específica do driver. Esse tipo de alteração pode impedir que seu aplicativo funcione corretamente se não for resolvido antes de atualizar o driver.
As alterações interruptivas nesta seção são categorizadas pela versão do driver que as introduziram. Ao atualizar as versões do driver, resolva todas as alterações interruptivas entre a versão atual e a atualizada.
Exemplo
Atualização da versão 3.0
Se você estiver atualizando o driver C++ da versão 3.0 para a versão 3.10, resolva todas as alterações significativas listadas para as versões 3.1 a 3.10, se houver.
Versão 3.11 Alterações interruptivas
Elimina o suporte para o MongoDB Server v3.6.
Requer o Driver MongoDB C v1.28.0 ou posterior.
Se a opção de configuração do
ENABLE_TESTS
estiver definida paraON
, C++14 ou posterior será necessário. Você pode desativar o requisito C++14 desativando os testes comENABLE_TESTS=OFF
durante a configuração do CMake.Remove a exportação das seguintes funções de membro privado na 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*) Remove a exportação das seguintes funções de membro privado na ABI 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() Declare todos os símbolos de funções exportadas com
__cdecl
quando compilados com MSVC. Esta é uma alteração interruptiva de ABI se você usar uma convenção de chamada padrão alternativa ao construir projetos.
Versão 3.10 Alterações interruptivas
Esta versão do driver apresenta a seguinte alteração interruptiva:
Suporte a drops para
find_package(libbsoncxx)
efind_package(libmongocxx)
. Em vez disso , usefind_package(bsoncxx)
efind_package(mongocxx)
.Descarta o suporte para as variáveis
LIBBSONCXX_*
eLIBMONGOCXX_*
CMake fornecidas pelos arquivos de configuração do pacote CMake legado . Use os destinos CMakemongo::bsoncxx_*
emongo::mongocxx_*
.Remove a biblioteca padrão experimental do C++ (
BSONCXX_POLY_USE_STD_EXPERIMENTAL
) como uma opção de polyfill.
Versão 3.9 Alterações interruptivas
Esta versão do driver apresenta a seguinte alteração interruptiva:
Remove o suporte para destinos exportados da árvore de compilação do projeto CMake
Elimina o suporte para macOS 10.14, macOS 10.15 e Ubuntu 14.04
Exige MongoDB C Driver v1.25.0 ou posterior
Exige CMake v3.15 ou posterior
Versão 3.8 e anterior
Para 3.8 as versões e anteriores do driver, consulte as notas de versão e os tickets JIRA associados para cada versão no Github.