Este documento define um processo futuro. Ele não cria nem afirma a existência de uma release oficial.
Adotar Versionamento Semântico após definir claramente a superfície pública e os formatos persistentes:
- MAJOR: incompatibilidade intencional de formato, comportamento ou interface pública.
- MINOR: funcionalidade compatível adicionada.
- PATCH: correção compatível, incluindo correções de segurança quando possível.
Versões de formato de arquivo devem permanecer separadas da versão comercial da aplicação e ter uma matriz de compatibilidade explícita.
- Definir escopo e congelar mudanças não relacionadas.
- Atualizar changelog, roadmap, documentação e avisos de terceiros.
- Confirmar versões suportadas de Python e sistemas operacionais.
- Regenerar locks por processo revisado e reproduzível.
- Testar migração e leitura de dados criados por versões suportadas.
- Revisar mudanças em criptografia, KDF, formatos, Vault, KeyGuard e containers.
- Executar vetores de teste para senha incorreta, truncamento, corrupção e dados anexados.
- Verificar tratamento de caminhos, permissões, temporários e escrita atômica.
- Revisar logs e mensagens para dados sensíveis.
- Avaliar dependências e advisories conhecidos.
- Confirmar que achados críticos foram resolvidos ou documentados antes da publicação.
- Atualizar
SECURITY.mde o modelo de ameaça quando necessário.
- Registrar mudanças em
CHANGELOG.mdsem inventar datas ou compatibilidade. - Atualizar instalação, uso, dependências e limitações.
- Publicar notas de release com mudanças incompatíveis e caminho de migração.
- Conferir links, licença e avisos de terceiros.
- Executar testes automatizados em matriz de plataformas suportadas.
- Tornar lint, análise de segurança e testes relevantes bloqueantes.
- Construir artefatos em ambiente isolado e reproduzível.
- Gerar hashes criptográficos e inventário de componentes.
- Testar instalação e remoção em máquinas limpas.
- Preservar logs e resultados necessários à rastreabilidade.
- Criar tag apenas após todos os checks obrigatórios.
- Publicar notas com limitações, compatibilidade e créditos.
- Anexar artefatos e hashes produzidos pelo pipeline aprovado.
- Atualizar canais de documentação sem apagar histórico.
- Monitorar regressões e preparar correção quando necessário.
Assinatura de tags, releases e artefatos é uma meta futura. Quando implementada, chaves, rotação, revogação e verificação devem ser documentadas; não basta adicionar uma assinatura sem política operacional.