NOVIDADES
Nesta página
Saiba mais sobre os novos recursos, melhorias e correções introduzidos nas seguintes versões do MongoDB Rust Driver:
Novidades no 3.2
A versão do driver Rust v3.2 inclui as seguintes funcionalidades, melhorias e correções:
Importante: a próxima versão menor eliminará o suporte para a versão do MongoDB Server 4.0 e aumentará a versão mínima suportada 4.2 para. Recomendamos fazer alterações em seu aplicação para acomodar alterações significativas. Consulte a seção Notas de versão no manual do servidor para saber mais sobre a atualização.
Aumenta a versão mínima suportada do Rust para 1.71.1. Para saber mais sobre compatibilidade de drivers, consulte o guia de compatibilidade.
Marca o recurso de criptografia em uso como estável com as mesmas garantias de compatibilidade com versões anteriores do driver. O sinalizador de recurso é denominado
in-use-encryption
. Esta é uma alteração de política e a API não é alterada em relação à versão anterior.Permite nomes de host SRV com menos de três partes.
Permite fornecer uma opção de classificação ao executar operações de atualização.
Adiciona suporte de autenticação OIDC para ambientes Kubernetes.
Para usar o OIDC para autenticar a partir de um ambiente Kubernetes, defina a opção de conexão
authMechanismProperties
comoENVIRONMENT:k8s
em sua string de conexão. Você pode usar esse recurso ao se conectar a um ambiente em execução no Elastic Kubernetes Service da Amazon, no Google Kubernetes Engine ou no Azure Kubernetes Service.
Para saber mais sobre esta versão, consulte as v3.2 Release Notes no Github Github.
Novidades no 3.1
A versão do driver Rust v3.1 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para mais de um fornecedor de KMS (KMS) do mesmo tipo. Para saber mais sobre os provedores de KMS, consulte Queryable Encryption no manual do MongoDB Server .
Adiciona suporte para v2 do protocolo de faixa Queryable Encryption . Os índices de faixa para Queryable Encryption agora são GA.
Adiciona suporte para o campo
type
ao criar índices. Para saber mais sobre como criar índices, consulte Índices no manual do MongoDB Server .Implementa o algoritmo FlexibleEyballs para gerenciar conexões TCP. Para saber mais sobre esse algoritmo, consulte a documentação do Rust para os haphyllumballs crate.
O driver publica um evento
TopologyDescriptionChangedEvent
quando uma topologia é fechada.
Para saber mais sobre esta versão, consulte as Notas de versão do v3.1 no Github.
Novidades em 3.0.1
A versão do driver Rust v3.0.1 inclui as seguintes funcionalidades, melhorias e correções:
Corrige um problema no qual as aggregations não compilavam quando executadas dentro de sessões explícitas e também implementou tipos personalizados.
Corrige um problema no qual o método
Collection::watch()
não usava o parâmetro de tipo da instânciaCollection
em que foi executado.
Para saber mais sobre esta versão, consulte as Notas da versão v3.0.1 no GitHub.
Novidades no 3.0
A versão do driver Rust v3.0 inclui as seguintes funcionalidades, melhorias e correções:
Implementa uma API fluente, que introduz as seguintes alterações de sintaxe para passar opções e iniciar sessões:
Para definir opções de método assíncrono, encadeie os métodos do construtor de opções diretamente para a chamada do método, em vez de passar um parâmetro de estrutura de opções.
Para definir opções de método síncronas, encadeie os métodos construtor de opções à chamada do método e, em seguida, chame o método
run()
.Se você precisar construir uma estrutura de opções separada, encadeie o método
with_options()
à chamada do método e passe sua estrutura de opções como um parâmetro.Para iniciar uma sessão, encadeie o método
session()
à chamada do método em vez de usar um método separado que tenha um sufixo_with_session
.
Adiciona suporte para operações de escrita em massa. Para saber mais sobre essas operações, consulte o guia de operações em massa .
Introduz o tipo
EventHandler
para reduzir a quantidade de código boilerplate necessária para o monitoramento de evento . Para exemplos que usam o tipoEventHandler
, consulte os guias de monitoramento .Remove o suporte para o tempo de execução assíncrono
async-std
. Para saber mais sobre essa alteração, consulte a seção Configurar o tempo de execução assíncrono do guia de APIs assíncronas e síncronas.Requer o uso de um recurso
compat
se um aplicação de driver Rust for compilado com o sinalizador de linha de comandono-default-features
. Os recursosrustls
edns-resolution
agora são opcionais.Remove o suporte para os recursos do driver
bson-*
. Você pode selecionar essas funcionalidades incluindobson
como uma dependência direta em seu aplicação.Remove o suporte para constantes de read e preocupação de gravação . Em vez disso, utilize métodos de assistente para definir valores
ReadConcern
eWriteConcern
.Adiciona restrições
Send + Sync
ao tipoCollection<T>
.Remove o campo
ClientOptions::compressor
se nenhum recurso do compressor estiver habilitado.Altera o tipo de campos
ReadPreferenceOptions
. Esses campos agora têm um tipoOption<ReadPreferenceOptions>
.Remove a opção
CollectionOptions::human_readable_serialization
. Em vez disso, use o tipo wrapperbson::HumanReadable
para serializar os dados do usuário em um formato legível por humanos.Adiciona suporte para conversão de valor por meio do traço
Into
para todos os construtores de estrutura de opção.Renomeia o campo
comment_bson
paracomment
para as estruturasAggregateOptions
,FindOptions
eFindOneOptions
.
Para saber mais sobre esta versão, consulte o 3.0 Guia de Migração do v no Github.
Novidades no 2.8
A versão v2.8 do driver Rust inclui as seguintes funcionalidades, melhorias e correções:
Adiciona métodos de gerenciamento de índice de pesquisa do MongoDB Atlas Search. Para saber mais sobre esses métodos, consulte o guia Atlas Search Indexes .
Melhora a conectividade da rede e a confiabilidade da operação implementando os seguintes comportamentos:
Executa novas tentativas em uma variedade maior de tipos de erro encontrados pelo driver.
mongos
novas tentativas para instâncias com problemas de conectividade de rede.
Para saber mais sobre essa versão, consulte a Destaques do lançamento v2.8.0 no GitHub.
Novidades no 2.7
A versão v2.7 do driver Rust inclui as seguintes funcionalidades, melhorias e correções:
Adiciona a opção
human_readable_serialization
à estruturaCollectionOptions
. Esta opção instrui o driver a serializar os valores passados para os métodos CRUD como um formato legível pelo ser humano. O valor padrão desta opção éfalse
.Aviso
Se você definir o valor de
human_readable_serialization
comotrue
, suas operações de inserção poderão ser executadas mais lentamente.Adiciona o método
run_cursor_command()
para executar um comando do banco de dados e recuperar a resposta como um tipoCursor
. Para saber mais, consulte o guia Executar um comando .Adiciona um registro de eventos SDAM ao utilizar a sinalização de recurso
tracing-unstable
.Adiciona as seguintes configurações para
Client
e gerenciamento de conexões:max_connecting
: uma opção que você pode definir em uma estruturaClientOptions
para especificar quantas conexões você pode estabelecer em paralelo. Para saber mais sobre essa opção, consulte pool de conexões no guia Considerações de desempenho.Client::warm_connection_pool()
: um método que você pode usar para criar novas conexões no pool de conexões para fornecer um desempenho mais previsível. Ao usar este método, o driver tenta criar conexões até o número especificado na configuraçãomin_pool_size
.Client::shutdown()
: um método que você pode usar para interromper tarefas em segundo plano e aguardar a saída dos manipuladores. Este método pode ser útil se você usar manipuladores de eventos para fazer referência a recursos externos, pois esses manipuladores podem ser usados em tarefas mesmo depois que oClient
for fechado.
Para saber mais sobre essa versão, consulte a Destaques do lançamento v2.7.0 no GitHub.
Novidades no 2.6
A versão v2.6 do driver Rust inclui as seguintes funcionalidades, melhorias e correções:
Oferece suporte a roles do Amazon Web Services Identity e Access Management (IAM) para contas de serviço, como contas do Elastic Kubernetes Service (EKS).
Oferece suporte a contas de serviço anexadas ao GCP ao usar o Cloud Key Management System (KMS).
Suporta a busca de credenciais CSFLE sob demanda do Azure KMS.
Implementa a propriedade
FromStr
para a estruturaNamespace
. Essa alteração permite analisar uma string que inclui um nome de reconhecimento de data center e de collection, como"testdb.testcollection"
, em uma instânciaNamespace
.Inclui o
server_id
em uma estruturaConnectionInfo
como um tipoi64
.Remove a maioria das restrições de tipo em valores referenciados por um
Cursor
.Atualiza a versão
libmongocrypt
no driver para habilitar o recurso Queryable Encryption em consultas que usam comparações de igualdade.
Para saber mais sobre essa versão, consulte a Destaques do lançamento v2.6.0 no GitHub.