v1.5.1 — Security and release hardening
v1.5.1 — Security and release hardening
Stable maintenance release / 正式維護版本
Multi-AI Chat Desktop v1.5.1 is a focused security and maintenance release. It hardens Windows source-agent command execution, tightens Gemini hostname validation, replaces insecure identifier fallbacks, clears actionable development-dependency advisories, and upgrades the repository's release automation to Node 24-compatible actions. It adds no new product features and preserves the feature-frozen scope.
Multi-AI Chat Desktop v1.5.1 是聚焦於安全與維護的版本。它強化 Windows source agent 的命令執行、收緊 Gemini hostname 驗證、替換不安全的識別碼備援、清除可處理的開發依賴警示,並把 release automation 升級到 Node 24 相容 Actions。本版不新增產品功能,維持 feature-frozen 範圍。
Runtime fixes / Runtime 修補
- Windows Agent-Ready Source Release commands now pass through a strict allowlist of the fixed tokens required for
pnpmor Corepack launch. Whitespace and shell metacharacters are rejected instead of being incompletely escaped. - Windows Agent-Ready Source Release 命令現在只允許
pnpm/Corepack 啟動真正需要的固定 token;空白與 shell 特殊字元會被拒絕,不再使用不完整的 escaping。 - Gemini's blocked-state fallback requires the exact
gemini.google.comhostname rather than accepting an arbitrary URL substring. - Gemini 的 blocked-state 備援改為精確比對
gemini.google.com,不再接受任意 URL substring。 - Conversation and message identities use
crypto.randomUUID()orcrypto.getRandomValues()when available, with a process-local monotonic fallback rather thanMath.random(). - 對話與訊息識別碼會優先使用
crypto.randomUUID()/crypto.getRandomValues(),並以 process-local 單調序列取代Math.random()備援。
Repository security / Repo 安全
- Vitest is upgraded to
3.2.7and esbuild to0.25.12, removing the six actionable npm Dependabot alerts discovered when repository scanning was enabled. - Vitest 升級到
3.2.7、esbuild 升級到0.25.12,排除啟用掃描後找到的六筆可處理 npm Dependabot 警示。 - GitHub Actions use Node 24-compatible releases pinned to immutable commits, checkout credentials are not persisted, and workflow permissions follow least privilege.
- GitHub Actions 改用 Node 24 相容版本並固定 immutable commit;checkout 不保留 credentials,workflow 權限採 least privilege。
- Dependabot security updates, monthly GitHub Actions update checks, weekly CodeQL analysis, and protected
mainstatus checks are enabled for future maintenance. - 已啟用 Dependabot security updates、每月 GitHub Actions 更新檢查、每週 CodeQL,以及受保護的
mainstatus checks。
Accepted upstream risk / 已接受的上游風險
- The Linux GTK3 dependency graph from the current Tauri
2.11.5/ Wry0.55.1stack still resolves toglib 0.18.5, which has a medium-severity advisory forglib::VariantStrIter. - 目前 Tauri
2.11.5/Wry0.55.1的 Linux GTK3 依賴仍會解析到glib 0.18.5;其glib::VariantStrIter有一筆 medium advisory。 - This application does not directly call that API, and
glib >=0.20is not compatible with the upstreamgtk 0.18graph. The alert is documented as a tolerable transitive risk until Tauri/Wry migrates upstream; it is not represented as fixed. - 本 app 未直接呼叫該 API,而
glib >=0.20與上游gtk 0.18dependency graph 不相容。此警示會以可接受的 transitive risk 留存,等待 Tauri/Wry 上游遷移,不會被宣稱為已修復。
Validation / 驗證
- The release branch passed 384 frontend tests, 21 Agent contract tests, TypeScript type-checking, ESLint, adapter checks, npm audit, Rust tests, and warnings-denied Clippy on Windows, macOS, and Linux.
- Release branch 通過 384 個前端測試、21 個 Agent contract 測試、TypeScript type-check、ESLint、adapter checks、npm audit、Rust tests,以及 Windows/macOS/Linux 的 warnings-denied Clippy。
- CodeQL analysis passed for GitHub Actions, JavaScript/TypeScript, and Rust with no open code-scanning alerts on
main. - CodeQL 的 GitHub Actions、JavaScript/TypeScript 與 Rust 分析全部通過,
main沒有 open code-scanning alert。 - The immutable
v1.5.1tag rebuilds the Windows installer and portable zip, Apple Silicon DMG, and Linux AppImage before this draft is published. - Immutable
v1.5.1tag 會重新建置 Windows installer/portable zip、Apple Silicon DMG 與 Linux AppImage;draft 只有在這些產物成功後才會發布。
Downloads / 下載
- Windows x64 installer and portable zip
- Apple Silicon macOS DMG
- Linux x86_64 AppImage
Notes / 注意事項
- Windows artifacts remain unsigned and may trigger SmartScreen.
- The macOS package is ad-hoc signed and signature-verified in CI, but is not Apple-notarized; follow the README first-launch steps if Gatekeeper blocks it.
- Live macOS provider compatibility, especially Grok through Cloudflare verification, still depends on third-party behavior and has not been re-confirmed on a maintainer-owned Apple Silicon device for this patch.
- Linux remains CI-packaged without a new real-device launch report.
- Provider websites can change independently. Attach a sanitized exported debug log when reporting automation failures.
Full changelog: v1.5.0...v1.5.1