Menu Docs
Página inicial do Docs
/ /

Notas de versão

Descubra as novidades de cada versão:

  • Versão 5.1.3

  • Versão 5.1.2

  • Versão 5.1.1

  • Versão 5.1

  • Versão 5.0

  • Versão 4.11

  • Versão 4.10

O 5.1.3 a versão do patch do driver inclui as seguintes alterações:

  • Corrige um problema que pode causar erros de asserção ao usar os tipos Cursor .

O 5.1.2 a versão do patch do driver inclui as seguintes alterações:

  • Corrige um problema que impede o driver de codificar e decodificar classes concretas que estendem classes de base genéricas, nos casos em que você especifica a classe de base como o tipo genérico da instância MongoCollection .

  • Corrige um problema relacionado a como os nomes de domínio são validados quando você usa a funcionalidade de proxy do SOCKS5 , permitindo usar nomes de domínio com mais de seis caracteres no domínio de nível superior.

O 5.1.1 a versão do patch do driver inclui as seguintes alterações:

  • Ao usar o mecanismo de autenticação MONGODB-OIDC , você não deve incluir vírgulas no valor da string de conexão authMechanismProperties . Para saber mais sobre esse comportamento, consulte a seção MONGODB-OIDC do guia Autenticação empresarial.

  • Otimiza a taxa de transferência do GridFS removendo a clonagem de array de bytes redundante. Os tipos GridFSDownloadStream e GridFSUploadStream usam o tipo BsonDocument em vez de Document.

Aviso

Depreciações nesta versão

Para evitar alterações significativas em futuras versões principais do driver, substitua qualquer código de aplicativo que dependa de elementos de programa obsoletos.

Esta seção inclui as seguintes informações:

  • O suporte para o MongoDB Server v3.6 está obsoleto e será removido na próxima versão do driver. Para saber como atualizar seu sistema do MongoDB Server , consulte Notas de versão no manual do MongoDB Server .

  • Testes internos da tecnologia de imagem nativa GraalVM. Esses testes envolvem a criação de aplicativos nativos usando a ferramenta de imagem nativa GraalVM.

  • Compatibilidade aprimorada para o mecanismo de autenticação MONGODB-OIDC. Para obter mais informações sobre o OIDC, consulte a seção MONGODB-OIDC do guia Enterprise Authentication Mechanisms.

  • Introduz a opção serverMonitoringMode de conexão URI. Para obter mais informações sobre essa opção, consulte o guia Opções de conexão .

Aviso

Alterações significativas nesta versão

Esta versão do driver apresenta alteração interruptiva. Para obter uma lista dessas alterações, consulte a seção Alterações significativas da versão 5.0 no guia de atualização.

Aviso

Depreciações nesta versão

Para evitar alterações significativas em futuras versões principais do driver, substitua qualquer código de aplicativo que dependa de elementos de programa obsoletos.

Esta seção inclui as seguintes informações:

  • O método org.mongodb.scala.Observable.completeWithUnit() está obsoleto. Esse método não é mais útil porque o driver agora expõe org.mongodb.scala.Observable[Unit] em vez de org.mongodb.scala.Observable[Void]. Isso está relacionado a uma mudança radical sobre Observables nesta versão.

  • O método getElapsedTime() em com.mongodb.event.ConnectionReadyEvent inclui o tempo necessário para entregar o ConnectionCreatedEvent. Ou seja, o tempo retornado inclui a duração do método com.mongodb.event.ConnectionPoolListener.connectionCreated() .

    Os métodos getElapsedTime() em com.mongodb.event.ConnectionCheckedOutFailedEvent e com.mongodb.event.ConnectionCheckedOutEvent incluem o tempo necessário para entregar o com.mongodb.event.ConnectionCheckOutStartedEvent . Ou seja, o tempo retornado inclui a duração do método com.mongodb.eventConnectionPoolListener.connectionCheckOutStarted() .

A versão 5.0 do driver introduz os seguintes recursos:

  • Adiciona suporte para a opção authorizedCollection do comando listCollections . Isso foi feito alterando os métodos com.mongodb.client.MongoDatabase.listCollectionNames() . O tipo de retorno agora é com.mongodb.client.ListCollectionNamesIterable, enquanto anteriormente era um MongoIterable<String>. Esta alteração permite que o valor de retorno seja configurado utilizando o método ListCollectionNamesIterable.authorizedCollections() e especificando a opção authorizedCollections . Foram feitas alterações equivalentes nas seguintes classes e interfaces:

    • com.mongodb.reactivestreams.client.MongoDatabase

    • org.mongodb.scala.MongoDatabase

    • com.mongodb.kotlin.client.MongoDatabase

    • com.mongodb.kotlin.client.coroutine.MongoDatabase

    Essas alterações introduzem uma alteração de quebra binária no método listCollectionsNames(). Para obter mais informações sobre o método MongoDatabase.listCollectionNames() e a opção authorizedCollections , consulte a página de manual listCollections MongoDB Server ou Obter uma lista de coleções.

