Menu Docs
Página inicial do Docs
/ / /
Java síncrono

NOVIDADES

Nesta página

  • Próximas alteração interruptiva
  • Novidades no 4.9
  • 4.8: quais as novidades
  • Novidades no 4.7.1
  • O que há de novo em 4.7
  • 4.6: quais as novidades
  • Novidades no 4.5.1
  • Novidades no 4.5
  • O que há de novo em 4.4
  • Novidades no 4.3
  • 4.2: quais as novidades
  • Novidades no 4.1
  • 4.0: quais as novidades

Descubra as novidades de cada versão:

  • MapReduceIterable e métodos map-reduce na MongoCollection são preteridos no MongoDB v4.2 e mais tarde. Eles serão substituídos pela estrutura de agregação e removidos em uma versão futura.

Importante

As operações de expressão de aggregation estão em versão beta

Esta versão do driver introduz uma API para criarexpressões de agregação do . Este recurso está na fase beta.

Os novos recursos da versão do driver 4.9 incluem:

  • Foi adicionada uma nova exceção para identificar quando um construtor anotado pelo BsonCreator contém parâmetros com anotações diferentes de BsonProperty ou BsonId.

  • Foi alterado o formato da mensagem de registro para mensagens de monitoramento de comando relatadas pelo pacote org.mongodb.driver.protocol.command.

  • Adição de suporte para o estágio de pipeline de agregação $documents à classe assistente Aggregates.

  • Adicionado os métodos MongoClientSettings.Builder.applyToLoggerSettings() e LoggerSettings.Builder.maxDocumentLength() que permitem especificar um comprimento máximo para a representação JSON estendida de um documento BSON em uma mensagem de registro.

Aviso

Alterações significativas na v4.8

O driver v4.8 contém alterações significativas. Para obter mais informações, consulte Alterações de ruptura da versão 4.8 e Alterações de suporte da versão 4.8 do servidor.

Importante

Aviso de depreciação

As classes IterableCodec e MapCodec estão obsoletas. Em vez disso, use CollectionCodec e MapCodecV2. Eles suportam qualquer classe que implemente Collection ou Map.

As mudanças comportamentais com a versão 4.8 do driver incluem:

  • Requisito que você adicione uma dependência explícita no módulo org.bson.codecs.record se seu aplicativo distribuir o driver em um container OSGi e depender do driver para codificar e decodificar registros Java.

  • Registro de novas mensagens de conexão no nível DEBUG em vez de em INFO.

Os novos recursos da versão do driver 4.8 incluem:

  • Suporte para autenticação com AWS. O driver tem uma dependência opcional do AWS SDK versão 1 e versão 2.

  • Suporte para obter credenciais do ambiente para GCP e Azure para criptografia em uso.

  • Suporte para desserialização de registros contendo componentes com parâmetros genéricos.

  • Suporte para desserialização de registros contendo componentes com tipos de contêiner mais específicos, como SortedSet, NavigableMap, LinkedList ou TreeSet.

  • Suporte para tipos de registro recursivos, registros cujas definições de tipo contêm ciclos.

  • Inclusão do campo disambiguatedPaths nos eventos de atualização do stream de alterações quando o recurso de servidor showExpandedEvents está ativado no MongoDB v6.1 e versões posteriores. Saiba mais sobre este campo em getDisambiguatedPaths() Documentação da API. Saiba mais sobre a configuração showExpandedEvents na documentação do servidor Expanded Events .

O 4.7.1 driver corrige um bug que afeta a criptografia em nível de campo do lado do cliente e a Queryable Encryption. O bug pode causar corrupção de dados ao girar Chaves de criptografia de dados (DEKs) criptografadas com uma Chave mestre do cliente hospedada no GCP KMS ou Azure Key Vault. O bug estava presente na versão 4.7.0 do driver no método RewrapManyDataKey e causa a perda dos seus DEKs.

Importante

Faça backup da sua coleção do Key Vault

Sempre faça o backup de sua coleção de cofre de chaves antes de fazer a rotação dos DEKs. Se você perder seus DEKs, perderá acesso a todos os dados criptografados com essas chaves.

