➗Padrão de Versionamento
🎯 Nosso Padrão de Versionamento
Adotamos o Versionamento Semântico combinado com Build Numbers inteligentes para Flutter. Este documento define as regras obrigatórias para toda a equipe.
📚 Parte 1: Versionamento Semântico (SemVer)
🔢 Estrutura: MAJOR.MINOR.PATCH
X.Y.Z
│ │ └── PATCH - Correções de bugs
│ └──── MINOR - Novas funcionalidades
└────── MAJOR - Mudanças que quebram compatibilidade
📋 Regras de Incremento:
🚨 MAJOR (X.y.z) - Mudanças Incompatíveis
Quando incrementar:
Remover funcionalidades existentes
Alterar comportamento de APIs existentes
Mudar estrutura de dados obrigatórias
Qualquer mudança que force usuários a alterar código
✨ MINOR (x.Y.z) - Novas Funcionalidades
Quando incrementar:
Adicionar novas funcionalidades
Adicionar parâmetros opcionais
Melhorias de performance significativas
Marcar como deprecated (mas ainda funciona)
🔧 PATCH (x.y.Z) - Correções
Quando incrementar:
Corrigir bugs
Correções de segurança
Melhorias internas sem afetar API
Correções de documentação
🎮 Parte 2: Nosso Sistema de Build Numbers
⚙️ Formato: MMNNPP
Versão semântica: X.Y.Z
Build number: MMNNPP
Onde:
M = MAJOR (1-9)
NN = MINOR (00-99)
PP = PATCH (01-99)
📊 Exemplos de Conversão:
1.0.1 → 10001
1.15.3 → 11503
2.0.0 → 20000
2.5.42 → 20542
9.99.99 → 99999 (máximo)
📁 No pubspec.yaml:
# Formato obrigatório:
version: 1.15.3+11503
└─────┘ └───┘
SemVer Build
📝 Parte 3: Regras da Equipe
🚦 Fluxo Obrigatório:
Identifique o tipo de mudança:
Bug fix? → PATCH
Nova feature? → MINOR
Breaking change? → MAJOR
Incremente a versão semântica: Atual: 1.2.3
Bug fix: 1.2.4
Feature: 1.3.0
Breaking: 2.0.0
Calcule o build number automaticamente: 1.2.4 → 10204
1.3.0 → 10300
2.0.0 → 20000
Atualize o pubspec.yaml: version: 1.2.4+10204
✅ Checklist Antes do Commit:
[ ] Versão incrementada corretamente?
[ ] Build number calculado certo?
[ ] pubspec.yaml atualizado?
[ ] Mudanças documentadas?
🎯 Parte 4: Exemplos Práticos
🚀 Cenário de Evolução:
Início do projeto:
1.0.0+10000 # Primeira versão estável
Correções:
1.0.1+10001 # Bug crítico corrigido
1.0.2+10002 # Correção de UI
Nova funcionalidade:
1.1.0+10100 # Sistema de notificações
1.1.1+10101 # Bug nas notificações
Funcionalidade grande:
1.2.0+10200 # Sistema de pagamentos
1.2.1+10201 # Correção no pagamento
Breaking change:
2.0.0+20000 # Nova autenticação obrigatória
2.0.1+20001 # Correção na migração
Last updated