Compatibilidade com o MongoDB
A tabela de compatibilidade a seguir especifica a(s) versão(ões) recomendada(s) do MongoDB Ruby Driver para uso com uma versão específica do MongoDB. Exceto quando indicado, as versões do driver especificada expõem ou aproveitam os recursos adicionados nas versões do servidor correspondentes.
As versões do servidor MongoDB são geralmente compatíveis com versões anteriores. Isso significa que uma versão específica do driver geralmente funcionará com as versões mais recentes do servidor , mas pode não utilizar as novas funcionalidades dessas servidor .
A primeira coluna indica as versões do driver.
Importante
O MongoDB garante a compatibilidade entre o MongoDB Server e os drivers por três anos após a data de fim da vida útil (EOL) da versão do servidor. Para saber mais sobre a versão do MongoDB e as datas de EOL, consulte Cronograma do ciclo de vida do software MongoDB.
Legenda da tabela de compatibilidade
Icon | Explicação |
---|---|
✓ | Todas as funcionalidades são suportadas. |
⊛ | A versão Driver funcionará com a versão MongoDB, mas nem todos os novos recursos MongoDB são suportados. |
✗ | A versão do driver não funcionará com a versão do MongoDB. Tentar conectar-se à versão do MongoDB resultará em erros. |
Sem marca | A versão Driver não é testada com a versão MongoDB. |
Ruby Driver | MongoDB 8.0 | MongoDB 7.0 | MongoDB 6.0 |
---|---|---|---|
2.21 | ✓ | ✓ | ✓ |
2.19 a 2.20 | ✓ | ✓ | |
2.18 | ✓ |
O driver não suporta versões mais antigas do MongoDB.
Compatibilidade de linguagem
A tabela de compatibilidade a seguir especifica as versões do Ruby suportadas pelas várias versões do MongoDB Ruby Driver.
A primeira coluna indica as versões do driver.
Legenda da tabela de compatibilidade
Icon | Explicação |
---|---|
✓ | Todas as funcionalidades são suportadas. |
D | O suporte para a versão do idioma está obsoleto. |
Sem marca | A versão do driver não é testada com a versão do idioma. |
Ruby Driver | Ruby 3.3 | Ruby 3.2 | Ruby 3.1 | Ruby 3.0 | Ruby 2.7 | Ruby 2.6 | JRuby 9.4 | JRuby 9.3 | JRuby 9.2 | JRuby 9.1 |
---|---|---|---|---|---|---|---|---|---|---|
2.21.1 | ✓ | ✓ | ✓ | ✓ | D | ✓ | ✓ | D | ||
2.20 a 2.21.0 | ✓ | ✓ | ✓ | D | ✓ | ✓ | D | |||
2.19 | ✓ | ✓ | ✓ | ✓ | D | ✓ | ✓ |
O driver não suporta versões mais antigas do Ruby.
Compatibilidade com Rails/ActiveSupport
O driver Ruby não depende do ActiveSupport. No entanto, se o seu aplicação usar ActiveSupport ou Ruby on Rails, você deverá carregar o código de compatibilidade do driver ActiveSupport para que o comportamento, como a serialização de tempo, esteja correto:
require 'mongo' require 'mongo/active_support'
Aplicativos que usam o Mongoid 7.0.6 ou mais recente não precisam carregar explicitamente o código ActiveSupport do driver, pois o Mongoid o faz automaticamente.
Compatibilidade com TLS/SSL
O driver Ruby usa os protocolos suportados pela extensão Ruby openssl
subjacente. A extensão openssl
geralmente expõe a funcionalidade disponível na biblioteca OpenSSL do sistema operacional.
As melhores práticas do setor e alguns regulamentos exigem o uso do TLS 1.1 ou mais recente. Alguns sistemas operacionais ou versões podem não fornecer uma versão OpenSSL que ofereça suporte a essas versões do TLS.
Se você usar o macOS com mais de 10.13 (High Sierra), precisará instalar o Ruby a partir de rvm, homebrew, macports ou outra fonte semelhante.Consulte Instalando Ruby para mais opções.
Se você usa Linux ou outros sistemas Unix não macOS, pode verificar sua versão do OpenSSL da seguinte maneira:
openssl version
Se o número da versão for inferior a 1.0.1, o suporte para TLS 1.1 ou mais recente não estará disponível. Entre em contato com o fornecedor do sistema operacional para obter uma solução ou atualize para uma distribuição mais recente.
Você pode verificar sua versão do TLS executando o seguinte comando:
ruby -e "require 'net/http'; require 'json'; puts JSON.parse(Net::HTTP.get(URI('https://www.howsmyssl.com/a/check')))['tls_version']"
Após executar o comando, você deve ver TLS 1.X
onde X
é maior ou igual a 1
.
Para saber mais sobre as versões do TLS e suas implicações de segurança, consulte a Folha de referências de segurança da camada de transporte.
Conexões JRuby e TLS
Devido às limitações do JRuby:
O driver não suporta certificados de servidor ECDSA.
O driver não realiza a verificação de endpoints do OCSP.