Skip to content

リリーステンプレート ​

/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 を参照。