Pular para o conteúdo principal

Suporte de versões para linguagens e pacotes

No AppSignal temos uma política de suporte para todos os nossos pacotes de integração. Isso define qual compatibilidade mantemos com as linguagens de programação e pacotes com os quais integramos. Podemos descontinuar o suporte para algumas versões de linguagens de programação e pacotes ao longo do tempo. Consulte esta página para nossa política. Esta política pode estar sujeita a mudanças no futuro.

Justificativa

Existem muitas versões de linguagens de programação e pacotes por aí. Não conseguimos suportar todas elas de forma realista. Levaria muito tempo para manter e limitaria nosso trabalho a sintaxes e recursos específicos das linguagens/pacotes.

Linguagens de programação

Suportamos as versões mantidas de uma linguagem de programação com a qual integramos. Uma vez que um lançamento se torne End of Life (EOL), descontinuaremos o suporte no próximo lançamento maior ou menor de uma integração. Se possível, fazemos isso atualizando o requisito de versão da linguagem em nossas definições de pacote para que falhe a instalação em versões mais antigas. Consulte a política de manutenção por linguagem com a qual integramos abaixo. Se uma linguagem que suportamos não publica uma política de manutenção, decidimos o suporte caso a caso com base em lançamentos estáveis recentes e no que conseguimos manter razoavelmente.
  • Política de manutenção do Ruby
  • Política de manutenção do Elixir
  • Política de manutenção do Node.js
    • Suportamos apenas os lançamentos sob “Maintenance LTS”, “Active LTS” e “Current”.
  • Política de manutenção do Python
    • Suportamos apenas os lançamentos que estão nos estados “feature”, “bugfix” e “security”.
  • Política de suporte ao JavaScript de Front-end.
    • Visamos compatibilidade com a maioria dos principais navegadores, até o Internet Explorer 9. Todos os navegadores mais antigos que este só podem ser suportados em uma base de “melhor esforço”, e a funcionalidade completa não pode ser garantida.
    • Também suporta diferentes alvos:
      • Aplicações Electron
      • Processos de curta duração
      • Funções serverless
      • Aplicações geradas estaticamente
      • Aplicações React Native/Expo

Pacotes

Suportamos as versões mantidas de um pacote com o qual integramos. Uma vez que uma versão de pacote se torne End of Life (EOL), descontinuaremos o suporte no próximo lançamento maior ou menor de uma integração. Se possível, fazemos isso atualizando o requisito de versão do pacote em nossas definições de pacote ou de alguma outra forma. Nem todos os pacotes publicam uma política de manutenção. Nesses casos, decidimos o suporte caso a caso com base em lançamentos estáveis recentes e no que conseguimos manter razoavelmente. Versões mais antigas de pacotes podem continuar funcionando, mas não garantimos suporte ou correções para elas.

Planejando uma atualização a partir de uma versão mais antiga

Versões mais antigas dos pacotes do AppSignal ainda podem instalar e rodar, mas são legadas e podem depender de runtimes, sistemas operacionais, frameworks ou pacotes não suportados. Recomendamos atualizar para uma versão suportada, pois não damos suporte completo às mais antigas. As tabelas de Ruby e Elixir abaixo mapeiam cada intervalo de lançamento do AppSignal para a versão mínima da linguagem que ele requer. Elas são uma referência rápida — a fonte autoritativa é a página de cada pacote no seu registro, que lista o requisito para cada lançamento.

Ruby

O gemspec do 4.x permite Ruby 2.7+, mas algumas instalações em Ruby 3.0 e anteriores ainda podem falhar por causa do problema JSON::Fragment. A gem appsignal no RubyGems mostra a versão do Ruby exigida para cada lançamento. Para atualizar entre versões major da gem, siga o guia de atualização da 2 para a 3 ou o guia de atualização da 3 para a 4.

Elixir

A versão mínima do Elixir mudou no pacote 2.0.0. O pacote appsignal no Hex mostra a versão do Elixir exigida para cada lançamento. Para migrar para a versão mais recente do pacote, siga o guia de instalação.

Node.js

O pacote @appsignal/nodejs declara a versão do Node.js exigida em package.json. Para atualizar entre versões major, siga o guia de migração da 3.x.

Integrações mais novas

Para novas integrações (linguagens de programação e pacotes), esta política de suporte não se aplica. O AppSignal primeiro mirará apenas a versão mantida, ou mais recente, de uma linguagem/pacote. Não suportaremos versões mais antigas imediatamente, a menos que seja relevante.

Branches do Git

Durante o processo de suporte, uma aplicação pode ter testado uma correção ou novo recurso a pedido, incluindo qualquer uma das integrações AppSignal via Git através de uma branch específica do Git. Essas branches pertencem a Pull Requests que eventualmente são mescladas ou fechadas. Depois disso, a branch que pertence ao Pull Request é removida após seis meses. Isso pode demorar mais às vezes, mas nenhuma garantia é feita sobre o tempo de vida das branches além desse ponto. Por favor, atualize sua integração para a versão mais recente lançada dos pacotes o mais rápido possível. Nós aconselhamos veementemente a nunca implantar uma aplicação em seu ambiente de produção quando ela estiver instalando uma integração AppSignal através do Git.