Skip to content

Commit fded7eb

Browse files
committed
chore(release): prepare v1.6.8 and unblock npm publish gate
1 parent 4f09193 commit fded7eb

7 files changed

Lines changed: 157 additions & 31 deletions

File tree

AGENTS.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,10 @@ Android (Windows): run `build_apk.bat` (requires Node.js, Java JDK 17+, and Andr
4545
- Follow Conventional Commits: `feat: ...`, `fix: ...`, `docs: ...`, `refactor: ...`. Add Godot-specific scoping where necessary e.g., `fix(godot-ui): padding`.
4646
- PRs must document: the root cause trace, verification tests run locally across both UI clients (web browser vs Tauri WebView vs Godot executable), and UI screenshots.
4747
- Release tags `vX.Y.Z` must precisely match `package.json`’s version.
48+
49+
## Release Notes Discipline
50+
51+
- After creating/pushing any new release tag, update the matching bilingual release note source file in `docs/` (for example `docs/release_notes_v1.6.7.md`) before considering the release finalized.
52+
- GitHub Release notes must not stay as placeholder text. Use the previous high-quality release page as the structure benchmark; until superseded, treat [`v1.6.6`](https://github.com/Jacobinwwey/NoteConnection/releases/tag/v1.6.6) as the canonical quality bar for tone, bilingual layout, and subsystem grouping.
53+
- Every release note must contain separated `## English` and `## 中文` sections, a compare baseline, concrete highlights, and subsystem-oriented bullets that reflect the actual shipped delta rather than generic “release prep” wording.
54+
- When a version includes runtime, packaging, CI, docs, or governance changes, summarize each affected surface explicitly so the GitHub Release body can be published directly from the checked-in docs note with minimal or no manual rewriting.

docs/release_notes_v1.6.7.md

Lines changed: 62 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,45 @@
66

77
- Compare baseline: `v1.6.6..v1.6.7`
88
- Commits: `5`
9-
- Files changed: `53`
10-
- Churn: `+5,764 / -862`
9+
- Files changed: `56`
10+
- Churn: `+6,021 / -862`
1111

1212
### Highlights
1313

14-
- Removed external community UI-specific docs references from repository documentation.
15-
- Replaced legacy external runbooks with project-owned bilingual docs runbooks:
14+
- Added a packaged `markdown-worker` sidecar across desktop targets and wired the new runtime through the frontend reader, NoteMD bridge, Tauri packaging, and validation scripts.
15+
- Extended the embedded reader/path-mode experience with richer panel refresh, settings synchronization, and markdown rendering flow updates spanning frontend, server, and Godot integration code.
16+
- Replaced legacy external docs-publish runbooks with project-owned bilingual GitHub Pages release/rollback guidance and aligned Diataxis/governance references to the new canonical docs.
17+
18+
### Markdown Worker and Reader Runtime
19+
20+
- Added `tools/markdown_worker` Rust binary and platform packaging paths for Windows, Linux, and macOS.
21+
- Introduced `src/markdown/MarkdownGateway.ts` plus contract/integration coverage for markdown worker runtime selection and server integration.
22+
- Updated sidecar build, validation, cleanup, and readiness scripts so the markdown worker is treated as a first-class Tauri sidecar during dev/build/test flows.
23+
- Expanded frontend reader and NoteMD integration surfaces:
24+
- `src/frontend/reader.js`
25+
- `src/frontend/notemd.js`
26+
- `src/frontend/settings.js`
27+
- `src/server.ts`
28+
29+
### Docs Publishing and Release Operations
30+
31+
- Switched docs publishing away from the removed external EdgeOne runbook to repo-owned GitHub Pages runbooks:
1632
- `docs/en/docs_release_and_rollback.md`
1733
- `docs/zh/docs_release_and_rollback.md`
18-
- Updated Diataxis mapping and governance references to point to new canonical docs runbooks.
19-
- Added GitHub Pages preflight site-state check in `.github/workflows/docs-github-pages-publish.yml`.
20-
- Resolved docs portal `404` by enabling repository Pages with `gh-pages` branch source.
21-
- Prepared formal release metadata and aligned versions to `1.6.7`:
22-
- `package.json`
23-
- `package-lock.json`
24-
- `src-tauri/tauri.conf.json`
34+
- Added GitHub Pages preflight/auto-enable logic in `.github/workflows/docs-github-pages-publish.yml` so docs deployments can self-heal common Pages configuration drift.
35+
- Hardened `npm-publish.yml` with version-existence guarding to keep `npm publish` idempotent when both tag-push and release events fire for the same version.
36+
- Aligned release metadata for `1.6.7` in package/Tauri manifests and refreshed README + Diataxis references to match the new operator workflow.
37+
38+
### Stability and Verification
39+
40+
- Added regression coverage for markdown gateway runtime routing, app-config persistence, server integration, and embed refresh behavior.
41+
- Kept Tauri preflight cleanup/ensure scripts in the verification path so stale copied sidecars are removed before dev/build/test flows start.
42+
- Preserved bilingual release-note structure so GitHub Release text can be published directly from this document without post-hoc rewriting.
2543

2644
### Release Notes
2745

28-
- This release focuses on docs governance hardening and release readiness cleanup.
29-
- Core runtime logic and application behavior are unchanged from feature perspective.
46+
- This release is not just a docs-only cut: it delivers the new markdown worker runtime, expands embedded reader integration, and hardens GitHub Pages plus npm release operations around that rollout.
47+
- The compare window remains tightly scoped to `v1.6.6..v1.6.7`, so the notes above are intended to map directly to the actual shipped delta.
3048

3149
---
3250

@@ -36,24 +54,42 @@
3654

3755
- 对比基线:`v1.6.6..v1.6.7`
3856
- 提交数:`5`
39-
- 变更文件数:`53`
40-
- 代码/文档变更量:`+5,764 / -862`
57+
- 变更文件数:`56`
58+
- 代码/文档变更量:`+6,021 / -862`
4159

4260
### 版本亮点
4361

44-
- 清理了仓库文档体系中外部社区界面相关的非项目文档引用。
45-
- 以项目自有的双语文档手册替换原历史外部手册:
62+
- 为桌面端新增可打包的 `markdown-worker` sidecar,并把该运行时完整接入前端阅读器、NoteMD 桥接、Tauri 打包与校验脚本。
63+
- 扩展嵌入式阅读器 / Path Mode 体验,补齐面板刷新、设置同步与 Markdown 渲染链路,覆盖前端、服务端与 Godot 集成代码。
64+
- 用项目自有的双语 GitHub Pages 发布 / 回滚手册替换历史外部文档发布手册,并同步收敛 Diataxis / 治理文档的权威引用入口。
65+
66+
### Markdown Worker 与阅读器运行时
67+
68+
- 新增 `tools/markdown_worker` Rust 二进制,并补齐 Windows、Linux、macOS 的打包路径。
69+
- 引入 `src/markdown/MarkdownGateway.ts`,并补充 markdown worker 运行时选择与服务端集成的契约 / 集成测试。
70+
- 更新 sidecar 的构建、校验、清理、就绪脚本,使 markdown worker 在 Tauri 的开发 / 构建 / 测试流程中成为一等 sidecar。
71+
- 扩展前端阅读器与 NoteMD 集成面:
72+
- `src/frontend/reader.js`
73+
- `src/frontend/notemd.js`
74+
- `src/frontend/settings.js`
75+
- `src/server.ts`
76+
77+
### 文档发布与版本运维
78+
79+
- 将文档发布流程从已移除的外部 EdgeOne 手册切换到仓库自有 GitHub Pages 手册:
4680
- `docs/en/docs_release_and_rollback.md`
4781
- `docs/zh/docs_release_and_rollback.md`
48-
- 同步更新 Diataxis 映射与治理引用,确保权威来源指向一致。
49-
-`.github/workflows/docs-github-pages-publish.yml` 增加 GitHub Pages 站点预检步骤。
50-
- 通过启用仓库 Pages 并绑定 `gh-pages` 作为发布源,修复文档站点 `404`
51-
- 完成 `1.6.7` 版本发布准备并统一版本号:
52-
- `package.json`
53-
- `package-lock.json`
54-
- `src-tauri/tauri.conf.json`
82+
-`.github/workflows/docs-github-pages-publish.yml` 中增加 GitHub Pages 预检 / 自动启用逻辑,用于自恢复常见 Pages 配置漂移。
83+
-`npm-publish.yml` 中增加版本存在性保护,使同一版本同时被 tag push 与 release 事件触发时仍保持 `npm publish` 幂等。
84+
- 对齐 `1.6.7` 的 package / Tauri manifest 版本元数据,并同步刷新 README 与 Diataxis 引用,保证运维入口一致。
85+
86+
### 稳定性与验证
87+
88+
- 增补 markdown gateway 运行时路由、app-config 持久化、服务端集成、嵌入式刷新行为的回归覆盖。
89+
- 将 Tauri 预检清理 / ensure 脚本持续纳入验证链路,确保开发 / 构建 / 测试启动前不会遗留陈旧的复制 sidecar。
90+
- 保持双语发布说明结构稳定,使 GitHub Release 文案可以直接从本文件发布,而不是事后再临时改写。
5591

5692
### 发布说明
5793

58-
- 本版本聚焦文档治理加固与发布流程收口
59-
- 功能层面不引入新的核心运行时能力变更
94+
- 本版本并非单纯文档整理,而是围绕新的 markdown worker 运行时上线,同步完成嵌入式阅读器集成与 GitHub Pages / npm 发布链路加固
95+
- 本说明严格对应 `v1.6.6..v1.6.7` 的实际变更窗口,便于后续直接作为 GitHub Release 正文使用

docs/release_notes_v1.6.8.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# NoteConnection v1.6.8
2+
3+
## English
4+
5+
### Release Scope
6+
7+
- Compare baseline: `v1.6.7..v1.6.8`
8+
- Commits: `1`
9+
- Files changed: `7`
10+
- Churn: `+157 / -31`
11+
12+
### Highlights
13+
14+
- Fixed the `tauri.sidecar.cleanup` contract expectation so release CI recognizes the new `markdown-worker` sidecar and no longer blocks npm publish on a stale assertion.
15+
- Added explicit release-note quality discipline in `AGENTS.md`, including bilingual section requirements and subsystem-oriented release narrative standards.
16+
- Backfilled and strengthened `v1.6.7` release notes so the published release body stays aligned with the real shipped delta across runtime, packaging, CI, and docs surfaces.
17+
18+
### Release Pipeline Reliability
19+
20+
- Updated `src/tauri.sidecar.cleanup.contract.test.ts` to match the runtime sidecar list (`server`, `godot`, `markdown-worker`), removing the false-negative test failure that previously stopped the npm release stage.
21+
- Kept the release path aligned with existing automation triggers (`tag push` and GitHub Release publication) so the npm workflow remains idempotent and reproducible.
22+
23+
### Documentation and Governance
24+
25+
- Extended `AGENTS.md` with a dedicated "Release Notes Discipline" section to enforce:
26+
- bilingual `## English` and `## 中文` split,
27+
- compare baseline declaration,
28+
- subsystem-grouped concrete highlights,
29+
- direct publish-ready release body quality.
30+
- Refined `docs/release_notes_v1.6.7.md` content structure and detail depth to match repository release quality expectations.
31+
32+
### Version Metadata
33+
34+
- Bumped release metadata to `1.6.8` in:
35+
- `package.json`
36+
- `package-lock.json`
37+
- `src-tauri/tauri.conf.json`
38+
39+
### Release Notes
40+
41+
- This patch release focuses on release reliability and documentation quality control: it unblocks the npm pipeline regression, standardizes release-note governance, and keeps bilingual release communication consistent.
42+
43+
---
44+
45+
## 中文
46+
47+
### 发布范围
48+
49+
- 对比基线:`v1.6.7..v1.6.8`
50+
- 提交数:`1`
51+
- 变更文件数:`7`
52+
- 代码/文档变更量:`+157 / -31`
53+
54+
### 版本亮点
55+
56+
- 修复 `tauri.sidecar.cleanup` 契约测试中的旧断言,使发布 CI 能正确识别新增的 `markdown-worker` sidecar,避免 npm 发布被误拦截。
57+
-`AGENTS.md` 新增发布说明质量约束,明确双语分段与按子系统组织的发布叙事标准。
58+
- 回填并增强 `v1.6.7` 发布说明细节,确保已发布版本正文与实际交付变更(运行时、打包、CI、文档)一致。
59+
60+
### 发布链路可靠性
61+
62+
- 更新 `src/tauri.sidecar.cleanup.contract.test.ts`,将运行时 sidecar 列表对齐为 `server``godot``markdown-worker`,消除此前阻断 npm 发布阶段的误报测试失败。
63+
- 保持发布流程与既有自动化触发机制(`tag push` + GitHub Release 发布)一致,确保 npm 工作流具备幂等与可复现性。
64+
65+
### 文档与治理
66+
67+
-`AGENTS.md` 增补 "Release Notes Discipline" 章节,强制要求:
68+
- `## English``## 中文` 双语分段,
69+
- 明确 compare baseline,
70+
- 按子系统组织具体亮点,
71+
- 发布文案可直接用于 GitHub Release 正文。
72+
- 细化 `docs/release_notes_v1.6.7.md` 的结构与信息密度,使其达到仓库既定发布质量基线。
73+
74+
### 版本元数据
75+
76+
- 将以下文件版本统一提升到 `1.6.8`
77+
- `package.json`
78+
- `package-lock.json`
79+
- `src-tauri/tauri.conf.json`
80+
81+
### 发布说明
82+
83+
- 本次补丁版本聚焦发布可靠性与文档质量治理:既修复 npm 发布链路回归点,也统一双语发布说明标准,保障后续发版稳定执行。

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "noteconnection",
3-
"version": "1.6.7",
3+
"version": "1.6.8",
44
"description": "Hierarchical Knowledge Graph Visualization System",
55
"main": "dist/src/server.js",
66
"bin": {

src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "NoteConnection",
4-
"version": "1.6.7",
4+
"version": "1.6.8",
55
"identifier": "com.jacobinwwey.noteconnection",
66
"build": {
77
"beforeDevCommand": "",

src/tauri.sidecar.cleanup.contract.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ describe('tauri sidecar cleanup integration', () => {
4444
test('cleanup script targets copied tauri sidecars in debug and release outputs', () => {
4545
const script = fs.readFileSync(cleanupScriptPath, 'utf8');
4646
expect(script).toContain("const targetModes = ['debug', 'release'];");
47-
expect(script).toContain("const sidecarNames = ['server', 'godot'];");
47+
expect(script).toContain("const sidecarNames = ['server', 'godot', 'markdown-worker'];");
4848
expect(script).toContain("targetRoot, mode, `${name}.exe`");
4949
expect(script).toContain('Failed to terminate stale copied sidecars');
5050
});

0 commit comments

Comments
 (0)