# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.3.0] - 2026-06-04

### Added
- **対応言語を 66 → 113 に大幅拡充**。特に移行需要の高いレガシー/基幹系を網羅（RPG (IBM) / PL/I / REXX / JCL / MUMPS (M) / Natural / Progress 4GL・ABL / PowerBuilder / Visual FoxPro / ColdFusion / VBScript / Visual Basic 6 / Informix 4GL / Forth / Eiffel / Modula-2 / Oberon / ALGOL / Simula / PostScript）と、新興・ドメイン言語（GDScript / Haxe / Raku / ReScript / Reason / PureScript / Standard ML / Vala / Pony / Odin / V / Mojo / Carbon / Gleam / Ballerina / Q# / Cython / WebAssembly (WAT) / GraphQL / Terraform (HCL) / Apex / Wolfram / APL / Stata / SPSS / Octave 等）
- **カスタム言語対応**: 組み込み一覧に無い言語も `-s`/`-t` に任意名で指定可能に（未知言語は拒否せず警告して続行）。カスタム元言語の拡張子は `--ext`、変換先拡張子は `--out-ext` で指定。AI エンジンはどんな言語でも変換を試みるため、実質あらゆる言語の組み合わせに対応
- 拡充言語・カスタム言語受理・`--ext` 必須チェックの単体テストを追加
- `--demo` オプション: 同梱サンプル（`samples/hello.py`）で**APIキー不要のオフライン即実演**（言語プラン・エコシステム対応・出力サニタイズの Before/After を表示）。`ANTHROPIC_API_KEY` 設定時はサンプルの実変換まで実行。デモ実行の単体テストを追加

### Fixed
- `--list-languages` / `--demo` のオフライン機能が、未使用の Anthropic SDK 依存で失敗していた問題を修正（`src.migrator` を実変換時のみ遅延 import）。SDK 未導入でも言語一覧・デモが動作する
- モデル選択ラベルの不整合を修正（"Claude Haiku 3.5" → 実 ID が 4-5 のため "Claude Haiku 4.5"）
- ruff 指摘（未使用 import 3件・未使用変数1件）を解消。GUI コントローラは root に束縛し GC を防止

### Added (tests)
- 中核モジュールの単体テストを大幅追加（24→66ケース）:
  - `languages`（66言語定義の整合性・拡張子検出）13件
  - `ecosystem`（エコシステム対応付け・優先度ソート）13件
  - `gui_model` / `i18n`（dataclass・**翻訳キーの ja/en 完全一致**・フォールバック）10件
  - `migrator`（プロンプト生成・retry バックオフ）6件。`anthropic` 未導入でもテストできる conftest スタブを追加

## [0.2.0] - 2026-06-04

### Added
- 出力サニタイザ `src/sanitizer.py` の単体テスト `tests/test_sanitizer.py`（13ケース）。マークダウンフェンス除去、英日多言語の前置き/後置き除去、水平線エポローグ、行末空白正規化、コメント行の保持を検証
- 再開状態管理 `src/resume_state.py` の単体テスト `tests/test_resume_state.py`（8ケース）。SHA-256 ハッシュによる「変換済み & ソース未変更」判定、ソース変更時の再変換、error 状態の扱い、状態 JSON の永続化往復・破損時の空状態フォールバックを検証
- README に「これは何？（30秒で）」「想定ユースケース・価格帯」セクションを追加
- SECURITY.md を追加（脆弱性報告フロー）
- 商用利用・カスタマイズ依頼の連絡先を README 末尾に明記

## [0.1.0]

### Added
- 初版リリース
