Skip to content

Commit 1e933ae

Browse files
committed
docs(release): prepare 0.5.9 replacement
Summary: Synchronize the stable 0.5.9 replacement record, public changelog, website metadata, desktop behavior boundaries, and traceable release change after the complete local gate passed. Refs: - Change: spec/changes/active/republish-0-5-9-20260714 - Release: spec/releases/0.5.9.md Verification: - pnpm verify:release: passed all 22 stages (934.6s) - pnpm --dir website sync:release: passed - git diff --check: passed
1 parent ea2e260 commit 1e933ae

10 files changed

Lines changed: 208 additions & 70 deletions

File tree

CHANGELOG.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## [Unreleased]
22

3-
## [0.5.9] - 2026-07-13
3+
## [0.5.9] - 2026-07-14
44

55
### 新功能 / Features
66

@@ -25,6 +25,20 @@
2525

2626
### 问题修复 / Fixes
2727

28+
- 🧭 **Skill 更新按完整软件包审查**:检查更新会解析精确的本地、Git、Zip 或商店来源,展示所有新增、修改和删除文件的完整差异,再由用户选择保留本地版本或使用来源版本;不再只比较 `SKILL.md` 或直接覆盖本地修改
29+
- **Full-Package Skill Update Review**: Update checks resolve the exact local, Git, ZIP, or marketplace source, show every added, modified, and deleted file, and let users keep the local package or use the source package instead of comparing only `SKILL.md` or overwriting local changes
30+
- 🛡️ **安全服务不可用不再误阻断安装**:AI 安全扫描遇到无效令牌或服务暂不可用时,会保留本地静态扫描结论并要求用户审查,不再把可恢复的外部服务故障显示为 Skill 包无效或安装失败
31+
- **Safety Service Outages No Longer Misblock Installs**: Invalid tokens and temporary AI scan outages preserve local static findings and request user review instead of misreporting a valid Skill package as invalid or failed
32+
- 🔌 **MCP 私有商店与上游更新边界修复**:自定义内网来源由主进程持久化并按精确 origin/path 授权,从商店安装的 MCP 保存版本、来源与指纹,可区分上游更新、本地修改和 Agent 分发同步
33+
- **MCP Private Store and Upstream Update Boundaries Fixed**: Custom private sources are persisted and authorized by the main process at exact origin/path scope, while installed MCPs retain version, source, and fingerprint metadata to distinguish upstream updates, local edits, and Agent distribution sync
34+
- 🧩 **Plugin 来源更新覆盖完整包**:Plugin 更新基于完整包文件清单和安装基线进行三方对账,新增、修改、删除文件都会进入确认流程,避免只看入口文件造成漏报
35+
- **Plugin Source Updates Cover Complete Packages**: Plugin updates reconcile the complete package file inventory against the installed baseline so added, modified, and deleted files all enter review instead of relying on one entry file
36+
- 🗄️ **可恢复 SQLite freelist 损坏自动修复**:启动时会识别仅影响空闲页链表的可恢复损坏,安全重建数据库并复验完整性;不可恢复损坏仍进入现有恢复流程
37+
- **Recoverable SQLite Freelist Corruption Repair**: Startup detects corruption limited to the freelist, safely rebuilds the database, and rechecks integrity while unrecoverable corruption continues through the existing recovery flow
38+
- 🔄 **应用更新弹窗保持单一状态源**:移除开发环境注入的演示更新状态,一次检查只显示主进程返回的一份真实结果,不再叠出多个更新弹窗
39+
- **Single Authoritative App Update State**: Removed development-only demo update injection so one check renders one real main-process result instead of stacking multiple update dialogs
40+
- ☁️ **未完成的 PromptHub Cloud 入口默认隐藏**:桌面端 Cloud 登录与商店仅在显式能力开关启用时展示,旧选择会回到官方商店,不再向稳定版用户暴露不可用入口
41+
- **Unfinished PromptHub Cloud Surfaces Hidden by Default**: Desktop Cloud login and store surfaces appear only behind an explicit capability flag, and stale selections return to the official store instead of exposing unavailable stable-release UI
2842
- 🔎 **Skill 来源更新校验更可靠**:更新检查改为 SHA-256 包指纹和三方对账,忽略缓存、隐藏产物和 PromptHub 自身元数据,并修复远程 registry 指纹误标、content-url 基线和 URL 脱敏问题
2943
- **More Reliable Skill Source Update Checks**: Source update checks now use SHA-256 package fingerprints and three-way reconciliation while ignoring caches, hidden artifacts, and PromptHub metadata, with fixes for remote registry fingerprint labeling, content-url baselines, and URL credential redaction
3044
- 🛡️ **Skill 高风险更新可审查、可精确授权**:自建或私有来源的高风险更新现在展示扫描结果,可对当前包一次性确认,或仅信任精确的仓库、分支和目录来源;阻断级风险、路径穿越和结构错误仍不可绕过
@@ -53,11 +67,15 @@
5367
- **macOS In-App Updates Restored**: Signed and notarized direct installs from the website or GitHub can download ZIP updates in-app and replace the app after restart, while Homebrew installations remain Brew-managed
5468
- 🗄️ **CLI 与桌面数据库并发写入修复**:共享 SQLite 数据库写入增加跨进程协调、语句释放和明确的争用错误,并在桌面端恢复可见后刷新数据
5569
- **CLI and Desktop Database Write Coordination**: Shared SQLite writes now use cross-process coordination, statement finalization, explicit contention errors, and desktop refresh after the app becomes visible again
70+
- 👁️ **隐藏启动同步可靠恢复**:从菜单栏、快捷键、托盘命令或第二实例恢复窗口时会主动广播权威可见状态,确保隐藏启动期间挂起的 WebDAV、S3 与自部署同步立即继续
71+
- **Reliable Hidden-Startup Sync Resume**: Revealing the window from the menu bar, shortcuts, tray commands, or a second instance now broadcasts authoritative visibility so deferred WebDAV, S3, and self-hosted startup sync resumes immediately
5672
- 🔐 **旧版数据库锁恢复**:桌面端取得单实例所有权后可安全回收无主的旧版 SQLite 锁,同时 CLI 和共享调用方继续采用保守锁策略
5773
- **Legacy Database Lock Recovery**: Desktop can safely recover ownerless legacy SQLite locks after acquiring the single-instance gate, while CLI and shared callers keep conservative lock behavior
5874

