Visão geral
Descubra as novidades de cada versão:
Novidades em 4.5.3
A versão do driver 4.5.3 inclui a seguinte alteração:
Importante
O driver C++ v4.5.3 inclui uma correção para CVE-202688034-.
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Para saber mais sobre esta versão, consulte as 45v..3 Notas de versão no GitHub.
Novidades em 4.5.2
A versão do driver 4.5.2 inclui as seguintes alterações:
Importante
Driver C++ v4.5.2 inclui correções para os seguintes problemas de segurança:
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
To learn more about this release, see the v4.5.2 Release Notes on GitHub.
Novidades no 4.5.1
The 4.5.1 driver release includes the following change:
Importante
O driver C++ v4.5.1 inclui uma correção para CVE-202681522-.
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
To learn more about this release, see the v4.5.1 Release Notes on GitHub.
Novidades no 4.5
A versão do driver 4.5 inclui o seguinte novo recurso:
- Adiciona o método
append_metadata()às classesmongocxx::v1::clientemongocxx::v1::pool. Use este método para anexar metadados de handshake a um cliente ou pool depois de inicializá-lo. Isso é útil se seu projeto envolver o driver C++ e precisar se identificar para o MongoDB Server.
A versão inclui a seguinte remoção:
- Remover o suporte para o Visual Studio 2015, que atingiu o fim da vida útil em outubro de 2025. Para criar o driver C++ no Windows, use o Visual Studio 2017 versão 15.9 ou posterior.
To learn more about this release, see the v4.5.0 Release Notes on GitHub.
O que há de novo em 4.4
Aviso
Mudanças de última hora
Driver C++ v4.4 contém alterações significativas. Para obter mais informações, consulte Versão no guia Atualizar versões do driver.4.4
A versão do driver 4.4 inclui as seguintes novas funcionalidades:
O ABI estável (
v1) para as bibliotecasbsoncxxemongocxxagora está pronto para produção. O soversion para ambas as bibliotecas agora está definido como1.Adiciona suporte para operações de gravação em massa do cliente por meio da classe
mongocxx::client_bulk_write. Ao contrário da gravação em massa no nível da coleção (mongocxx::bulk_write), a gravação em massa do cliente oferece suporte a gravações em várias coleções e pode agrupar inserções, atualizações e exclusões no mesmo payload de rede. Este recurso requer o MongoDB Server 8.0 ou posterior.Adiciona suporte para a opção
readConcernàs operaçõesdelete,insert,replace,bulkWrite,findOneAnd*,countedistinct.Adiciona suporte para o mecanismo de autenticação
MONGODB-OIDCcom Azure IMDS e Azure Functions/App Service Environment. Para saber mais, consulte autenticação OpenID Connect (OIDC).
A versão inclui a seguinte descontinuação:
- Substitui o suporte para o MongoDB Server.4.2 Para obter mais informações, consulte as Agendas do ciclo de vida do software MongoDB .
To learn more about this release, see the v4.4.0 Release Notes on GitHub.
Novidades em 4.3.1
A 4.3.1 versão do driver corrige o seguinte bug:
- Corrige uma regressão introduzida em 4.2.0 onde as operações
findOneAnd*definem incorretamenteupsertcomotruequando a opção foi explicitamente definida comofalse.
To learn more about this release, see the v4.3.1 Release Notes on GitHub.
Novidades no 4.3
Aviso
Mudanças de última hora
Driver C++ v4.3 contém alterações significativas. Para obter mais informações, consulte Versão no guia Atualizar versões do driver.4.3
A versão do driver 4.3 inclui as seguintes novas funcionalidades:
- Adiciona suporte para recursos de limitação de taxa de conexão de entrada. Você pode usar as opções
enableOverloadRetargetingemaxAdaptiveRetriespara melhorar o comportamento ao se conectar a servidores sobrecarregados. Esses recursos estarão disponíveis em clusters do Atlas executando o MongoDB 9.0 e posterior. Para saber mais sobre essas opções, consulte o guia Especificar opções de conexão.
A versão inclui a seguinte correção de bug:
- Adiciona operadores de subscritos ausentes para tipos de classe declarados em
bsoncxx::vector::iterators.
A versão inclui a seguinte descontinuação:
- Descontinua o suporte para o Visual Studio 2015, que chegou ao fim da vida útil em 2025 de outubro. Use o Visual Studio 2017 ou posterior.
Para saber mais sobre esta versão, consulte as Notas de4 versão do3 v. no GitHub.
4.2: quais as novidades
Aviso
Mudanças de última hora
Driver C++ v4.2 contém alterações significativas. Para obter mais informações, consulte Versão no guia Atualizar versões do driver.4.2
A versão do driver 4.2 inclui as seguintes novas funcionalidades:
Apresenta o driver C++ ABI estável (v1.0) para uso experimental. Como parte dessa mudança, grandes alterações interruptivas foram feitas na ABI instável. Quando você atualiza para v4.2 do driver, recomendamos migrar para usar a ABI estável em seu aplicativo.
Exporta corretamente
storage_engine() constemmongocxx::v_noabi::options::indexusando macros de exportação mongocxx em vez de macros de exportação bsoncxx.Adiciona os assistentes de fluxo de alterações
mongocxx::v1::change_stream::next()emongocxx::v1::change_stream::try_next()para simplificar a iteração de fluxos de alterações.Adiciona suporte experimental para índices de texto de criptografia em execução através de
mongocxx::v1::text_options.Remove o suporte para o MongoDB Server 4.2. Para obter mais informações, consulte as Agendas do ciclo de vida do software MongoDB.
Remove o suporte para macOS 11 e macOS 12 (obsoleto na v4.1).
Renomeia os arquivos de configuração do pacote CMake para usar o padrão
<name>Config.cmakee<name>ConfigVersion.cmake, para obter consistência com o Driver MongoDB C 2.0.0 e mais recentes.Descontinua
mongocxx::v_noabi::instance::current(). Recomendamos instanciar uma variávelinstancenão global que seja válida para todas as operaçõesmongocxx, conforme mostrado no código a seguir:int main() { mongocxx::instance instance; ... } Para implementações alternativas, consulte o Driver.4 2 Changelog no
mongo-cxx-driverrepositório do GitHub.
A versão inclui a seguinte correção de bug:
- Corrige um problema em que o driver lançava incorretamente uma exceção ao comparar um resultado
mongocxx::result::insert_manycom IDs que não fossem ObjectId.
To learn more about this release, see the v4.2 Release Notes on GitHub.
Novidades no 4.1
Aviso
Mudanças de última hora
Driver C++ v4.1 contém alterações significativas. Para obter mais informações, consulte Versão no guia Atualizar versões do driver.4.1
A versão do driver v4.1 inclui os seguintes novos recursos:
Descontinua o método
storage_options()para o métodostorage_engine()recém-adicionado emmongocxx::v_noabi::options::indexAdiciona suporte para o tipo de vetor binário BSON.
Para obter mais informações, consulte os seguintes recursos:
Tipos de BSON de dados binários no manual do MongoDB Server
exemplo de uso do vetor binário BSON no Github
Corrige o bug da versão da API do driver C observado na versão4 v.0
Adiciona uma alteração na opção padrão de configuração do
ENABLE_TESTSque foi originalmente lançada para a versão4.0. Para obter mais informações, consulte a descrição da alteração interruptiva na página Atualização.
To learn more about this release, see the v4.1 Release Notes on GitHub.
4.0: quais as novidades
Aviso
Mudanças de última hora
Driver C++ v4.0 contém alterações significativas. Para obter mais informações, consulte Versão no guia Atualizar versões do driver.4.0
A versão do driver v4.0 inclui os seguintes novos recursos:
- Adiciona um método de getter para o campo
start_at_operation_timede uma instância domongocxx::options::change_stream.
A versão inclui o seguinte bug:
- O CMake pode definir incorretamente a versão da API de um driver C baixado automaticamente como
0.0.0quando o projeto CMake é configurado mais de uma vez ou com o mesmo valor da versão da API do driver C++ quandoBUILD_VERSIONé explicitamente definido durante a configuração inicial. O CMake só fará o download automático do driver C com o driver C++ se não conseguir encontrar uma instalação de driver C existente usandofind_package(). Esse bug será corrigido em uma futura versão de patch.
To learn more about this release, see the v4.0 Release Notes on GitHub.
Novidades no 3.11
Aviso
Mudanças de última hora
Driver C++ v3.11 contém alterações significativas. Para obter mais informações, consulte Versão no guia Atualizar versões do driver.3.11
A versão do driver v3.11 inclui os seguintes novos recursos:
Adiciona suporte para MongoDB Server v8.0.
Adiciona suporte para queries de intervalo de Queryable Encryption . Para usar esse recurso, seu aplicativo deve se conectar ao MongoDB Server 8.0 ou posterior. Para obter mais informações sobre Queryable Encryption, consulte Queryable Encryption no manual do MongoDB Server .
Adiciona a função de membro
empty()paramongocxx::v_noabi::bulk_write.
A versão inclui o seguinte bug:
- O CMake pode definir incorretamente a versão da API de um driver C baixado automaticamente como
0.0.0quando o projeto CMake é configurado mais de uma vez ou com o mesmo valor da versão da API do driver C++ quandoBUILD_VERSIONé explicitamente definido durante a configuração inicial. O CMake só fará o download automático do driver C com o driver C++ se não conseguir encontrar uma instalação de driver C existente usandofind_package(). Esse bug será corrigido em uma futura versão de patch.
To learn more about this release, see the v3.11 Release Notes on GitHub.
Novidades no 3.10
Aviso
Mudanças de última hora
Driver C++ v3.10 contém alterações significativas. Para obter mais informações, consulte Versão no guia Atualizar versões do driver.3.10
O v3.10.0 a versão do driver inclui as seguintes novas funcionalidades:
Adiciona cabeçalhos de encaminhamento que fornecem declarações não definidoras de tipos de classe
bsoncxxemongocxx. O driver não é compatível com declarações de encaminhamento definidas pelo usuário de qualquer entidade de biblioteca. Para obter a declaração ou definição de uma entidade da biblioteca, inclua sempre o cabeçalho correspondente.A opção
ENABLE_BSONCXX_USE_POLY_IMPLSdo CMake permite selecionarbsoncxximplementações de polyfills17 C++ por padrão quando nenhuma biblioteca de polyfill é solicitada. Esta opção éOFFpor padrão.A opção
BSONCXX_POLY_USE_IMPLSdo CMake permite selecionar implementaçõesbsoncxx1} de polyfills17 do C++ em vez de bibliotecas externas ou da biblioteca padrão do C++ . Esta opção éOFFpor padrão.Os namespaces
bsoncxx::v_noabiemongocxx::v_noabinão são mais declarados embutidos. As declarações de namespace raiz ainda são suportadas e espera-se que permaneçam equivalentes às definições anteriores. Por exemplo,bsoncxx::documentainda é equivalente absoncxx::v_noabi::documentemongocxx::clientainda é equivalente amongocxx::v_noabi::client.Por padrão, quando os nomes de arquivos da biblioteca são compilados com MSVC (conforme detectado pela variável
MSVCdo CMake), eles são incorporados a uma string de caracteres de tag ABI. Essas strings são semelhantes às seguintes:bsoncxx-v_noabi-rhs-x64-v142-md.lib Para desabilitar este comportamento, defina o
ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=OFFcomo parte de sua configuração do CMake.A string da tag ABI também pode ser incorporada em nomes de arquivos de metadados pkg-config, semelhantes aos seguintes:
libbsoncxx-v_noabi-rhs-x64-v142-md.pc Para habilitar este comportamento, defina
ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=ONeENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=ONcomo parte de sua configuração do CMake.
To learn more about this release, see the v3.10 Release Notes on GitHub.
Novidades no 3.9
Aviso
Mudanças de última hora
Driver C++ v3.9 contém alterações significativas. Para obter mais informações, consulte Versão no guia Atualizar versões do driver.3.9
A versão do driver v3.9 inclui os seguintes novos recursos:
A imagem do container do driver C++ agora está disponível no Docker Hub.
O driver baixa automaticamente a dependência do driver MongoDB C se você não fornecer.
O driver já não constrói testes como parte do alvo
all. Para construir testes, defina oBUILD_TESTING=ONcomo parte da configuração do CMake.O driver usa o
FetchContentmódulo para baixar e construir a biblioteca de polyfill SNMLSTC Core, se não for fornecida pelo sistema, em vez doExternalProjectmódulo. Ele também não corrigeincludediretivas em cabeçalhos MONMLSTC Core.Adiciona a opção CMake
MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX. Se essa opção estiver definida comoTRUE, a opçãoCMAKE_INSTALL_PREFIXassumirá como padrão o diretório de construção. O valor padrão desta opção éTRUE.Adiciona uma API para gerenciar índices de pesquisa MongoDB.
Adiciona o recurso
VERSIONINFOabsoncxx.dllemongocxx.dll.Documenta explicitamente que lançar uma exceção de uma chamada de resposta de resposta APM é um comportamento indefinido.
Não instala prematuramente cabeçalhos MONMLSTC Core durante a etapa de compilação do CMake.
Requer que um pacote MongoDB C Driver CMake seja encontrado via
find_dependency()para todas as configurações de pacote de driver C++ instaladas.
To learn more about this release, see the v3.9 Release Notes on GitHub.