Versionamento semântico
Seguimos um esquema de versionamento semântico modificado no formato X.Y.Z [-designação], onde:
Breaking changes
Breaking changes fazem parte da evolução natural da plataforma. Acontecem quando uma atualização altera ou remove um comportamento de forma incompatível com versões anteriores. Para manter esse processo previsível, seguimos regras estritas e comunicamos com antecedência, permitindo que seus times se preparem com confiança.
- Breaking changes são introduzidas apenas em uma versão major.
- São anunciadas com antecedência, sempre com guias de migração claros e exemplos práticos.
- Funcionalidades depreciadas emitem avisos antes da remoção, dando aos times tempo para se ajustar sem impacto repentino.
- Buscamos minimizar a disrupção agrupando breaking changes e fornecendo soluções alternativas sempre que possível.
Exemplos
- Substituição de campo: O campo de texto livre
routenos payloads de transação foi substituído pelorouteId(UUID);routecontinua aceito por compatibilidade, mas não participa mais da validação. - Regras de validação: As variáveis de ambiente
ACCOUNT_TYPE_VALIDATIONeTRANSACTION_ROUTE_VALIDATIONforam substituídas pela API de Configurações do Ledger, que controla a validação contábil por ledger sem necessidade de novo deploy. - Ciclo de depreciação: O campo
scalefoi removido dos valores de transação na v3, quando o tratamento de valores passou a um sistema numérico.
Designações de pré-release
Usamos as seguintes designações de pré-release quando aplicável:
Exemplos
Releases possíveis- 1.0.0 → Release estável inicial
- 1.0.1 → Patch com correções de bugs
- 1.1.0-alpha.1 → Alpha para a próxima minor
- 1.1.0-beta.1 → Beta para a próxima minor
- 1.1.0-rc.1 → Release candidate
- 1.1.0 → Release minor estável
- 1.2.0 → Próximo release minor
- 2.0.0 → Nova versão major