Observação

O v5.0.2 A versão de patch corrigiu um problema relacionado a como os nomes de domínio são validados quando você usa a funcionalidade de proxy do SOCKS5 , permitindo usar nomes de domínio com mais de seis caracteres no domínio de nível superior.

Esta seção inclui as seguintes informações:

Aviso

Depreciações nesta versão

Para evitar alterações significativas em futuras versões principais do driver, substitua qualquer código de aplicativo que dependa de métodos e tipos preteridos.

A versão 4.11 do driver substitui os seguintes itens:

  • Os métodos de instância getStats() e isCapped() da classe DBCollection são preteridos. Os comandos de servidor correspondentes são preteridos no MongoDB v6.2 e posterior. Use o estágio do aggregation pipeline do $collStats para recuperar as informações fornecidas por esses métodos. Você pode executar a agregação como mostrado no seguinte exemplo de código:

    Cursor cursor = collection.aggregate(Arrays.asList(
    new BasicDBObject("$collStats",
    new BasicDBObject("storageStats", new BasicDBObject()))),
    AggregationOptions.builder().build()
    );

    Para determinar se uma coleção é uma coleção limitada, acesse o valor do campo storageStats.capped retornado pela instância Cursor na agregação de exemplo anterior.

    Para saber mais sobre o operador de agregação do $collStats, consulte a entrada manual do servidor $collStats (agregação).

  • Os seguintes métodos relacionados ao endereço de rede são preteridos e serão removidos na v5.0:

  • Os seguintes métodos e tipos relacionados à interface StreamFactory foram preteridos e agendados para remoção na v5.0:

    • streamFactoryFactory() método de MongoClientSettings.Builder

    • getStreamFactoryFactory() método de MongoClientSettings

    • NettyStreamFactoryFactory classe

    • NettyStreamFactory classe

    • AsynchronousSocketChannelStreamFactory classe

    • AsynchronousSocketChannelStreamFactoryFactory classe

    • BufferProvider classe

    • SocketStreamFactory classe

    • Stream classe

    • StreamFactory classe

    • StreamFactoryFactory classe

    • TlsChannelStreamFactoryFactory classe

    Se você configurar o Netty utilizando MongoClientSettings.Builder.streamFactoryFactory(), seu código poderá se assemelhar ao seguinte:

    import com.mongodb.connection.netty.NettyStreamFactoryFactory;
    // ...
    MongoClientSettings settings = MongoClientSettings.builder()
    .streamFactoryFactory(NettyStreamFactoryFactory.builder().build())
    .build();

    Substitua este código pelo TransportSettings.nettyBuilder() como mostrado no exemplo a seguir:

    import com.mongodb.connection.TransportSettings;
    // ...
    MongoClientSettings settings = MongoClientSettings.builder()
    .transportSettings(TransportSettings.nettyBuilder().build())
    .build();

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

Observação

O v4.11.3 A versão de patch corrigiu um problema relacionado a como os nomes de domínio são validados quando você usa a funcionalidade de proxy do SOCKS5 , permitindo usar nomes de domínio com mais de seis caracteres no domínio de nível superior.

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

  • Implementação dos métodos Accumulators.percentile() e Accumulators.median() para agregações estatísticas.

  • As interfaces no pacote com.mongodb.client.model.search agora são marcadas como @Sealed em vez de @Evolving. Interfaces seladas não devem ser estendidas ou implementadas pelos consumidores da biblioteca.

  • Resolvido um problema em que o driver emitia mensagens de registro duplicadas para operações de repetição. O driver emite agora corretamente uma mensagem de registo para cada nova tentativa de operação.

  • A interface org.bson.codecs.Parameterizable está obsoleta. Em vez de implementar essa interface em um tipo de Codec personalizado, substitua o método CodecProvider.get() no CodecProvider do codec se o codec for destinado a um tipo parametrizado.

  • Suporte para resolvedores de DNS personalizados.

  • Suporte para Queryable Encryption (QE). Para saber mais sobre os requisitos para usar o recurso QE, consulte a Queryable Encryption Driver Compatibility Table.

Voltar

Integrações de terceiros

Nesta página