Versionamento semântico e marcação de lançamentos
Aplique o Versionamento Semântico (MAJOR.MINOR.PATCH), crie tags do git anotadas e referencie claramente as versões nas dependências do SwiftPM.
Versionamento semântico e marcação de lançamentos é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 3 aulas no total.
O que é SemVer?
SemVer = MAJOR.MINOR.PATCH.
- MAJOR: alterações incompatíveis
- MINOR: novos recursos compatíveis com versões anteriores
- PATCH: correções de erros, documentação e pequenas melhorias
Quando incrementar a versão
Escolha o incremento:
- Remover ou renomear uma API pública → MAJOR
- Adicionar uma nova API sem causar incompatibilidade → MINOR
- Refatorações internas ou correções de erros → PATCH
Fluxo de trabalho com etiquetas do Git
Crie uma etiqueta anotada (por exemplo, v1.2.0) e envie-a para o repositório remoto. O SwiftPM resolve pacotes usando etiquetas do Git.
// Create an annotated tag and push it so SwiftPM can resolve it.
// Prereqs: tests pass; CHANGELOG updated.
//
// git add -A
// git commit -m "Release 1.2.0: new JSON helpers"
// git tag -a v1.2.0 -m "v1.2.0"
// git push --follow-tags
//
// Note: use the "v" prefix consistently (e.g., v1.2.0).
print("Tagged v1.2.0 and pushed with --follow-tags")Requisitos de versão do SwiftPM
Em Package.swift, escolha um estilo de requisito: from:, exact:, .upToNextMajor ou .upToNextMinor.
// Package.swift (illustrative dependency specs)
// dependencies: [
// // Compatible with 1.x (>=1.2.0, <2.0.0)
// .package(url: "https://example.com/Lib.git", from: "1.2.0"),
//
// // Exact pin:
// // .package(url: "https://example.com/Lib.git", exact: "1.2.3"),
//
// // Up to next major (same as "from:"):
// // .package(url: "https://example.com/Lib.git", .upToNextMajor(from: "1.2.0")),
//
// // Up to next minor (>=1.2.0, <1.3.0):
// // .package(url: "https://example.com/Lib.git", .upToNextMinor(from: "1.2.0"))
// ]
print("Declare dependency ranges clearly: from/exact/upToNextMajor/upToNextMinor")Práticas para o CHANGELOG
Resuma as alterações de cada versão. Destaque claramente os itens BREAKING para que os usuários possam atualizar com segurança.
// Keep a concise CHANGELOG with headings per version.
//
// # Changelog
// ## [1.2.0] - 2025-09-19
// - Add JSON.encodePretty(_:) (non-breaking)
// - Fix crash in Parser.parse() on empty input
//
// ## [2.0.0] - 2026-01-10
// - BREAKING: Renamed Parser.parse(_:) -> Parser.run(_:)
print("Write a short, helpful CHANGELOG for each release")Dicas para versões de pré-lançamento
As versões de pré-lançamento (por exemplo, 2.0.0-beta.1) indicam instabilidade. Evite criar etiquetas se não quiser que os usuários as escolham por padrão. Mantenha a nomenclatura das etiquetas consistente.
Regra para incrementar o SemVer
Verificação rápida: quando você incrementa MAJOR?
Recapitulação
Recapitulação: use SemVer (MAJOR.MINOR.PATCH), crie etiquetas anotadas do Git como v1.2.0, especifique intervalos de versões das dependências em Package.swift e mantenha um CHANGELOG claro.
Perguntas Frequentes
A aula “Versionamento semântico e marcação de lançamentos” é grátis?
Sim — o texto completo de “Versionamento semântico e marcação de lançamentos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 3 aulas no total.
O que vou aprender em “Versionamento semântico e marcação de lançamentos”?
Aplique o Versionamento Semântico (MAJOR.MINOR.PATCH), crie tags do git anotadas e referencie claramente as versões nas dependências do SwiftPM. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.
Quanto tempo leva a aula “Versionamento semântico e marcação de lançamentos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Pacotes de biblioteca versus executáveis
- Versionamento semântico e marcação de lançamentos
- Noções básicas de CI com swift test e artefatos