Lyrics Card Generator v5.9.3 ローカルリリース候補ノート
候補日:2026-08-07
v5.9.3 は #98〜#103 と最終レビューの修正をまとめ、Windows パッケージ版の起動、ローカル音声の取り込み、音楽プラットフォームのメタデータ、Next.js のセキュリティ修正を重点的に改善します。
Windows 起動と単一インスタンス
- パッケージ版は、起動ごとに固有の HMAC チャレンジと証明で対象のローカル Next サービスを認証し、選択したポート上の任意の HTTP 応答を準備完了とは見なしません。
- プロセス生成失敗、サーバーの早期終了、ポート競合、
ENOENTはフェイルクローズになります。サーバーが予期せず終了するとローカル renderer オリジンを無効化し、デスクトップシェルを閉じます。 - 2 回目の起動は副プロセスを終了し、既存ウィンドウを復元、表示、フォーカスします。ローカルサーバーの起動、特権 IPC の登録、履歴の書き込みは主インスタンスだけが行えます。
ローカル音声の境界とメタデータ
- MP3 / FLAC リクエストには 100 MiB のファイル上限と制限付き multipart ストリームを適用します。既知の超過サイズは本文読み取り前に拒否し、長さがない場合や偽装された場合もストリームのバイト数で制限します。
- 埋め込みカバーの合計は 8 MiB、歌詞は 256 Ki 文字までです。超過メタデータはカバーの Base64 化、歌詞展開、JSON 応答のシリアライズより前に拒否します。
- 安全に close されるランダムアクセス tokenizer により、末尾の APEv2 タグを保持します。認識済み MIME タイプは競合する拡張子より優先され、
file.arrayBuffer()によるファイル全体の二重コピーも作成しません。
音楽プラットフォームと依存関係の安全性
- Spotify のアーティスト抽出は、構造化ページ情報、説明、明示的なタイトル形式を組み合わせ、remaster、mix、live など本来の曲名接尾辞を維持します。
- NetEase 検索は、より大きい候補集合を曲名とアーティストの意味で順位付けします。強い正規一致を優先し、それがない場合は上流の順序を保ちます。
- Next.js と ESLint 関連パッケージを 15.5.21 に統一しました。未使用の Next 画像最適化入口を無効化し、デスクトップ standalone に音声 tokenizer、起動、単一インスタンスの補助モジュールを明示的に含めます。
候補版の範囲
この文書はローカルでパッケージ化および審査した v5.9.3 リリース候補について記述します。push、tag、GitHub Release の実行を示すものではありません。一般公開状況はプロジェクトの実際の GitHub Releases ページに従います。