Snyk CLI: apresentamos o versionamento semântico e os canais de lançamento
30 de abril de 2024
0 minutos de leituraTemos o prazer de apresentar o versionamento semântico e os canais de lançamento no Snyk CLI a partir da versão v.1.1291.0. Nesta publicação, explicamos por que estamos fazendo essas mudanças, quais problemas elas resolvem para nossos clientes e como você pode optar pelo canal que melhor atende às suas necessidades.
Que problema estamos resolvendo e por quê?
O Snyk CLI foi apresentado na internet e à comunidade de segurança em 2 de outubro de 2015, como a versão v0.0.0-pre-alpha. Nos oito anos seguintes, lançamos quase duas mil versões do Snyk CLI — mais de mil e cem delas nos últimos três anos. Isso representa um lançamento a cada 32 horas e reflete tanto as necessidades crescentes dos nossos clientes quanto o ritmo em que trabalhamos para atendê-las em escala empresarial. Com o aumento da demanda, também cresceram a complexidade, o alcance e o impacto das nossas rápidas mudanças de código.
Por um lado, entregar correções e mudanças com rapidez garante que todos os usuários do Snyk tenham acesso aos nossos recursos mais recentes. Por outro, nossas pesquisas com clientes corporativos mostraram que receber lançamentos frequentes do Snyk CLI aumenta o trabalho relacionado à governança e à conformidade. Diante desses sinais recorrentes, percebemos que era preciso mudar para aprimorar a experiência com o Snyk CLI para nossos clientes e usuários finais — de desenvolvedores a profissionais de DevSecOps.
Como uma barreira de segurança, o Snyk CLI é peça fundamental do nosso ecossistema de desenvolvimento e do ecossistema dos nossos clientes. Qualquer interrupção no Snyk CLI afeta diretamente os pipelines de build dos clientes e, consequentemente, os compromissos de negócio e a experiência dos usuários. O Snyk reconhece com toda a seriedade a confiança que nossos clientes depositam em nós e entende que ainda há uma necessidade não atendida: ter flexibilidade para escolher um ritmo sustentável.
Por isso, a partir da versão v.1291.0, estamos introduzindo as seguintes mudanças no Snyk CLI:
Versionamento semântico nos lançamentos do Snyk CLI
Diferentes canais para que nossos clientes escolham o que melhor atende às suas preferências e necessidades
O que essas mudanças significam para nossos clientes?
Lançamentos
O Snyk CLI segue a notação de três partes do versionamento semântico, padrão do setor, conforme mostrado abaixo.
Dado um número de versão MAJOR.MINOR.PATCH, incremente:
MAJOR quando fizer mudanças incompatíveis
MINOR quando adicionar funcionalidades mantendo a compatibilidade com versões anteriores
PATCH quando corrigir bugs sem comprometer a compatibilidade com versões anteriores
Conforme necessário, adicionamos rótulos extras aos lançamentos do CLI, de acordo com o padrão.
No contexto do Snyk CLI, uma mudança incompatível é aquela que pode interromper fluxos de trabalho automatizados e causar falhas na configuração existente, como em integrações de CI/CD. Essas mudanças serão indicadas pelo incremento de MAJOR e mencionadas nas notas da versão.
Alguns exemplos de mudanças incompatíveis:
Descontinuar ou alterar campos de saída, nomes de campos ou variáveis de ambiente
Introduzir mudanças obrigatórias na configuração
Alterar códigos de erro ou de saída
Em alguns casos, dependendo da natureza e do impacto do problema, também lançaremos correções emergenciais, incrementando PATCH.
Canais
Estamos introduzindo diferentes canais para que nossos clientes escolham aquele que melhor atende às suas necessidades e preferências.
Para você, escolher um canal significa decidir o nível de estabilidade e o ritmo das mudanças de código que deseja adotar:
previewAs versões de “pré-lançamento” são disponibilizadas regularmente, até várias vezes por dia, e incluem as mudanças mais recentes
Padrão de versão:
v{MAJOR}.{MINOR}.{PATCH}-previewFrequência: variável
Disponibilidade:
rcAs versões de pré-lançamento “release candidate” são disponibilizadas em momentos específicos e contêm uma versão do CLI que deve ser promovida para estável após testes adicionais.
Padrão de versão:
v{MAJOR}.{MINOR}.{PATCH}-rcFrequência: a cada 8 semanas, 2 semanas antes do lançamento estável (com possibilidade de lançamentos de correção emergencial)
Disponibilidade:
stableAs versões estáveis são disponibilizadas em momentos específicos, após testes adicionais e confirmação de sua estabilidade.
Padrão de versão:
v{MAJOR}.{MINOR}.{PATCH}Frequência: a cada 8 semanas (com possibilidade de lançamentos de correção emergencial)
Disponibilidade:
O Snyk recomenda que você opte pelo canal stable pelos seguintes motivos:
Uma versão estável é testada extensivamente ao longo de 8 semanas. Durante esse período, as equipes de desenvolvimento do Snyk usam o CLI no processo de SDLC
As notas de lançamento ajudam você a decidir qual versão atende melhor às suas necessidades
No entanto, se você quiser receber as mudanças de código assim que forem integradas, pode optar pelo canal preview. Observe que o Snyk não oferece suporte ao canal preview e que é provável que ele apresente problemas conhecidos.
Dica: os clientes atuais que optarem pelo antigo canal latest serão direcionados automaticamente ao canal stable. Nos bastidores, espelhamos a versão estável mais recente para evitar impactos para quem já usa o CLI. Ainda assim, como mostramos na próxima seção, recomendamos que você mude para os novos canais de lançamento.
Como selecionar um canal no IDE
Escolha um canal de lançamento do CLI no menu suspenso mostrado na captura de tela abaixo. Você pode alternar entre os canais, por exemplo, mudar para release candidate (rc) para receber uma correção emergencial. Esse recurso está disponível no IntelliJ IDE. Em breve, vamos disponibilizá-lo em outros IDEs compatíveis. O canal padrão de todos os IDEs é stable.

Conclusão
Quase duas mil versões depois, ajudar nossos clientes e desenvolvedores a entregar código seguro continua sendo uma experiência gratificante para a equipe do Snyk. Seguimos comprometidos em aprimorar o Snyk CLI para oferecer uma experiência excepcional aos desenvolvedores, permitindo que façam um bom trabalho em um ritmo sustentável.
Se quiser compartilhar sua opinião ou participar das nossas pesquisas com usuários, entre em contato com nossa equipe de suporte, com seu gerente de contas ou com o gerente de produto do Snyk CLI. Esperamos trabalhar com você para construir o futuro do Snyk CLI.



