0Pricing
Swift Academy · Aula

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

  1. Pacotes de biblioteca versus executáveis
  2. Versionamento semântico e marcação de lançamentos
  3. Noções básicas de CI com swift test e artefatos
← Voltar para Swift Academy