Visão geral
O driver MongoDB C consiste em duas bibliotecas: libbson
e libmongoc
. Nesta página, você pode aprender sobre as alterações e depreciações feitas em cada versão das bibliotecas de drivers.
Descubra as novidades de cada versão:
Novidades em 2.0.2
As seções a seguir descrevem as alterações na versão 2.0.2 do driver C.
libbson
Esta versão inclui várias correções para a família de funções do bson_validate
, com as seguintes pequenas alterações comportamentais:
Quando você especifica a configuração
BSON_VALIDATE_UTF8
, o driver rejeita sequências UTF-8 inválidas em vez de aceitá-las como nas versões anteriores.O driver valida o documento de escopo em um elemento de "código com escopo" obsoleto com um conjunto fixo de regras e o trata como um objeto JavaScript opaco.
O driver impõe um limite de aninhamento de documento durante a validação.
libmongoc
A versão 2.0.2 do libmongoc
inclui as seguintes alterações:
Correções
Corrige uma mensagem de
bson_strerror_r
no Windows.Corrige vazamentos de memória com o Windows Secure Channel.
Corrige o carregamento de chaves RSA PKCS#8 com o Windows Secure Channel.
Para obter mais informações sobre esta versão, consulte as 1.30.5 notas de versão v.
Novidades em 2.0.1
As seções a seguir descrevem as alterações na versão 2.0.1 do driver C.
libbson
A versão 2.0.1 do libbson
inclui as seguintes alterações:
Correções
Corrige um erro de configuração CMake 4 em sistemas operacionais macOS
libmongoc
A versão 2.0.1 do libmongoc
inclui as seguintes alterações:
Correções
Corrige um problema de manuseio de nome de usuário para autenticação
MONGODB-X509
que ocorreu quando o driver C foi configurado para utilizar a biblioteca de Secure Transport ou Secure ChannelNão preenche mais um
mongoc_bulkwritereturn_t.res
com um resultado parcial quando a funçãomongoc_bulkwrite_execute()
gera um erro de cliente após a primeira operação de gravação
Para obter mais informações sobre esta versão, consulte as notas de versão v .2.0.1
Novidades em 2.0.0
Aviso
Mudanças de última hora
C driver v2.0.0 contém alterações significativas. Para obter mais informações, consulte Versão 2.0.0 no guia Atualizar versões do driver.
As seções a seguir descrevem as alterações na versão 2.0.0 do driver C.
Importante
Remoções
O 2.0.0 a versão do driver remove muitos tipos e métodos obsoletos. Para ver uma lista completa de remoções, consulte as seções Remoções das notas de versão v2.0.
libbson
A versão 2.0.0 do libbson
inclui as seguintes alterações:
Novas funcionalidades
Adiciona suporte ao subtipo de vetor binário BSON. Para saber mais, consulte o subtipo BSON Binary Vector na documentação da API do libbson.
libmongoc
A versão 2.0.0 do libmongoc
inclui as seguintes alterações:
Novas funcionalidades
Suporta operações agregadas que incluem
$lookup
estágios para criptografia em execução. Para saber mais, consulte as seguintes referências no manual do MongoDB Server :Comportamento $lookup e $graphLookup para CSFLE
Para obter mais informações sobre esta versão, consulte as notas de versão v .2.0
Novidades em 1.30.3
As seções a seguir descrevem as alterações na versão 1.30.3 do driver C.
libbson
A versão 1.30.3 do libbson
inclui as seguintes alterações:
Novas funcionalidades
Em antecipação do v2.0 versão, adiciona novos pacotes CMake e destinos importados para
bson
para permitir que você ofereça suporte às duas versões principais sem modificar seu projeto CMake.Para importar
bson
com os novos nomes, chamefind_package
para o pacotebson
. Os novos nomes de destino importados sãobson::static
,bson::shared
ebson::bson
.
libmongoc
A versão 1.30.3 do libmongoc
inclui as seguintes alterações:
Novas funcionalidades
Em antecipação do v2.0 versão, adiciona novos pacotes CMake e destinos importados para
bson
emongoc
para permitir que você ofereça suporte às duas versões principais sem modificar seu projeto CMake.Para importar
mongoc
com os novos nomes, chamefind_package
para o pacotemongoc
. Os novos nomes de destino importados sãomongoc::static
,mongoc::shared
emongoc::mongoc
.Para importar
bson
com os novos nomes, chamefind_package
para o pacotebson
. Os novos nomes de destino importados sãobson::static
,bson::shared
ebson::bson
.
Para obter mais informações sobre esta versão, consulte as notas de versão v .1.30.3
Novidades em 1.30.0
As seções a seguir descrevem as alterações na versão 1.30.0 do driver C.
libbson
A versão 1.30.0 do libbson
inclui as seguintes alterações:
Itens obsoletos
Descontinua o suporte para Debian 9 e Debian 10
Melhorias
Melhora o desempenho da serialização BSON para JSON para documentos aninhados
Correções
Atualiza a saída truncada da função
bson_as_json_with_opts()
para não divisão mais sequências UTF-8 válidasAs atualizações geraram o texto JSON das seguintes maneiras:
Serializa todas as arrays e documentos vazios com um espaço
Serializa arrays que o driver omite devido ao limite máximo de recursão para
[ ... ]
em vez de{ ... }
Aplica o limite máximo de recursão a documentos CodeWScope legado
Corrige um parâmetro de saída vazado após chamadas malsucedidas para a função
bson_append_array_builder_begin()
libmongoc
A versão 1.30.0 do libmongoc
inclui as seguintes alterações:
Itens obsoletos
Descontinua o suporte para Debian 9 e Debian 10
Novas funcionalidades
Adiciona suporte para registro estruturado. Para configurar esta funcionalidade, utilize as funções
mongoc_client_set_structured_log_opts()
emongoc_client_pool_set_structured_log_opts()
.Adiciona suporte para a configuração da vida útil do cache de chaves de encriptação de dados da In-criptografia em execução . Para configurar esta funcionalidade, utilize as funções
mongoc_auto_encryption_opts_set_key_expiration()
emongoc_client_encryption_opts_set_key_expiration()
.Para saber mais sobre a criptografia em execução, consulte criptografia em execução no manual do MongoDB Server .
Adiciona suporte para a opção
sort
para atualizar e substituir operações.Adiciona suporte para construir um tipo
mongoc_bulkwrite_t
sem um cliente utilizando as funçõesmongoc_bulkwrite_new()
emongoc_bulkwrite_set_client()
.
Melhorias
Melhora o desempenho da função
mongoc_server_description_new_copy()
Correções
Inclui as seguintes correções de evento APM exigidas pela especificação SDAM:
Depois de entregar um evento
server_opening
, o driver deve entregar um eventoserver_closed
correspondente antes de entregartopology_closed
Antes de entregar um evento
topology_closed
, o driver entrega um eventotopology_changed
que tem umnew_description
do tipoUnknown
Corrige possíveis falhas quando o driver relata os IDs de documento inseridos nos resultados detalhados das gravações em massa do cliente
Para obter mais informações sobre esta versão, consulte as notas de versão v .1.30
Novidades em 1.29.0
Aviso
Mudanças de última hora
C driver v1.29.0 contém alterações significativas. Para obter mais informações, consulte Versão 1.29.0 no guia Atualizar versões do driver.
A versão 1.29.0 do driver C inclui várias alterações.
libbson
A versão 1.29.0 do libbson
inclui as seguintes alterações:
Itens obsoletos
Descontinua o
bson_string_t
e funções associadasDescontinua a compilação com
BSON_MEMCHECK
Descontinua as funções
bson_in_range_*()
ebson_cmp_*()
Descontinua as funções
bson_atomic_*()
ebson_thrd-yield()
Descontinua as funções
bson_as_json()
ebson_array_as_json()
libmongoc
A versão 1.29.0 do libmongoc
inclui as seguintes alterações:
Itens obsoletos
Descontinua
mongoc_client_command
. Em vez disso, usemongoc_client_command_simple
.Descontinua
mongoc_database_command
. Em vez disso, usemongoc_database_command_simple
.Descontinua
mongoc_collection_command
. Em vez disso, usemongoc_collection_command_simple
.
Para obter mais informações sobre esta versão, consulte as notas de versão v .1.29
Novidades em 1.28.0
Aviso
Mudanças de última hora
C driver v1.28.0 contém alterações significativas. Para obter mais informações, consulte Versão 1.28.0 no guia Atualizar versões do driver.
A versão 1.28.0 do driver C inclui várias alterações.
libbson
A versão 1.28.0 do libbson
inclui as seguintes alterações:
Novas funcionalidades
Adiciona a função
bson_validate_with_error_and_offset()
libmongoc
Novas funcionalidades
Adiciona suporte para queries de intervalo de criptografia em execução
mongoc_collection_insert_one
inclui o ID de inserçãoAdiciona nova API de escrita em massa
mongoc_bulkwrite_t
Adds
serverMonitoringMode
URI option
Itens obsoletos
Descontinua a opção
*_hint
. Em vez disso, use a opção*_server_id
.Descontinua
mongoc_bulk_operation_set_hint
. Em vez disso, usemongoc_bulk_operation_set_server_id
.Descontinua
mongoc_bulk_operation_get_hint
. Em vez disso, usemongoc_bulk_operation_get_server_id
.Descontinua
mongoc_cursor_set_hint
. Em vez disso, usemongoc_cursor_set_server_id
.Descontinua
mongoc_cursor_get_hint
. Em vez disso, usemongoc_cursor_get_server_id
.
Descontinua
ENABLE_SSL=LIBRESSL
emongoc_stream_tls_libressl_new
.Descontinua
ENABLE_SASL=CYRUS
e a opçãoCYRUS_PLUGIN_PATH_PREFIX
em plataformas Windows.
Para obter mais informações sobre esta versão, consulte as notas de versão v .1.28
Novidades em 1.27.6
A versão 1.27.6 do driver C inclui várias alterações.
libbson
A versão 1.27.6 do libbson
inclui as seguintes alterações:
Correções
Corrige o processamento de JSON estendido malformado para tipos especiais de BSON
libmongoc
A versão 1.27.6 do libmongoc
inclui as seguintes alterações:
Correções
Corrige o aviso do TSan
Corrige a compilação C23
Melhorias
Documenta o comportamento esperado de erros de comando em uma transação
Novidades em 1.27.5
A versão 1.27.5 do driver C inclui várias alterações.
libbson
A versão 1.27.5 do libbson
inclui as seguintes alterações:
Correções
Corrige o manuseio de strings grandes em
bson_append_utf8
libmongoc
A versão 1.27.5 do libmongoc
inclui as seguintes alterações:
Correções
Corrige possível erro de compilação em ambientes onde
bool
ou_Bool
é uma macro
Novidades em 1.27.4
A versão 1.27.4 do driver C inclui várias alterações.
libbson
A versão 1.27.4 do libbson
inclui as seguintes alterações:
Correções
Corrige problemas de construção com o Visual Studio 2013
libmongoc
A versão 1.27.4 do libmongoc
inclui as seguintes alterações:
Correções
Corrige possível falha na leitura de mensagem de protocolo com fio malformada
Corrige problemas de construção com o Visual Studio 2013
Novidades em 1.27.3
A versão 1.27.3 do driver C inclui várias alterações.
libbson
A versão 1.27.3 do libbson
inclui as seguintes alterações:
Mudanças
Introduz alterações nos processos de desenvolvimento, incluindo nova assinatura de código e rastreamento de dependências. Não há alterações comportamentais ou de API.
libmongoc
A versão 1.27.3 do libmongoc
inclui as seguintes alterações:
Correções
Atualiza a zlib agrupada de 1.2.3 para 1.3.1
Novidades em 1.27.2
A versão 1.27.2 do driver C inclui várias alterações.
libbson
A versão 1.27.2 do libbson
inclui as seguintes alterações:
Correções
Corrige a análise de dois pontos no fuso horário
Corrige o erro ao falhar na inicialização de um subdocumento em
bson_iter_visit_all
libmongoc
A versão 1.27.2 do libmongoc
inclui as seguintes alterações:
Correções
Fecha as conexões restantes com servidores remotos
Novas funcionalidades
Verifica a variável de ambiente
MONGO_EXPERIMENTAL_SRV_PREFER_TCP
para preferir TCP a pesquisa SRV
Novidades em 1.27.1
A versão 1.27.1 do driver C inclui várias alterações.
libbson
A versão 1.27.1 do libbson
inclui as seguintes alterações:
Correções
Corrige o manuseio de strings grandes em
bson_string_new
ebson_string_append
libmongoc
Esta versão foi incrementada para corresponder à versão libbson
, mas não há alterações desde 1.27.0.
Novidades em 1.27.0
Aviso
Mudanças de última hora
C driver v1.27.0 contém alterações significativas. Para obter mais informações, consulte Versão 1.27.0 no guia Atualizar versões do driver.
A versão 1.27.0 do driver C inclui várias alterações.
libbson
Esta versão foi incrementada para corresponder à versão libbson
, mas não há alterações desde 1.26.2.
libmongoc
A versão 1.27.0 do libmongoc
inclui as seguintes alterações:
Correções
Corrige possível falha quando o cliente é configurado com uma senha vazia
Novas funcionalidades
Adiciona o nome do banco de dados aos eventos de comando
mongoc_apm_command_failed_get_database_name
emongoc_apm_command_succeeded_get_database_name
Suporta protocolo KMIP delegado para criptografia em execução
Permite definir o tempo limite do soquete por cliente
Novidades em 1.26.2
Aviso
Mudanças de última hora
C driver v1.26.2 contém alterações significativas. Para obter mais informações, consulte Versão 1.26.2 no guia Atualizar versões do driver.
A versão 1.26.2 do driver C inclui várias alterações.
libbson
A versão 1.26.2 do libbson
inclui as seguintes alterações:
Correções
Corrige a iteração em
bson_strfreev
libmongoc
A versão 1.26.2 do libmongoc
inclui as seguintes alterações:
Correções
Corrige possível travamento se
mongoc_gridfs_file_readv
for chamado com um bloco corrompido com dados incompletosCorrige a declaração com o protocolo de cursor de exaustão legado quando conectado às versões do servidor MongoDB anteriores a 4.2
Novidades em 1.26.1
A versão 1.26.1 do driver C inclui várias alterações.
libbson
A versão 1.26.1 do libbson
inclui as seguintes alterações:
Correções
Utiliza alocação alinhada para
bson_array_builder_t
libmongoc
A versão 1.26.1 do libmongoc
inclui as seguintes alterações:
Correções
Corrige a compilação de 32bits com 64bits
time_t
Novidades em 1.26.0
A versão 1.26.0 do driver C inclui várias alterações.
libbson
Esta versão foi incrementada para corresponder à versão libmongoc
, mas não há alterações desde 1.25.4.
libmongoc
A versão 1.26.0 do libmongoc
inclui as seguintes alterações:
Novas funcionalidades
Suporta provedores de KMS nomeados
Redireciona novas tentativas em clusters fragmentados para outros mongos, se possível
Melhorias
Adiciona o arquivo
VERSION_CURRENT
na fonte para facilitar a criaçãoConsidera que mais erros podem ser repetidos