Aviso

Alterações significativas na v4.7

O driver v4.7 contém alterações significativas. Consulte Alterações importantes na versão 4.7 para obter mais informações.

Os novos recursos da versão do driver 4.7 incluem:

  • Suporte completo adicionado para MongoDB 6.0.

  • Adicionadas as seguintes melhorias de suporte ao fluxo de mudança:

    • Suporte aprimorado pré e pós-imagem para fluxos de alteração. Os auxiliares de observação de fluxo de alteração agora aceitam whenAvailable e required para a opção fullDocument . Consulte a documentação de referência do fluxo de alterações para obter mais informações.

    • Foi adicionada uma nova opção fullDocumentBeforeChange, que aceita whenAvailable e required.

    • Alterar eventos agora inclui um campo fullDocumentBeforeChange quando configurado para exibição em sua coleção MongoDB.

    • Adicionado suporte showExpandedEvents para fluxos de mudança.

    • Adicionado suporte wallTime à classe ChangeStreamDocument .

  • Suporte de criação de índice agrupado adicionado.

  • Suporte para novos recursos relacionados à Queryable Encryption, incluindo suporte para criptografia automática (MongoDB v6.0 Enterprise ou posterior é necessário) e criptografia manual.

    • Suporte para a nova biblioteca compartilhada do Queryable Encryption , que remove a necessidade do processo do mongocryptd . A Queryable Encryption biblioteca compartilhada do requer org.mongodb:mongodb-crypt versão 1.5.1.1 ou posterior.

  • Foi adicionada uma nova API para o gerenciamento de chaves de criptografia.

  • Adicionados métodos de API do construtor para estágios de agregação adicionais, incluindo $search/$searchMeta (somente Atlas ), $densify e $fill. Saiba mais sobre esses métodos na página do Aggregates Builder .

  • Foi adicionada a anotação BsonExtraElements que pode ser usada com codificação e decodificação POJO. BsonExtraElements permite decodificar objetos que podem receber novos campos no futuro sem exigir que os desenvolvedores mapeiem explicitamente esses novos campos.

  • Otimizações de desempenho, incluindo:

    • Implementações sem travamento do pool de sessão do servidor e do pool de buffer.

    • Uma nova implementação de limpeza de DBCursor que usa a API Cleaner do Java em vez de finalização, disponível no Java 9 ou posterior.

  • A API do construtor setWindowFields não é mais um recurso beta. Mudanças na API quebram a compatibilidade binária e de origem. Consulte Alterações importantes na versão 4.7 para obter mais informações.

As novas funcionalidades da versão do driver Java 4,6 incluem:

Se o servidor DNS retornar um erro de NXDomain, indicando um domínio inexistente, o driver do 4,5,1 não lançará mais uma exceção.

As novas funcionalidades da versão 4,5 do driver Java incluem:

  • Foi adicionado suporte para especificar nomes de serviços personalizados de registros de recursos SRV. Consulte a configuração do srvServiceName no guia Opções de Conexão para mais informações.

  • Foi adicionado suporte para personalizar a representação de UUID em um registro de codec usando o método CodecRegistries.withUuidRepresentation().

  • Adicionado suporte para substituir as configurações de ouvinte nos construtores ClusterSettings, ServerSettings e ConnectionPoolSettings.

  • Todos os eventos recebidos por ClusterListener, ServerListener e ServerMonitorListener agora são totalmente ordenados usando uma relação happens-before quando os ouvintes não são compartilhados por instâncias diferentes do MongoClient. Para saber mais sobre a ordem antes de acontecer,consulte Ordem antes deacontecer na Especificação da linguagem Java.

  • Foram adicionadas classes EnumCodec e EnumCodecProvider para separar o suporte de codec para tipos de PojoCodec enum classe . Os registros de codec padrão, acessíveis a partir das interfaces do MongoClientSettings e Bson , agora incluem as classes de codec do enum . Se o seu aplicativo usar um codec de enumeração personalizado e um dos registros padrão, certifique-se de ordená-los conforme descrito na seção sobre substituição de codecs.

  • Resolveu problemas de desempenho que afetaram as versões 4.4 e 4.3 do driver. O desempenho nesta versão deve ser semelhante ao desempenho no 4.2.

  • Foi resolvido um problema no qual os erros originados da recuperação da descrição do cluster não eram passados para a chamada de resposta do assinante onError

  • Foi resolvido um problema com a liberação de instâncias ByteBuf quando você se conecta com a compactação habilitada.

  • Foi removida uma dependência desnecessária dos pacotes javax.annotation.* do pacote org.mongodb.driver-core OSGi.

