リリーステンプレート
/releaseコマンドはこのテンプレートに従って changelog を生成する。
changelog は人間が読むための変更説明であり、commit リストではない。
フォーマット規約
:bookmark: V<バージョン番号>: <タイトル>📦 バージョン情報
| 項目 | 値 |
|---|---|
| リリース日 | YYYY-MM-DD |
| バージョン変更 | <旧バージョン> → <新バージョン> |
| コミット数 | N 個の commit |
📋 本回アップデートの概要
今回のリリースの中核的な内容と意義を 2〜3 文でまとめる。
✨ 新機能
<機能領域タイトル>
<この機能が何をするか、何の問題を解決するか、ユーザーにとって何を意味するかの一段落説明>
- 具体的な変更 1
- 具体的な変更 2
- 具体的な変更 3
<別の機能領域>
<説明>
- 具体的な変更
🐛 バグ修正
<修正領域>
<何を修正したか、影響範囲の説明>
- 具体的な修正 1
- 具体的な修正 2
♻️ リファクタリング・最適化
<リファクタリングの方向性>
<なぜリファクタリングしたか、リファクタリング後の利点の説明>
- 具体的な変更
タイトルルール
中核的な変更を一文で要約し、50 文字以内:
:bookmark: V0.7.2: REPL の書き直しと型システムの改善
:bookmark: V0.7.3: 型システムの修正と所有権モデルの改善
:bookmark: V0.8.0: 並行モデルとジェネリクスシステム分類ルール
type プレフィックスで分類し、空の分類は省略する:
| type | 分類 | プレフィックス |
|---|---|---|
feat | ✨ 新機能 | :sparkles: |
fix | 🐛 バグ修正 | :bug: |
refactor | ♻️ リファクタリング・最適化 | :recycle: |
perf | ⚡ パフォーマンス最適化 | :zap: |
docs | 📝 ドキュメント | :memo: |
style | 🎨 フォーマット | :art: |
test | ✅ テスト | :white_check_mark: |
chore | 🔧 ビルド/ツール | :wrench: |
ci | 💚 CI/CD | :green_heart: |
完全な例
:bookmark: V0.7.3: 型システムの修正と所有権モデルの改善
markdown
## 📦 バージョン情報
| 項目 | 値 |
| -------------- | ----------------- |
| リリース日 | 2026-06-07 |
| バージョン変更 | `0.7.2` → `0.7.3` |
| コミット数 | 22 個の commit |
## 📋 本回アップデートの概要
今回のリリースは型システムと所有権モデルの安定性修正に焦点を当てている。ジェネリック型のインスタンス化(例:
`List(Int) = List(1, 2, 3)`)が正しく動作するようになり、`&T`
フィールドアクセスとタプル分解代入の複数の境界ケースが修正された。同時に所有権チェックの統一リファクタリングを完了し、今後の move セマンティクスの完善に向けた基盤を築いた。
## ✨ 新機能
### ジェネリック型のインスタンス化
`List(Int) = List(1, 2, 3)`
構文をサポートし、型コンストラクタが正しく Struct として登録されるようになった。ジェネリック関数の複数回呼び出し時の型推論が競合しなくなり、各呼び出しは独立した型変数のインスタンスを取得する。
- 型コンストラクタを Struct として登録し、インスタンス化の根本原因を修正
- ジェネリック関数の複数回呼び出しで独立した推論
- インターフェースメソッドのバインディング修正
### Move 後の再バインド
変数が move された後、新しい値を再バインドできるようになった。代入の優先検索が moved 状態を正しく処理し、「変数は既に移動済み」という誤ったエラーを回避する。
- VarInfo に moved 状態フラグを追加
- 代入の優先検索に moved 分岐を追加
### Resource マーカートレイト
`Resource`
マーカートレイトを新設し、IO 副作用を実装した型をマークする。今後の副作用追跡と並行安全性分析の基盤を提供する。
### PLDI SRC demo
PLDI SRC demo の MVP タスクをすべて完了し、エンドツーエンドの型チェックとコード生成デモを含む。
## 🐛 バグ修正
### &T フィールドアクセス
不変参照型のフィールドアクセスにおける型チェックの複数の問題を修正。フィールド代入や参照を介したコンストラクタ呼び出しの推論を含む。
- `&T` フィールドアクセスの型チェック修正
- フィールド代入のターゲット型推論
- 参照を介したコンストラクタ呼び出しの推論
### LSP セマンティックハイライト
`spawn {}` ブロック内の変数とタプル分解代入 `(a, b) = ...`
のセマンティックハイライトの欠落を修正。AST の `DestructureAssign.names`
が各変数名の位置情報を保持するようになった。
- spawn ブロック内の変数が正しく着色される
- タプル分解代入の変数名が正しく着色される
- 今後の move セマンティクスの LSP サポートの基盤を構築
### freeze の削除
非推奨の `freeze` 関数を削除し、関連するテストケースをクリーンアップした。
## ♻️ リファクタリング・最適化
### 診断システムの統一
残りの 5 つのエラー enum を統一された `ErrorCodeDefinition`
診断システムに移行し、エラーコードのカバレッジを 60% から 80% に向上。すべてのコンパイルエラーが統一されたフォーマットとエラーコード規約に従うようになった。
### 所有権チェックの統一
分散していた所有権チェックロジックを `OwnershipPass`
に統一し、borrow、move、ライフタイムチェックを単一のエントリーポイントで処理。保守コストを削減し、エラーの一貫性を向上させた。
### 並行モデルの簡素化
Send/Sync 制約システムを削除し、`spawn {}`
をグループ実行モデルにリファクタリング。`@block`/`@eager`/`@auto`
デコレータ関連のコードを削除(RFC-024 phase
1)。並行モデルを簡素化し、今後の拡張可能な並行プリミティブ設計への道筋を整えた。フロー概要
コミット収集 → changelog 生成 → PR 作成 → CI 全緑を待機 → バージョンバンプ → マージ詳細は .claude/commands/release.md を参照。
