Descubra as novidades de cada versão:
Novidades no 5.0
Os novos recursos da versão do driver 5.0 incluem:
O construtor
KotlinSerializerCodecProvideragora aceita objetosserializersModuleebsonConfiguration:KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration) Isso torna mais fácil personalizar sua configuração.
Corrige um bug de reflexão do Kotlin que resultou no apagamento do tipo de container.
Novidades no 4.11
Esta seção inclui as seguintes informações:
Depreciações na versão 4.11
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 seguintes métodos relacionados ao endereço de rede são preteridos e serão removidos na v5.0:
O ServerAddress métodos
getSocketAddress()egetSocketAddresses().Em vez de
getSocketAddress(), utilize o método de instânciagetByName()dejava.net.InetAddress.Em vez de
getSocketAddresses(), utilize o método de instânciagetAllByName()dejava.net.InetAddress.O método UnixServerAddress
getUnixSocketAddress().Em vez de
getUnixSocketAddress(), construa uma instância dejnr.unixsocket.UnixSocketAddress. Passe o caminho completo do arquivo de soquete UNIX para o construtor. Por padrão, o MongoDB cria um arquivo de soquete UNIX localizado em"/tmp/mongodb-27017.sock". Para saber mais sobre oUnixSocketAddress, consulte a documentação da API UnixSocketAddress.
Os seguintes métodos e tipos relacionados à interface StreamFactory foram preteridos e agendados para remoção na v5.0:
streamFactoryFactory()método deMongoClientSettings.BuildergetStreamFactoryFactory()método deMongoClientSettingsNettyStreamFactoryFactoryclasseNettyStreamFactoryclasseAsynchronousSocketChannelStreamFactoryclasseAsynchronousSocketChannelStreamFactoryFactoryclasseBufferProviderclasseSocketStreamFactoryclasseStreamclasseStreamFactoryclasseStreamFactoryFactoryclasseTlsChannelStreamFactoryFactoryclasse
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();
Novos recursos na versão 4.11
Os novos recursos da versão 4.11 do driver incluem:
Suporte para conexão ao MongoDB usando um proxy SOCKS5.
Foi adicionado o método
getSplitEvent()à classeChangeStreamDocumentpara identificar fragmentos de um evento de fluxo de alteração que excede 16 MB. Você deve usar o estágio de agregação$changeStreamSplitLargeEventem seu fluxo de alterações para lidar com eventos que excedam 16 MB.Foi adicionado um construtor de estágio de agregação para
$vectorSearch.Foram adicionados assistentes de gerenciamento de índices do Atlas Search.
Versões atualizadas da biblioteca de compressão Snappy e zstd . Para saber mais sobre as versões de dependência atuais, consulte Compressão de rede.
Foram adicionados métodos
getElapsedTime()às seguintes classes para monitorar a duração dos eventos do pool de conexões:Suporte para threads virtuais Java 21 e simultaneidade estruturada. Os componentes internos do driver foram atualizados para evitar a fixação desnecessária de threads virtuais e para preservar o status de interrupção de um thread, já que esse último é importante para a simultaneidade estruturada, onde é usado para cancelamento.
Para saber mais sobre threads virtuais, consulte a proposta de aprimoramento do JDK de threads virtuais. Para saber mais sobre simultaneidade estruturada, consulte a proposta de aprimoramento JDK de simultaneidade estruturada.
Documentação da API atualizada para os seguintes tipos:
Novidades no 4.10
Importante
A partir da versão 4.10.1 do driver Kotlin, você deve adicionar a biblioteca bson-kotlinx como uma dependência explícita para usar a biblioteca kotlinx-serialization .
Suporte para uso do lado do servidor Kotlin, tanto para corrotinas quanto para aplicativos síncronos.
Suporte de codec para classes de dados Kotlin.
Suporte para a biblioteca
kotlinx.serialization