# ALCOMD3 v2.0.0-beta.1

## English

ALCOMD3 v2.0.0-beta.1 is a beta release based on v1.1.6-MD3.6. It introduces the optional local MCP bridge, rebuilds the website on Astro + Beer CSS, tightens package and bundling security boundaries, and updates all project package versions to `2.0.0-beta.1`.

### Changes since v1.1.6-MD3.6

#### MCP integration

- Added the optional `alcomd3-mcp` stdio bridge for desktop AI agents.
- Added a shared `alcomd3-mcp-protocol` crate and local IPC between the bridge and the running ALCOMD3 app.
- Added an in-app MCP page for enabling MCP, copying client configuration, reviewing operation history, and granting temporary full access.
- Added 19 MCP tools for project, package, and user repository workflows, including project creation, backup, copy, restore, package install/update/remove/reinstall, and user repository add/remove.
- Reused the same Rust backend operations as the GUI so MCP and GUI actions share resource locks, progress reporting, cancellation, and refresh events.
- Added MCP documentation for users, tool reference, development, testing, and packaging.

#### Website

- Rebuilt the website as an Astro + Beer CSS project with npm lockfile-based dependency management.
- Replaced discontinued static multilingual pages with generated localized routes and centralized i18n content.
- Centralized site URLs, repository links, theme colors, image paths, updater manifest paths, and service worker cache naming in site configuration.
- Added generated `robots.txt`, `site.webmanifest`, service worker, and sitemap output, including `x-default` alternate links.
- Improved language redirect and locale normalization behavior.
- Refined theme and language preference handling, keyboard navigation, responsive layout, and site assets.

#### Reliability and safety

- Prevented concurrent project package apply requests from the GUI and backend.
- Improved package apply progress states, including finalizing status, remove-operation step counts, and safer cancel availability.
- Synchronized GUI project busy states with MCP-triggered operations so project actions are disabled while backend work is active.
- Reduced MCP dispatch stack usage.
- Added MCP IPC request size limits, read timeouts, and connection limits.
- Added an explicit warning confirmation before enabling MCP full access.
- Hardened package archive handling with archive size limits, entry count limits, per-entry and total uncompressed size limits, and stricter backslash path traversal checks.
- Avoided forwarding repository-scoped headers to cross-origin package archive downloads.
- Added package cache and download size limits.
- Added SHA-256 verification for cached and downloaded bundling tools, including Inno Setup, WebView2 bootstrapper, and appimagetool.

#### Release and maintenance

- Updated Rust workspace package versions, npm package versions, lockfiles, README release references, and release notes to `2.0.0-beta.1`.
- Removed bundled Anton and Noto Sans font binaries and their third-party license entries; the GUI now relies on declared font stacks with system fallbacks.
- Updated the license JSON generation script so the ALCOMD3 icon version comes from `package.json` instead of a hard-coded release string.
- Updated development notes for the new beta release draft.

### Installation Notes

The Windows version updates the existing application installation instead of installing side by side.
The main executable keeps its legacy file name for compatibility with the existing install path and protocol associations.

MCP is disabled by default. Enable it from the ALCOMD3 MCP page only when you want a local AI client to control ALCOMD3.

## 日本語

ALCOMD3 v2.0.0-beta.1 は、v1.1.6-MD3.6 をベースにしたベータリリースです。任意で有効化できるローカル MCP ブリッジを追加し、Web サイトを Astro + Beer CSS へ再構築し、パッケージ処理とバンドル処理のセキュリティ境界を強化し、プロジェクト全体のパッケージバージョンを `2.0.0-beta.1` に更新しました。

### v1.1.6-MD3.6 からの変更点

#### MCP 連携

- デスクトップ AI Agent 向けの任意機能として、`alcomd3-mcp` 標準入出力ブリッジを追加しました。
- 共有クレート `alcomd3-mcp-protocol` と、実行中の ALCOMD3 アプリとのローカル IPC を追加しました。
- MCP の有効化、クライアント設定のコピー、操作履歴の確認、一時的な完全アクセス許可の付与を行うアプリ内 MCP ページを追加しました。
- プロジェクト作成、バックアップ、コピー、復元、パッケージのインストール・更新・削除・再インストール、ユーザーリポジトリの追加・削除など、19 個の MCP ツールを追加しました。
- GUI と同じ Rust バックエンド操作を MCP でも再利用し、リソースロック、進捗通知、キャンセル、更新イベントを共有するようにしました。
- 利用者向けガイド、ツールリファレンス、開発、テスト、パッケージング用の MCP ドキュメントを追加しました。

#### Web サイト

- Web サイトを Astro + Beer CSS プロジェクトとして再構築し、npm lockfile による依存関係管理を追加しました。
- 廃止した静的な多言語ページを削除し、生成されるローカライズ済みルートと一元管理された i18n コンテンツへ移行しました。
- サイト URL、リポジトリリンク、テーマカラー、画像パス、アップデーターマニフェストパス、サービスワーカーのキャッシュ名をサイト設定に集約しました。
- `robots.txt`、`site.webmanifest`、サービスワーカー、サイトマップを生成ルート化し、`x-default` alternate link も出力するようにしました。
- 言語リダイレクトと locale 正規化の挙動を改善しました。
- テーマと言語設定の扱い、キーボードナビゲーション、レスポンシブレイアウト、サイトアセットを調整しました。

#### 信頼性と安全性

