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
- O suporte ao Erlang OTP é baseado em qual versão do Elixir suporta qual versão do OTP.
- 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.