Visão geral
Nesta seção, você pode identificar as alterações que deve fazer no seu aplicação para atualizar seu driver para uma nova versão.
Antes de atualizar, execute as seguintes ações:
Certifique-se de que a nova versão do driver seja compatível com as versões do MongoDB Server às quais seu aplicativo se conecta e com as versões do Rust em que seu aplicativo é executado. Para visualizar informações de compatibilidade, consulte a página decompatibilidade do .
Resolva quaisquer alterações interruptivas entre a versão atual do driver que seu aplicativo está usando e a versão de atualização planejada na seção alterações interruptivas.
Controle de Versão
Cada versão de driver do Rust tem um número de versão no formato MAJOR.MINOR.PATCH. O driver do Rust usa o Controle de Versão Semântica (SemVer), o que normalmente significa:
As alterações interruptivas e a remoção de funcionalidades obsoletas serão feitas somente em versões principais.
Novas funcionalidades podem ser adicionadas usando sinalizadores de recurso, que devem ser habilitados por meio de uma alteração de configuração de aceitação. Esses sinalizadores de recurso podem ser adicionados em versões principais ou secundárias.
A funcionalidade pode ser marcada como obsoleta em versões principais ou secundárias, mas não será removida até a próxima versão principal, no mínimo.
As versões de patch conterão apenas correções e atualizações de segurança não significativas.
Mudanças de última hora
Uma alteração interruptiva é uma modificação em uma convenção ou comportamento em uma versão específica do driver que pode impedir que seu aplicação funcione corretamente se você não a resolver antes de atualizar.
As alterações interruptivas nesta seção são categorizadas pela versão do driver que as introduziram. Ao atualizar as versões do driver, resolva todas as alterações interruptivas entre a versão atual e a atualizada.
Versão 3.5 Itens obsoletos
A versão do driver Rust v3.5 inclui as seguintes descontinuações:
Desativa a especificação da autenticação AWS no nome de usuário e na senha da sua string de conexão e da propriedade
AWS_SESSION_TOKEN. Essa funcionalidade será removida na próxima versão principal do driver. Atualize seu aplicativo para usar métodos alternativos de autenticação da AWS. Para saber mais sobre a autenticação da AWS, consulte a seção Mecanismo MONGODB-AWS do guia de autenticação.Descontinua a opção
socketTimeoutMS. Em vez dela, use a opçãowTimeoutMS. Para aprender mais sobre as opções de conexão disponíveis, consulte o guia Opções de conexão.
Versão 3.3 Alterações interruptivas
A versão do driver Rust v3.3 inclui as seguintes alterações interruptivas:
Descarta o suporte para a versão 4.0 do MongoDB Server e aumenta a versão mínima suportada para 4.2. Certifique-se de que seu MongoDB implantação esteja executando a versão 4.2 ou posterior antes de atualizar.
Apresenta suporte para a versão 3.0 da crate BSON . Embora o driver use a versão 2.15 por padrão para compatibilidade com versões anteriores, o BSON 3.0 inclui várias alterações de API incompatíveis com versões anteriores:
Apresenta um tipo unificado de
bson::error::Errorque consolida o tratamento de erros.Adiciona tipos
&CStreCStringpara chaves BSON e expressões regulares.Torna o
serdeum recurso opcional que está desativado por padrão. As funções de serialização e desserialização agora têm prefixosserialize_tooudeserialize_from.
Versão 3.2 Alterações interruptivas
A versão do driver Rust v3.2 inclui as seguintes alterações interruptivas:
Aumenta a versão mínima suportada do Rust para 1.71.1. Certifique-se de que seu ambiente de desenvolvimento use o Rust versão 1.71.1 ou posterior.
Versão 3.1 Alterações interruptivas
A versão do driver Rust v3.1 inclui as seguintes alterações interruptivas:
Descarta o suporte para a versão 3.6 do MongoDB Server e aumenta a versão mínima suportada para 4.0. Certifique-se de que seu MongoDB implantação esteja executando a versão 4.0 ou posterior antes de atualizar.
Versão 3.0 Alterações interruptivas
A versão do driver Rust v3.0 inclui as seguintes alterações interruptivas:
Implementa uma API fluente que muda a forma como você passa opções e inicia sessões:
Encadeie métodos de construtor de opções diretamente para chamadas de método em vez de passar parâmetros de estrutura de opções
Encadeie o método
session()a chamadas de método em vez de usar métodos com sufixos_with_sessionUse o método
run()para operações síncronas
Remove o suporte para o tempo de execução assíncrono
async-std. Atualize seu aplicativo para usar um tempo de execução alternativo, como Tokio.Requer o uso de uma funcionalidade
compatse compilado com a bandeirano-default-features. Os recursosrustlsedns-resolutionagora são opcionais.Remove o suporte para os recursos do driver
bson-*. Selecione esses recursos incluindobsoncomo uma dependência direta em seu aplicativo.Remove o suporte para constantes de read e preocupação de gravação . Use métodos de assistente para definir valores
ReadConcerneWriteConcern.Adiciona restrições
Send + Syncao tipoCollection<T>.Altera o tipo de campos
ReadPreferenceOptionsparaOption<ReadPreferenceOptions>.Remove a opção
CollectionOptions::human_readable_serialization. Em vez da opçãoCollectionOptions::human_readable_serialization, use o tipo wrapperbson::HumanReadablepara serializar os dados do usuário em um formato legível por humanos.Renomeia o campo
comment_bsonparacommentpara as estruturasAggregateOptions,FindOptionseFindOneOptions.