0Pricing
Swift Academy · Lección

Versionado semántico y etiquetado de versiones

Aplique Semantic Versioning (MAJOR.MINOR.PATCH), cree git tags anotados y haga referencia claramente a las versiones en las dependencias de SwiftPM.

Versionado semántico y etiquetado de versiones es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 2 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 3 lecciones en total.

¿Qué es SemVer?

SemVer = MAJOR.MINOR.PATCH.

  • MAJOR: cambios incompatibles
  • MINOR: nuevas funciones compatibles con versiones anteriores
  • PATCH: correcciones de errores, documentación y pequeñas mejoras

Cuándo incrementar la versión

Elija el incremento:

  • Eliminar o cambiar el nombre de una API pública → MAJOR
  • Añadir una API nueva sin romper la compatibilidad → MINOR
  • Refactorizaciones internas o correcciones de errores → PATCH

Flujo de trabajo de etiquetado de Git

Cree una etiqueta anotada (por ejemplo, v1.2.0) y publíquela. SwiftPM resuelve los paquetes mediante etiquetas de 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 versión de SwiftPM

En Package.swift, elija un estilo de requisito: from:, exact:, .upToNextMajor o .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ácticas recomendadas para CHANGELOG

Resuma los cambios de cada versión. Destaque claramente los elementos BREAKING para que los usuarios puedan actualizarse de forma segura.

// 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")

Consejos sobre versiones preliminares

Las versiones preliminares (por ejemplo, 2.0.0-beta.1) indican inestabilidad. Evite crear etiquetas si no desea que los usuarios las elijan de forma predeterminada. Mantenga coherente el nombre de las etiquetas.

Regla para incrementar SemVer

Comprobación rápida: ¿Cuándo debe incrementar MAJOR?

Resumen

Resumen: Utilice SemVer (MAJOR.MINOR.PATCH), cree etiquetas anotadas de git como v1.2.0, especifique los rangos de versiones de las dependencias en Package.swift y mantenga un CHANGELOG claro.

Preguntas frecuentes

¿La lección «Versionado semántico y etiquetado de versiones» es gratis?

Sí — el texto completo de «Versionado semántico y etiquetado de versiones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Versionado semántico y etiquetado de versiones»?

Aplique Semantic Versioning (MAJOR.MINOR.PATCH), cree git tags anotados y haga referencia claramente a las versiones en las dependencias de SwiftPM. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 3.

¿Cuánto tiempo toma la lección «Versionado semántico y etiquetado de versiones»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Paquetes de biblioteca frente a paquetes ejecutables
  2. Versionado semántico y etiquetado de versiones
  3. Conceptos básicos de CI con swift test y artefactos
← Volver a Swift Academy