- GUI とバックエンドで、プロジェクトのパッケージ適用リクエストが並行実行されないようにしました。
- パッケージ適用の進捗表示に finalizing 状態を追加し、削除操作のステップ数とキャンセル可能条件をより正確にしました。
- MCP から開始された操作中も GUI 側のプロジェクト busy 状態が同期され、該当プロジェクトの操作が無効化されるようにしました。
- MCP dispatch のスタック使用量を削減しました。
- MCP IPC にリクエストサイズ上限、読み取りタイムアウト、接続数上限を追加しました。
- MCP の完全アクセスを有効化する前に、明示的な警告確認を表示するようにしました。
- パッケージアーカイブ処理に、アーカイブサイズ、エントリ数、各エントリサイズ、総展開サイズの上限と、バックスラッシュを含むパス走査へのより厳格な検査を追加しました。
- リポジトリ用ヘッダーを別オリジンのパッケージアーカイブダウンロードへ転送しないようにしました。
- パッケージキャッシュとダウンロードにサイズ上限を追加しました。
- Inno Setup、WebView2 bootstrapper、appimagetool など、キャッシュ済みまたはダウンロードしたバンドル用ツールに SHA-256 検証を追加しました。

#### リリースとメンテナンス

- Rust workspace の各パッケージ、npm パッケージ、lockfile、README のリリース参照、リリースノートを `2.0.0-beta.1` に更新しました。
- 同梱していた Anton と Noto Sans のフォントバイナリ、および対応する第三者ライセンス項目を削除しました。GUI は宣言済みフォントスタックとシステムフォールバックを使用します。
- ライセンス JSON 生成スクリプトを更新し、ALCOMD3 アイコンのバージョンをハードコードではなく `package.json` から取得するようにしました。
- 新しいベータリリースドラフトに合わせて開発メモを更新しました。

### インストールについて

Windows 版は、並行してインストールされるのではなく、既存の application installation を更新します。
既存のインストール先やプロトコル関連付けとの互換性のため、main executable は legacy file name を維持します。

MCP は既定で無効です。ローカル AI クライアントから ALCOMD3 を操作したい場合にのみ、ALCOMD3 の MCP ページから有効化してください。

## 中文

ALCOMD3 v2.0.0-beta.1 是基于 v1.1.6-MD3.6 的 beta 版本。本版本新增可选的本地 MCP 桥接，使用 Astro + Beer CSS 重构网站，强化包处理和打包流程的安全边界，并将项目整体包版本更新为 `2.0.0-beta.1`。

### 相比 v1.1.6-MD3.6 的变化

#### MCP 集成

- 新增面向桌面 AI Agent 的可选 `alcomd3-mcp` 标准输入输出桥接程序。
- 新增共享的 `alcomd3-mcp-protocol` crate，以及桥接程序与正在运行的 ALCOMD3 应用之间的本地 IPC。
- 新增应用内 MCP 页面，用于启用 MCP、复制客户端配置、查看操作历史，以及授予临时完全访问权限。
- 新增 19 个 MCP 工具，覆盖项目创建、备份、复制、恢复、包安装/更新/移除/重装，以及用户仓库添加/移除等流程。
- MCP 与 GUI 复用同一套 Rust 后端操作，共享资源锁、进度上报、取消机制和刷新事件。
- 新增 MCP 用户指南、工具参考、开发指南、测试指南和打包说明。

#### 网站

- 将网站重构为 Astro + Beer CSS 项目，并引入 npm lockfile 管理依赖。
- 移除已废弃的静态多语言页面，改为生成式多语言路由和集中维护的 i18n 内容。
- 将站点 URL、仓库链接、主题色、图片路径、更新器清单路径、Service Worker 缓存名集中到站点配置。
- 将 `robots.txt`、`site.webmanifest`、Service Worker 和 sitemap 改为由路由生成，并为 sitemap 输出 `x-default` alternate link。
- 改进语言跳转和 locale 规范化逻辑。
- 调整主题与语言偏好处理、键盘导航、响应式布局和站点资源。

#### 可靠性与安全性

- 阻止 GUI 和后端并发执行同一项目的包应用请求。
- 改进包应用进度状态，新增 finalizing 状态，修正移除操作的步骤统计，并更严格控制可取消时机。
- 将 GUI 项目的 busy 状态与 MCP 触发的操作同步，后端操作进行中时会禁用对应项目操作。
- 降低 MCP dispatch 的栈使用量。
- 为 MCP IPC 增加请求大小限制、读取超时和连接数限制。
- 开启 MCP 完全访问权限前新增明确的警告确认。
- 强化包归档处理：新增归档大小、条目数量、单条目大小、总解压大小限制，并更严格检查包含反斜杠的路径穿越。
- 避免将仓库级请求头转发到跨源包归档下载。
- 为包缓存和包下载增加大小限制。
- 为缓存或下载的打包工具增加 SHA-256 校验，包括 Inno Setup、WebView2 bootstrapper 和 appimagetool。

#### 发布与维护

- 将 Rust workspace 包、npm 包、lockfile、README 发布引用和发布说明更新为 `2.0.0-beta.1`。
- 移除随包分发的 Anton 和 Noto Sans 字体二进制文件及其第三方许可条目；GUI 改为使用声明的字体栈和系统回退字体。
- 更新许可证 JSON 生成脚本，让 ALCOMD3 图标版本从 `package.json` 读取，不再硬编码旧版本字符串。
- 更新开发笔记中的当前 beta 版本草稿引用。

### 安装说明

Windows 版本会更新既有应用安装，而不是并排安装。
主程序保留 legacy file name，用于兼容既有安装路径和协议关联。

MCP 默认关闭。仅当你希望本地 AI 客户端控制 ALCOMD3 时，才需要在 ALCOMD3 的 MCP 页面中启用。
