Descubra as novidades de cada versão:
Novidades no 2.26
Importante
Esta versão elimina o suporte para o MongoDB Server 4.2. Se você estiver usando o MongoDB Server 4.2 ou anterior, atualize para o MongoDB Server 4.4 ou posterior. Para saber mais sobre essa alteração, consulte Versão 2.26 Guia de alterações significativas no guia de atualizações do driver.
A versão do driver Ruby 2.26 inclui os seguintes novos recursos, alterações e correções de bugs:
Adiciona a opção do cliente
:key_expiration_ms, que especifica a vida útil do cache da chave de criptografia de dados em milissegundos. A opção aceita um número inteiro não negativo. Um valor de0significa que o cache nunca expira. O valor padrão é60000.Adiciona suporte para queries de texto de Queryable Encryption (QE). Agora você pode executar queries de prefixo, sufixo e substring em campos criptografados. Para saber mais, consulte criptografia em execução.
Melhora o desempenho do driver com o Intelligent Workload Management (IWM) no MongoDB Server 9.0 ou clusters posteriores. O driver agora tenta novamente erros de sobrecarga somente quando a nova tentativa não piora as condições do servidor .
Não permite vírgulas no valor da opção de string de conexão
authMechanismProperties.Consulta
encryptedFieldsno lado do servidor ao descartar collections QE, para que você possa descartar collections que usam criptografia automática.Corrige um problema de segurança no GridFS usando uma correspondência exata ao procurar arquivos por ID de arquivo.
Atualiza a versão mínima exigida de
libmongocryptpara 1.20.0 e corrige as opções de query de intervalo etimeout_msparaClientEncryption.
Para saber mais sobre esta versão, consulte as 226v..0 Notas de versão no GitHub.
Novidades no 2.25
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 225v..0 Notas de versão 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 224v..1 Notas de versão 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 Workload Management (IWM). O driver Ruby agora lida normalmente 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 dos aplicação . Para saber mais sobre IWM, consulte Bloqueio de gravação na documentação do Atlas . Estas funcionalidades estarão disponíveis nos clusters Atlas que executam o 9 MongoDB.0 e versões posteriores.
Para saber mais sobre esta versão, consulte as Notas de2 versão do24 v. 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 de2 versão do23 v. 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 de2 versão do22 v. 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 221v..1 Notas de versão 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 de2 versão do21 v. 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 de2 versão do20 v. no GitHub.