Menu Docs
Página inicial do Docs
/ / /
Driver Ruby MongoDB
/

Compatibilidade de drivers

Nesta página

  • Compatibilidade com o MongoDB
  • Compatibilidade com rubi
  • Compatibilidade com Rails/ActiveSupport
  • Compatibilidade com TLS/SSL
  • Compatibilidade com o Atlas
  • mongo_kerberos Compatibilidade
  • Autenticação JRuby e Kerberos
  • Conexões JRuby e TLS

A tabela de compatibilidade a seguir especifica a(s) versão(ões) recomendada(s) do driver Ruby do MongoDB 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 geralmente são compatíveis com versões anteriores, o que significa que uma versão específica do driver geralmente funcionará com versões mais recentes do servidor, mas pode não aproveitar a funcionalidade lançada na versão mais recente do servidor.

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.

A primeira coluna lista as versões do driver. "D" em outras colunas significa que o suporte para essa versão do MongoDB está obsoleto e será removido em uma futura versão do driver.

Ruby Driver
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
MongoDB 4.0
MongoDB 3.6
MongoDB 3.4
MongoDB 3.2
MongoDB 3,0
MongoDB 2.6
2.21
2.20
2.19
2.18
2.17
2.16
D
D
D
D
2.15
2.14
2.13
[1]
2.12
2.11
[3]
2.10
[2] [3]
2.9
2.8
2.7
2.6
2.5
[1] A verificação OCSP é implementada a partir da versão do driver 2.14.
[2] A pesquisa de registros SRV em topologias fragmentadas é implementada a partir da versão do driver 2.11.
[3](1, 2) A criptografia do lado do cliente é implementada a partir da versão 2.12 do driver.

O driver não suporta versões mais antigas do MongoDB.

A tabela de compatibilidade a seguir especifica as versões do Ruby suportadas pelas várias versões do driver Ruby do MongoDB.

A primeira coluna indica as versões do driver. "D" em uma coluna significa que a compatibilidade com essa versão Ruby está obsoleta.

Ruby Driver
Ruby 3.2
Ruby 3.1
Ruby 3.0
Ruby 2.7
Ruby 2.6
Ruby 2.5
Ruby 2.4
Ruby 2.3
Ruby 2.2
Ruby 2.1
Ruby 2.0
Ruby 1.9
JRuby 9.4
JRuby 9.3
JRuby 9.2
JRuby 9.1
2.20 a 2.21
D
D
2.19
D
D
2.18
2.17
2.16
D
2.15
D
D
2.14
D
D
2.13
2.12
2.11
2.10
D
D
D
D
2.9
D
D
D
D
2.8
2.7
2.6

O driver não suporta versões mais antigas do Ruby.

O driver Ruby não depende do ActiveSupport. No entanto, quando um aplicativo usa o ActiveSupport ou Ruby on Rails, ele deve 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 Mongoid 7.0.6 ou mais recente não precisa carregar explicitamente o código ActiveSupport do driver, pois o Mongoid o faz automaticamente.

O driver utilizará os protocolos suportados pela extensão Ruby openssl subjacente. Por sua vez, a extensão openssl geralmente expõe a funcionalidade que existe 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 nova o suficiente para suportar essas versões TLS.

Os usuários do macOS com mais de 10.13 (High Sierra) precisarão instalar o Ruby a partir do rvm, homebrew, macports, ou outra fonte semelhante. Consulte as informações de instalação em ruby-lang.org para mais opções.

Usuários de Linux ou outro Unix não-macOS podem verificar sua versão OpenSSL da seguinte maneira:

openssl version

Se o número da versão for menor que 1.0.1 suporte para TLS 1.1 ou mais recente não está 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 seu interpretador Ruby 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']"

Você deve ver "TLS 1.X" onde X é >= 1.

Você pode ler mais sobre as versões do TLS e suas implicações de segurança aqui.

Versão 2.6.1 do driver ou superior é recomendado ao usar o MongoDB Atlas, pois essa versão tem melhorias significativas de desempenho quando as conexões TLS são usadas, e todas as conexões do Atlas usam TLS.

Ao executar no JRuby e conectar ao Atlas Free Tier, versão do 2.6.4 driver ou superior e Java 8 ou superior são exigidos.

A tabela de compatibilidade a seguir especifica a(s) versão(ões) da biblioteca mongo_kerberos a serem usadas com uma versão específica do driver.

Ruby Driver
mongo_kerberos   2.1
2.7 - 2.19

Se a joia mongo_kerberos for usada para autenticação Kerberos com JRuby, a propriedade do sistema JVM "sun.security.jgss.native" será definida como "true" para facilitar o uso do cache do sistema de TGTs (por exemplo TGTs obtidos com kinit). Qualquer outro uso da biblioteca JGSS também será afetado por essa configuração, o que significa que qualquer TGTs no cache do sistema também estará disponível para obter credenciais Kerberos.

Devido às limitações do JRuby:

  • Certificados de servidor ECDSA não são suportados.

  • A verificação do endpoint OCSP não é realizada.

Voltar

Instalação