5975
### 优化 / Improvements
6076

77+
- 🍎 **macOS 菜单栏资产操作补齐**:菜单栏可直接进入 Prompt、Skill、MCP、Plugin 与 Rules 的常用管理动作,并继续使用独立的单色 Template 图标
78+
- **Expanded macOS Menu Bar Asset Actions**: The menu bar now opens common Prompt, Skill, MCP, Plugin, and Rules management actions while retaining the dedicated monochrome Template icon
6179
- 🎛️ **MCP / Plugin UI 与 Skill 对齐**:My MCP、Agent MCP、Plugin Store、Agent Plugin、标签筛选、详情页、卡片宽度、更新提示、安全扫描和分发入口继续复用 Skill 的布局与交互模式
6280
- **MCP / Plugin UI Aligned with Skills**: My MCP, Agent MCP, Plugin Store, Agent Plugin, tag filters, detail pages, card widths, update badges, safety checks, and distribution entry points now reuse Skill layout and interaction patterns more consistently
6381
- 🧪 **测试与文档标准补强**:补充白盒/黑盒/边界/安全/性能/回滚验证要求,扩展 MCP、Plugin、同步、CLI、设置和 UI 回归测试覆盖
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 0.5.9 Replacement Release Design
2+
3+
## Decisions
4+
5+
- `DES-REPUB-001`: Treat the current verified `main` head as the sole source for
6+
the replacement annotated tag.
7+
- `DES-REPUB-002`: Use existing GitHub Actions release workflows; do not upload
8+
locally built or unsigned artifacts.
9+
- `DES-REPUB-003`: Preserve the stable version and release URL while explicitly
10+
documenting same-version updater semantics.
11+
12+
## Traceability
13+
14+
| Requirement | Design | Verification | Task |
15+
| --- | --- | --- | --- |
16+
| `FR-REPUB-001` | `DES-REPUB-001` | `TEST-REPUB-001` | `T-REPUB-001` |
17+
| `FR-REPUB-002` | `DES-REPUB-002` | `TEST-REPUB-002` | `T-REPUB-002` |
18+
| `FR-REPUB-003` | `DES-REPUB-003` | `TEST-REPUB-003` | `T-REPUB-003` |
19+
| `NFR-REPUB-001` | `DES-REPUB-001` | `TEST-REPUB-001` | `T-REPUB-001` |
20+
21+
## Verification
22+
23+
- `TEST-REPUB-001`: Run `pnpm verify:release` before replacing the remote tag.
24+
- `TEST-REPUB-002`: Wait for and inspect both tag workflow conclusions, release
25+
assets, update manifests, and container publication.
26+
- `TEST-REPUB-003`: Inspect the changelog, generated website metadata, and stable
27+
release notes for the replacement and updater limitation.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# 0.5.9 Replacement Release Implementation
2+
3+
## Status
4+
5+
Release documentation is synchronized and the full local release gate passed.
6+
Remote publication remains mandatory before this change can be archived.
7+
8+
## Verification
9+
10+
- Focused implementation suites, Desktop lint, Desktop typecheck, Desktop build,
11+
hidden-startup synchronization E2E, and diff checks passed before release
12+
preparation.
13+
- `pnpm verify:release`: passed all 22 stages in 934.6 seconds (CLI 86, Desktop
14+
unit 3,256, Desktop integration 40, Desktop E2E 7, Web 337, Worker 10 tests).
15+
- Desktop Build and Release tag workflow: pending.
16+
- Self-Hosted Web tag workflow: pending.
17+
18+
## Stable Records
19+
20+
- `CHANGELOG.md`
21+
- `spec/releases/0.5.9.md`
22+
- `spec/releases/README.md`
23+
- `spec/knowledge/behavior/desktop.md`
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Republish PromptHub 0.5.9
2+
3+
## Why
4+
5+
The published `v0.5.9` artifacts predate the final Skill, MCP, Plugin, database,
6+
updater, Cloud capability, and macOS menu fixes. New downloads must be rebuilt
7+
from the corrected release head without changing the public stable version URL.
8+
9+
## Scope
10+
11+
- Replace the `v0.5.9` tag and GitHub Release after the full local gate passes.
12+
- Rebuild Desktop/CLI release assets and the self-hosted Web image through the
13+
standard tag workflows.
14+
- Synchronize release-facing records and generated website metadata.
15+
16+
## Risk And Rollback
17+
18+
Moving an already published tag changes the artifacts served to new downloads.
19+
Rollback is to restore the previous peeled tag SHA and rerun the same workflows.
20+
Installed `0.5.9` clients are unaffected because the updater requires a strictly
21+
higher semantic version.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# 0.5.9 Replacement Release Tasks
2+
3+
- [x] `T-REPUB-003` Synchronize changelog, release record, and generated website
4+
release metadata (`FR-REPUB-003`, `DES-REPUB-003`, `TEST-REPUB-003`).
5+
- [ ] `T-REPUB-001` Run the full release harness and replace annotated `v0.5.9`
6+
only after it passes (`FR-REPUB-001`, `NFR-REPUB-001`, `DES-REPUB-001`,
7+
`TEST-REPUB-001`).
8+
- [ ] `T-REPUB-002` Push `main`, publish through both tag workflows, and verify all
9+
remote artifacts (`FR-REPUB-002`, `DES-REPUB-002`, `TEST-REPUB-002`).

