Menu Docs
Página inicial do Docs
/ /

NOVIDADES

Saiba mais sobre os novos recursos, melhorias e correções introduzidos nas seguintes versões do MongoDB Rust Driver:

  • Versão 3.4

  • Versão 3.3

  • Versão 3.2

  • Versão 3.1

  • Versão 3.0.1

  • Versão 3.0

  • Versão 2.8

  • Versão 2.7

  • Versão 2.6

A versão do driver Rust v3.4 inclui as seguintes funcionalidades, melhorias e correções:

  • Introduces type-safe MongoDB Search query construction through the atlas_search module. This feature provides compile-time validation, IDE support, and a fluent builder pattern for constructing MongoDB Search queries. To learn more about type-safe MongoDB Search queries, see the Type-Safe Query Construction section of the Run a MongoDB Search Query guide.

  • Adds support for tracing database commands and driver operations for OpenTelemetry.

  • Adds support for text indexes for automatic and explicit queryable encryption. To learn more about Queryable Encryption, see the Queryable Encryption section of the MongoDB Server manual.

Para saber mais sobre esta versão, consulte as notas de versão v3.4 no Github.

A versão do driver Rust v3.3 inclui as seguintes funcionalidades, melhorias e correções:

  • Importante: esta versão elimina o suporte para a versão 4.0 do MongoDB Server e aumenta a versão mínima suportada para 4.2. 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.

  • Apresenta suporte para a versão 3.0 da crate BSON . Por padrão, o driver usa a versão 2.15 para compatibilidade com versões anteriores. Para usar a versão 3.0, adicione o recurso bson-3 à lista features da crate do driver no Cargo.toml do seu projeto. BSON 3.0 atualiza várias APIs de maneiras incompatíveis com versões anteriores. As seguintes alterações podem exigir atualizações em seu aplicação:

    • Inclui um tipo unificado de bson::error::Error que consolida o tratamento de erros em toda a crate com campos consistentes e informações de erro granulares.

    • Adiciona tipos &CStr e CString para chaves BSON e expressões regulares para evitar problemas de bytes nulos que causavam pânico anteriormente. O exemplo seguinte mostra como atualizar seu código utilizando os tipos &CStr e CString:

      let mut computed_key = "foo".to_owned();
      computed_key.push_str("bar");
      // Non-static values need to be checked at runtime
      let computed_key = CString::try_from(computed_key)?;
      let doc_buf = rawdoc! {
      // String literal keys in `rawdoc!` are implicitly checked at compile-time.
      "hello": "world",
      computed_key: 42,
      "regex": Regex {
      // `&CStr` implements many common traits like `ToOwned`
      pattern: cstr!("needle").to_owned(),
      options: cstr!("").to_owned(),
      }
      };
      // `append` keys must now be a `&CStr` or `CString`.
      doc_buf.append(cstr!("a key"), "a value");
    • Fornece todas as conversões entre tipos brutos e seus tipos de referência por meio de características de biblioteca padrão.

    • Torna o serde um recurso opcional que está desativado por padrão. As funções de serialização e desserialização agora têm prefixos serialize_to ou deserialize_from para maior clareza.

    • Simplifica a decodificação com perdas UTF-8 com o tipo wrapper Utf8Lossy e novos métodos de conversão.

    • Atualiza as funções assistente serde para trabalhar com a anotação serde_as da crate serde_with para conversões de tipo mais flexíveis. Para mais informações, consulte Modelagem de dados e Serialização.

    • Para obter instruções detalhadas sobre a migração do BSON 2.x para o BSON 3.0, consulte o guia Migração do 2.x para 3.0 no Github.

Para saber mais sobre esta versão, consulte as notas de versão v3.3 no Github.

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 1.71.1 para. Para saber mais sobre compatibilidade de drivers, consulte a página 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 feição é 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 como ENVIRONMENT: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 notas de versão v3.2 no Github.

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 o type campo ao SearchIndexModel tipo para permitir a criação programática de índices do MongoDB Search e do MongoDB Vector Search . Para saber mais, consulte o guia de índices de pesquisa e Vector Search do MongoDB .

  • Implementa o algoritmo FlexibleEyballs para gerenciar conexões TCP. Para saber mais sobre esse algoritmo, consulte a documentação do Rust para a crate happy_eyeballs.

  • O driver publica um evento TopologyDescriptionChangedEvent quando uma topologia é fechada.

Para saber mais sobre esta versão, consulte as notas de versão v3.1 no Github.

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ância Collection em que foi executado.

Para saber mais sobre esta versão, consulte as Notas da versão v3.0.1 no GitHub.

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 tipo EventHandler, consulte os guias na seção 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 comando no-default-features . Os recursos rustls e dns-resolution agora são opcionais.

  • Remove o suporte para os recursos do driver bson-* . Você pode selecionar essas funcionalidades incluindo bson 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 e WriteConcern .

  • Adiciona restrições Send + Sync ao tipo Collection<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 tipo Option<ReadPreferenceOptions> .

  • Remove a opção CollectionOptions::human_readable_serialization . Em vez disso, use o tipo wrapper bson::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 para comment para as estruturas AggregateOptions, FindOptions e FindOneOptions .

Para saber mais sobre esta versão, consulte o Guia de Migração do v3.0 no Github.

A versão v2.8 do driver Rust inclui as seguintes funcionalidades, melhorias e correções:

  • Adiciona métodos de gerenciamento de índice do MongoDB MongoDB Search. Para saber mais sobre esses métodos, consulte o guia sobre índices de pesquisa e Vector Search do MongoDB .

  • 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.

A versão v2.7 do driver Rust inclui as seguintes funcionalidades, melhorias e correções:

  • Adiciona a opção human_readable_serialization à estrutura CollectionOptions . 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 como true, 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 tipo Cursor . 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 estrutura ClientOptions 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ção min_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 o Client for fechado.

Para saber mais sobre essa versão, consulte a Destaques do lançamento v2.7.0 no GitHub.

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 estrutura Namespace . 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ância Namespace .

  • Inclui o server_id em uma estrutura ConnectionInfo como um tipo i64 .

  • 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.

Voltar

Referência rápida

Nesta página