Descubra as novidades de cada versão:
Novidades no 2.25
Importante
O suporte para o MongoDB Server 4.2 está obsoleto nesta versão e será removido em uma versão posterior. Se você estiver usando o MongoDB Server 4.2 ou anterior, atualize para o MongoDB Server 4.4 ou posterior.
A versão do driver Ruby 2.25 inclui os seguintes novos recursos, alterações e correções de bugs:
Adiciona os seguintes recursos à criptografia em execução:
Adiciona suporte para usar
$lookupem pipeline de agregação que referenciam coleções habilitadas para criptografia em execução.Permite especificar uma chave de dados usando o campo
keyAltName, em vez de umkeyId, ao definir o mapa de campos criptografados para uma coleção Queryable Encryption.Adiciona suporte para a opção
delegatedna chave mestra KMIP. Quando definido comotrue, o servidor KMIP executa a criptografia e a descriptografia da chave de dados, para que a chave de criptografia de chave nunca saia do servidor.Adiciona suporte para provedores KMS nomeados, que usam o formato
type:name.Encapsula o erro gerado quando
mongocrypt_kms_ctx_failretornafalse.
Adiciona o método
Database#cursor_command, que cria um cursor a partir de uma resposta de comando.Desativa as opções de ajuste de nova tentativa legadas
:max_read_retries,:read_retry_intervale:max_write_retriesquando definidas em umMongo::Client. Essas opções se aplicam apenas ao recurso de nova tentativa legada desativado. As leituras e gravações modernas que podem ser repetidas são habilitadas por padrão e ignoram essas opções.Gera um erro quando você passa um valor booleano inválido para a opção de URI
tlsoussl.Encapsula o erro gerado quando
mongocrypt_kms_ctx_failretornafalse.Redige credenciais na renderização de URI e em
Mongo::Error::InvalidURImensagens de erro.Protege o thread que monitora o SRV e corrige o tratamento da opção
raise_on_invalid.Corrige um vazamento de conexão em topologias com balanceamento de carga.
Corrige o comportamento de preferência de leitura
secondaryPreferredpara cumprir a especificação de seleção do servidor.Mantém o objeto
MemoryPointerativo emBinary.wrap_stringpara evitar a coleção de lixo prematura.Interrompe a publicação de eventos SDAM das verificações de tempo de ida e volta do monitorar.
Envia
afterClusterTimeao gravar em sessões causalmente consistentes.Fecha a conexão de monitoramento quando um servidor é marcado
Unknowndevido a um erro de rede.Interrompe a adição de read e write concerns aos comandos assistentes do índice de pesquisa.
Para saber mais sobre esta versão, consulte as Notas da versão v2.25.0 no GitHub.
Novidades em 2.24.1
A versão do driver Ruby 2.24.1 inclui os seguintes novos recursos, alterações e correções de bugs:
Impede que os rastreamentos do OpenTelemetry capturem comandos confidenciais.
Adiciona a opção
Mongo::Config.include_server_address_in_errors, que por padrão éfalse. Quando ativadas, as mensagensMongo::Error::OperationFailureeMongo::Error::BulkWriteErrorincluem o host e a porta do servidor que produziu o erro.Adiciona a propriedade
databaseNameaos eventos de comando, alinhando-se à especificação de monitoramento de comando.Expõe
atClusterTimeem sessões de snapshots.
Para saber mais sobre esta versão, consulte as Notas da versão v2.24.1 no GitHub.
Novidades no 2.24
Importante
Esta versão elimina o suporte para as versões 3.6 e 4.0 do MongoDB Server . Se você estiver utilizando o MongoDB Server 4.0 ou anterior, atualize para a versão 4.2 ou posterior.
A versão do driver Ruby 2.24 inclui os seguintes novos recursos, alterações e correções de bugs:
Apresenta a opção de conexão
:server_monitoring_mode. Para saber mais, consulte a seção Seleção do Servidor no guia Opções de Conexão.Adiciona suporte para recursos de limitação da taxa de conexão de entrada. Você pode usar as opções
:enable_overload_retargetinge:max_adaptive_retriespara melhorar o comportamento quando conectado a servidores sobrecarregados. Para saber mais sobre essas opções, consulte a seção Operações de leitura e escrita no guia Opções de conexão.Adiciona suporte para o MongoDB Intelligent Gerenciamento de Carga de Trabalho (IWM). O driver Ruby agora lida com cenários de bloqueio de gravação e otimiza o estabelecimento de conexão durante condições de alta carga para manter a disponibilidade do aplicativo. Para aprender mais sobre IWM, consulte gravar-bloqueio na documentação do Atlas. Esses recursos estarão disponíveis em clusters do Atlas executando o MongoDB 9.0 e posterior.
Para saber mais sobre esta versão, consulte as notas de versão v2.24 no Github.
Novidades no 2.23
Importante
O suporte para as versões 3.6 e 4.0 do MongoDB Server está obsoleto nesta versão e será removido na versão 2.24. Se você estiver utilizando o MongoDB Server 4.0 ou anterior, atualize para a versão 4.2 ou posterior.
A versão do driver Ruby 2.23 inclui os seguintes novos recursos, alterações e correções de bugs:
Adiciona suporte para rastreamento de operações de driver com OpenTelemetry. Quando ativado, esse recurso rastreia as operações do driver Ruby e os comandos correspondentes do servidor . Você pode ativar o rastreamento em uma instância
Mongo::Clientdefinindo a opçãotracingcomotrueou defini-la globalmente por meio da variável de ambienteOTEL_RUBY_INSTRUMENTATION_MONGODB_ENABLED.Adiciona a opção de configuração
csfle_convert_to_ruby_typespara converter tipos de criptografia no nível do campo do lado do cliente (CSFLE) em tipos de Ruby.Adiciona o mecanismo Ruby (por exemplo, TrfleRuby ou JRuby) ao campo de plataforma nos registros de metadados do cliente .
Permite connection strings SRV que usam nomes de host válidos com menos de três rótulos.
Implementa corretamente a opção de URI do
srv_max_hosts.Adiciona suporte para Ruby 4.0.
Corrige o manuseio do Tempo limite de operações do lado do cliente (CSOT) em
with_transactionao manipular corretamente valores de tempo limite zero (infinito) e positivo.
Para saber mais sobre esta versão, consulte as notas de versão v2.23 no Github.
Novidades no 2.22
A versão do driver Ruby 2.22 inclui os seguintes novos recursos, alterações e melhorias:
Adiciona uma opção de classificação para os métodos
update_oneereplace_one. Para obter mais informações, consulte a documentação da API para update_one e replace_one.Adiciona lógica de repetição ao tratamento
SocketErrordurante verificações de pool de conexões .Corrige um
ArgumentErrorque ocorreu quando um servidor foi marcado comounknown.
Para saber mais sobre esta versão, consulte as notas de versão v2.22 no Github.
Novidades em 2.21.1
A versão do driver Ruby 2.21.1 inclui os seguintes novos recursos, alterações e melhorias:
Adiciona o parâmetro
typeaos métodos de criação de índice de pesquisaMongo::SearchIndex::View#create_oneeMongo::SearchIndex::View#create_many. Isso permite que você crie índices de pesquisa Vector Search do MongoDB programaticamente. Para saber mais e ver exemplos, consulte o guia de índices de pesquisa do MongoDB Search e do MongoDB Vector Search.Adiciona compatibilidade com Ruby 3.3. Para saber mais, consulte Compatibilidade.
BSON v5.1
A joia bson é a implementação da especificação BSON em Ruby. bson v5.1 acompanha o driver Ruby v2.21.1 liberação.
A versão bson 5.1 inclui os seguintes novos recursos, alterações e aprimoramentos:
Adiciona o tipo
BSON::Vectorpara representar vetores de valores numéricos. Para saber mais, consulte a seção BSON::Vector do guia BSON.BSON::Documentobjetos não suportam o uso dos métodos#deep_symbolize_keys!e#symbolize_keys!. Em versões anteriores, o método#symbolize_keys!gera umArgumentErrorquando usado em umBSON::Document, mas#deep_symbolize_keys!não, e só retorna umHashem vez de umBSON::Document.Esta versão adiciona um aviso quando você usa
#deep_symbolize_keys!em uma instânciaBSON::Document. Embsonv6.0, essa ação gerará um erro.
Para saber mais sobre esta versão, consulte as Notas da versão v2.21.1 no GitHub.
Novidades no 2.21
A versão do driver Ruby 2.21 inclui os seguintes novos recursos:
Suporta o recurso Tempo limite de operações do lado do cliente (CSOT), que unifica a maioria das opções relacionadas ao tempo limite em uma única opção
timeout_ms.Suporta a versão 8.0 do MongoDB Server .
Suporte para queries de intervalo v2 com Queryable Encryption, incluindo um novo parâmetro
trim_factor. Para obter mais informações sobre Queryable Encryption, consulte Queryable Encryption no manual do MongoDB Server.
Para saber mais sobre esta versão, consulte as notas de versão v2.21 no Github.
Novidades no 2.20
A versão do driver Ruby 2.20 inclui os seguintes novos recursos:
Descontinua o suporte para Ruby 2.5 e 2.6. Substitui o suporte para Ruby 2.7 e JRuby 9.2, que serão descontinuados na próxima versão secundária do driver. Adiciona suporte para JRuby 9.4.
Suporta a versão recém-lançada do Ruby-BSON 5.0.
Permite connection strings sem uma barra entre os hosts e as opções. Por exemplo,
mongodb://example.com?w=1emongodb://example.com/?w=1são ambas connection strings válidas agora.Envia metadados de tempo de execução e orquestração do container para o ambiente do cliente para o servidor para fins analíticos.
Escreve uma mensagem de aviso no registro ao detectar o host como uma instância CosmosDB (Azure) ou DocumentDB (Amazon).
Tenta novas tentativas de operações de leitura ou gravação em uma instância
mongosdiferente em uma topologia fragmentada, se possível.
Para saber mais sobre esta versão, consulte as notas de versão v2.20 no Github.