spec/knowledge/behavior/desktop.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,22 @@
6161
### 9. Update Flow Failure Visibility
6262

6363
- 桌面端更新弹窗中的手动升级前备份动作必须在弹窗内处理失败路径;如果预升级快照或导出步骤失败,界面必须进入可见错误态,而不是把 Promise rejection 泄漏到事件处理器外。
64+
- 更新弹窗只允许渲染主进程更新服务通过 IPC 返回的真实状态;开发构建可以明确提示更新检查已禁用,但不得在运行时注入演示版本、下载进度或其他模拟状态。
6465

6566
### 9.1 Direct macOS In-App Updates
6667

6768
- 从 PromptHub 官方 DMG 安装、且后续 release ZIP 已完成 Developer ID 签名与 Apple 公证的 macOS 用户,必须可以在应用内下载并重启完成升级;更新流程使用 `electron-updater` 的已验证 ZIP payload,不要求用户手动挂载 DMG 或复制应用。
6869
- Homebrew Cask 安装仍由 Homebrew 负责升级;应用内更新不得下载或替换 Caskroom 中的应用。
69-
### 9.2 macOS Menu Bar Icon
7070

71+
### 9.2 macOS Menu Bar Icon
7172

7273
- macOS 菜单栏必须使用独立的 PromptHub 单色 Template Image,不得缩小带蓝色圆角底板、阴影和高光的完整应用图标。
7374
- 菜单栏资源以透明 `16x16` 72-dpi PNG 和同名 `32x32@2x` 144-dpi PNG 成对提供,文件名保留 `Template` 后缀;主进程不得对首选资源再次做运行时位图缩放。
75+
76+
### 9.3 Background Work After Window Reveal
77+
78+
- 主进程通过菜单栏、全局或本地快捷键、托盘命令、第二实例或既有窗口恢复路径显式显示主窗口时,必须主动向 renderer 发送最终可见状态,不得只依赖平台相关的 `show` / `restore` 事件。
79+
- renderer 收到可见状态后必须先更新窗口状态,再恢复隐藏期间挂起的 WebDAV、S3、自部署同步和本地数据刷新;重复的可见通知不得启动重复同步。
7480
- 图形沿用 PromptHub 层叠卡片识别,但必须接近占满画布,并让顶层方片成为主要轮廓;系统负责深浅色、选中态和辅助显示环境下的着色。
7581