As novas funcionalidades da versão do driver do 4,4 Java incluem:

  • Compatibilidade com MongoDB 5.1 e suporte para Java 17

  • Adicionado suporte para dicas de índice em um AggregateIterable

  • Adicionado suporte para os estágios de agregação $merge e $out em secundários

  • Uso do método mergeObjects() no construtor Updates

  • DocumentCodec não ignora um CodecRegistry ao escrever em uma instância do Iterable ou Map

As novas funcionalidades da versão do driver do 4,3 Java incluem:

  • Suporte adicionado para a API estável do MongoDB. Para obter mais informações, consulte nosso Guia de API estável.

    Observação

    A partir de fevereiro de 2022, a API Versionada é conhecida como a API estável. Todos os conceitos e funcionalidades permanecem os mesmos com essa mudança de nomenclatura.

  • Suporte adicionado para conexão com Instâncias sem servidor do MongoDB Atlas. Para obter mais informações sobre a instalação, consulte nossa documentação sobre como criar uma nova instância sem servidor

  • Foi adicionada uma API de construtor para o estágio de pipeline setWindowFields para permitir o uso de operadores de janela

  • Suporte adicionado para configurar Netty io.netty.handler.ssl.SslContext

  • Adicionado suporte para leituras de snapshots para ClientSession

  • Taxa limitada de estabelecimento de novas conexões por pool de conexões

  • Removeu a maioria das restrições aos caracteres permitidos nos nomes dos campos dos documentos que você insere ou substitui. Essa é uma mudança comportamental para qualquer aplicativo que dependa da aplicação dessas restrições pelo lado do cliente.

A tabela a seguir mostra o status de restrição em caracteres permitidos nos nomes de campo dos documentos:

Personagem
(operação)
Descrição
.
Inserir e substituir
Removidas restrições em nomes de campos que contêm este caractere.
$
Insert
Foram removidas as restrições aos nomes de campos que começam com esse caractere.
$
Substituir
Restrições removidas em documentos aninhados em nomes de campo que contêm este caractere.
$
Substituir
Manteve restrições em documentos de nível superior sobre nomes de campo que começam com esse caractere. Isso evita o uso acidental de uma operação de substituição quando a intenção era usar uma operação de atualização.

Observação

Gravações não confirmadas usando chaves com prefixo em dólar ou pontilhadas podem ser rejeitadas silenciosamente até a versão anterior à versão 5.0 servidores, onde algumas restrições aos nomes dos campos ainda são aplicadas no servidor.

Aviso

Alterações significativas na v4.2

O driver v4.2 contém alterações significativas. Consulte as Alterações significativas na versão 4.2 para obter mais informações.

As novas funcionalidades da versão 4.2 do driver Java incluem:

As novas funcionalidades da versão do driver do 4.1 Java incluem:

  • Redução significativa nos tempos de failover percebidos pelo cliente durante eventos de manutenção planejados

  • Os métodos update() e delete() agora suportam dicas de índice

  • O método find() é compatível com allowDiskUse() para tipos que exigem muita memória para serem executados na RAM

  • Foi adicionado suporte ao mecanismo de autenticação MONGODB-AWS usando as credenciais do Amazon Web Services (AWS) Identity e Access Management (IAM)

  • A autenticação exige menos viagens de ida e volta para o servidor, resultando em uma configuração de conexão mais rápida

Aviso

Alterações significativas na v4.0

O driver v4.0 contém alterações significativas. Consulte Mudanças recentes na versão 4.0 para obter mais informações.

Esta versão não adiciona novos recursos.

Voltar

Referência rápida