セマンティックバージョニングとリリースへのタグ付け
セマンティックバージョニング (MAJOR.MINOR.PATCH)を適用し、注釈付きの git tags を作成して、SwiftPMの依存関係でバージョンを明確に指定します。
「セマンティックバージョニングとリリースへのタグ付け」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全3レッスンが含まれています。
SemVerとは
SemVer = MAJOR.MINOR.PATCHです。
- MAJOR: 互換性を壊す変更
- MINOR: 後方互換性のある新機能
- PATCH: バグ修正、ドキュメント更新、小さな改善
バージョンを上げるタイミング
上げるバージョンを選びます:
- 公開APIを削除または名前変更する → MAJOR
- 互換性を壊さずにAPIを追加する → MINOR
- 内部リファクタリングやバグ修正 → PATCH
Gitタグのワークフロー
注釈付きタグ(例: v1.2.0)を作成してプッシュします。SwiftPMは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")SwiftPMのバージョン要件
Package.swiftで、from:、exact:、.upToNextMajor、.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")CHANGELOGの習慣
バージョンごとに変更内容を要約します。ユーザーが安全にアップグレードできるよう、BREAKINGな変更は明確に示します。
// 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")プレリリースのヒント
プレリリース(例: 2.0.0-beta.1)は不安定な状態であることを示します。ユーザーにデフォルトで選択されたくない場合は、タグを付けないようにします。タグの命名規則は一貫させます。
SemVerでバージョンを上げるルール
確認: MAJORを上げるのはどのような場合ですか?
まとめ
まとめ: SemVer(MAJOR.MINOR.PATCH)を使用し、v1.2.0のような注釈付きGitタグを作成します。Package.swiftで依存関係のバージョン範囲を指定し、明確なCHANGELOGを管理します。
よくある質問
「セマンティックバージョニングとリリースへのタグ付け」レッスンは無料ですか?
はい。「セマンティックバージョニングとリリースへのタグ付け」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全3レッスンが含まれています。
「セマンティックバージョニングとリリースへのタグ付け」で何を学びますか?
セマンティックバージョニング (MAJOR.MINOR.PATCH)を適用し、注釈付きの git tags を作成して、SwiftPMの依存関係でバージョンを明確に指定します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Swift Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「セマンティックバージョニングとリリースへのタグ付け」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSwift Academyレッスンでコードを書いて実行できますか?
はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ライブラリパッケージと実行可能パッケージ
- セマンティックバージョニングとリリースへのタグ付け
- swift testとアーティファクトによるCIの基礎