7682
### 9.3 Desktop Tray Agent Asset Actions
@@ -108,6 +114,14 @@
108114
- 桌面端不再依赖 `framer-motion`;如未来确需 layout / spring 动画,应在 `spec/issues/active/` 先立 issue。
109115
- 长期工程契约见 `spec/knowledge/structure/desktop-frontend-animation.md`
110116

117+
### 13. MCP Store Source And Update Boundaries
118+
119+
- MCP 自定义商店源的网络授权真相源位于主进程管理的数据文件中;renderer 只保留兼容展示镜像。新增、编辑、启停和删除来源必须先由主进程原子持久化成功,renderer 才能提交状态。
120+
- MCP 商店抓取 IPC 必须同时携带 `sourceId` 与目标 URL。主进程只允许已注册来源的相同 origin 和受限 pathname;只有用户显式注册的自定义来源可获得私网和私网 HTTP 权限,内置来源不得继承该权限,重定向仍需逐跳复验。
121+
- 从内置、MCP Registry、自定义来源或未来 PromptHub Official Store 安装的 MCP 必须保存稳定模板身份、版本和来源字段 fingerprint。更新检查使用安装基线、本地配置和当前模板三方对账,不得把 Agent 目标文件同步冒充为上游版本更新。
122+
- MCP 上游更新只能由用户显式应用。安全更新可直接执行;本地修改、双向冲突和无基线旧记录必须要求明确复核。应用更新必须保留密钥值、用户状态、记录身份、绑定和目标文件;目标文件只由既有显式分发/同步流程写入。
123+
- MCP Registry 的 npm/PyPI 模板必须固定已发布版本;无法正确映射为受支持运行时的 package 类型必须跳过,不得生成猜测命令。未来官方商店条目复用同一版本与 fingerprint 合同。
124+
111125
## Stable Scenarios
112126

113127
### Scenario: Contributor changes desktop runtime behavior

0 commit comments

Comments
 (0)