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.1.0
Aviso
Mudanças de última hora
C driver v2.1.0 contém alterações significativas. Para obter mais informações, consulte Versão 2.1.0 no guia Atualizar versões do driver.
As seções a seguir descrevem as alterações na versão 2.1.0 do driver C.
libbson
A versão 2.1.0 do libbson
inclui as seguintes alterações:
Correções
Para ambientes não Windows, o script de desinstalação agora chama o comando
find "$dir" -maxdepth 1
para detectar diretórios não vazios em vez do comandols --almost-all
, que não era suportado no macOS.Para ambientes Windows, o script de desinstalação não é mais "bem-sucedido" com um valor
%ERRORLABEL%
incorreto e diferente de zero.Remove o suporte para Debian 9 e Debian 10.
Melhorias
Define a versão máxima da política CMake para
4.0
. A versão máxima foi desconfigurada anteriormente.
libmongoc
A versão 2.1.0 do libmongoc
inclui as seguintes alterações:
Correções
Para ambientes não Windows, o script de desinstalação agora chama o comando
find "$dir" -maxdepth 1
para detectar diretórios não vazios em vez do comandols --almost-all
, que não era suportado no macOS.Para ambientes Windows, o script de desinstalação não é mais "bem-sucedido" com um valor
%ERRORLABEL%
incorreto e diferente de zero.Adiciona suporte ao Windows Secure Channel para verificar certificados de cliente com assinaturas mais recentes.
Substitui o uso de
rand()
por alternativas seguras para threads.Remove o suporte para Debian 9 e Debian 10.
Melhorias
Atualiza a versão mínima suportada do MongoDB Server de 4.0 para 4.2.
Define a versão máxima da política CMake para
4.0
. A versão máxima foi desconfigurada anteriormente.Remove buffers de longa duração inúteis para reduzir o uso de memória.
Melhora as mensagens de erro produzidas pelas APIs do Windows.
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 2.0.1 notas de versão v.
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
A 2.0.0 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 2.0 notasde versão v.
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 2.0 notas de versão v.
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 1.30.3 notas de versão v.
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 1.30 notas de versão v.
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 1.29 notas de versão v.
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 1.28 notas de versão v.
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