Skip to content

リリーステンプレート

/release コマンドはこのテンプレートに従って changelog を生成する。
changelog は人が読むための変更説明であり、コミットリストではない。

フォーマット仕様

:bookmark: V<バージョン番号>: <タイトル>

📦 バージョン情報

項目
公開日YYYY-MM-DD
バージョン変更<旧バージョン><新バージョン>
コミット数N 件の commit

📋 今回の更新概要

2-3 文で今回のリリースの核心内容と意義をまとめる。

✨ 新機能

<機能領域タイトル>

<この機能で何をしたか、何を解決したか、ユーザーにとって何を意味するかを 1 段落で説明>

  • 具体的な変更 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:

コミット履歴の取得

bash
git log <最新tag>..HEAD --oneline --no-merges

完全な例

: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 marker trait

新規 `Resource` marker
trait を追加し、IO 副作用を実装する型をマークする。今後の副作用追跡と並行安全性分析の基盤を提供する。

### PLDI SRC demo

PLDI SRC demo MVP のすべてのタスクを完了し、エンドツーエンドの型検査とコード生成デモを含む。

## 🐛 バグ修正

### &T フィールドアクセス

不変参照型のフィールドアクセスにおける型検査の複数の問題を修正した。フィールド代入と参照経由のコンストラクタ呼び出しの推論を含む。

- `&T` フィールドアクセスの型検査修正
- フィールド代入の目標型推論
- 参照経由のコンストラクタ呼び出しの推論

### LSP セマンティックハイライト

`spawn {}` ブロック内変数とタプル分解代入 `(a, b) = ...`
のセマンティックハイライトの欠落を修正した。AST 内の `DestructureAssign.names`
は各変数名の位置情報を持つようになった。

- spawn ブロック内変数が正しくハイライトされる
- タプル分解代入の変数名が正しくハイライトされる
- 今後の move セマンティクスの LSP サポートの基礎を築く

### freeze の削除

廃止された `freeze` 関数を削除し、関連テストケースをクリーンアップした。

## ♻️ リファクタリング最適化

### 診断システムの統一

残りの 5 つのエラー列挙を統一された `ErrorCodeDefinition`
診断システムに移行し、エラーコードカバー率を 60% から 80% に向上した。すべてのコンパイルエラーが統一されたフォーマットとエラーコード仕様に従うようになった。

### 所有権検査の統一

複数箇所に分散していた所有権検査ロジックを `OwnershipPass`
に統一し、単一エントリで borrow、move、ライフタイム検査を処理する。保守コストを削減し、エラー一貫性を向上する。

### 並行モデルの簡素化

Send/Sync 制約システムを削除し、`spawn {}`
をグループ実行モデルにリファクタリングした。`@block`/`@eager`/`@auto`
デコレータ関連コードを削除した(RFC-024 phase
1)。並行モデルを簡素化し、今後の拡張可能な並行プリミティブ設計への道を開く。

フロー概要

コミットを収集 → changelog を生成 → PR を作成 → CI が全て緑になるのを待つ → バージョンを bump → マージ

詳しくは .claude/commands/release.md を参照