From ae4a08773a4f9e815532d98335b81d7ab84202dd Mon Sep 17 00:00:00 2001 From: lefarcen <935902669@qq.com> Date: Wed, 6 May 2026 18:05:56 +0800 Subject: [PATCH] chore(release): prepare 0.4.1 (#659) - bump remaining monorepo package.json files to 0.4.1 after apps/packaged was already bumped in #637 - add CHANGELOG.md [0.4.1] - 2026-05-06 entry covering the startup hotfix and 19 merged PRs since 0.4.0: - Added: manual edit mode (#620), Cmd/Ctrl+P quick file switcher (#556), resizable chat panel (#563), PI status/cancel updates (#618), accessibility and RTL/Bidi craft modules (#587, #595), i18n structure checks (#608) - Changed: first-PR README links now surface help-wanted issues (#605) - Fixed: packaged contracts runtime exports (#577), packaged runtime beta gating (#637), ACP/MCP/agent fixes (#604, #612, #627), conversation error recovery (#623), native mac quit (#637) - Documentation/Internal: OD_DATA_DIR migration docs (#570), Simplified Chinese QUICKSTART (#578), zh-TW/ko README syncs (#586, #619), generated metrics (#592) Release workflow validation runs after merge via release-stable. --- CHANGELOG.md | 73 ++++++++++++++++++++++++++++- apps/daemon/package.json | 2 +- apps/desktop/package.json | 2 +- apps/landing-page/package.json | 2 +- apps/web/package.json | 2 +- e2e/package.json | 2 +- package.json | 2 +- packages/contracts/package.json | 2 +- packages/platform/package.json | 2 +- packages/sidecar-proto/package.json | 2 +- packages/sidecar/package.json | 2 +- tools/dev/package.json | 2 +- tools/pack/package.json | 2 +- 13 files changed, 84 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 99372c45b..b5a0f2feb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.1] - 2026-05-06 + +0.4.1 is the startup hotfix for the broken 0.4.0 desktop packages. It restores packaged app startup on macOS and Windows, adds release validation so the failure mode is caught before publication, and includes the small UI, agent, documentation, i18n, and craft updates that landed while the hotfix was being verified. + +### Added + +#### Web / UI +- **Manual edit mode** for direct artifact edits. ([#620]) +- **Cmd/Ctrl+P quick file switcher** for faster project navigation. ([#556]) +- Resizable chat panel. ([#563]) + +#### Daemon and agents +- Added model name to PI initial status and RPC abort on cancel. ([#618]) + +#### Craft and i18n +- Craft `accessibility-baseline` module with opt-ins for dashboard, HR onboarding, and mobile onboarding. ([#587]) +- Craft `rtl-and-bidi` module so artifacts handle Arabic, Hebrew, and Persian content more reliably. ([#595]) +- Added i18n structure checks. ([#608]) + +### Changed + +- Updated README first-PR links so `help-wanted` issues are surfaced alongside `good-first-issue`. ([#605]) + +### Fixed + +#### Packaging +- Fixed packaged desktop startup by building `@open-design/contracts` to `dist/*.mjs` + `.d.ts`, pointing its exports at compiled JavaScript, and building contracts before all packaged lanes pack workspace tarballs. ([#577]) +- Added packaged runtime beta gating so release candidates install, start, inspect `/api/health`, collect logs, stop, and uninstall before promotion. ([#637]) + +#### Daemon and agents +- Added the required stdio MCP server env field and recover from `-32602` on `session/set_model`. ([#627]) +- Normalized ACP `mcpServers` to the stdio shape for Kimi/Hermes ACP. ([#612]) +- Fixed agent CLI configuration and workspace focus mode. ([#604]) + +#### Web and desktop +- Preserved error messages across conversation reloads. ([#623]) +- Kept chat recoverable after conversation load failures. ([#637]) +- Honored native macOS quit behavior in the packaged desktop shell. ([#637]) + +### Documentation + +- Documented `OD_DATA_DIR` and migration from `.od/` to the Desktop app. ([#570]) +- Added Chinese (Simplified) QUICKSTART. ([#578]) +- Backported missing zh-TW README sections from the English README. ([#586]) +- Synced and improved the Korean README. ([#619]) + +### Internal + +- Refined release workflows, CI scope, e2e layout, and packaged runtime smoke coverage for beta validation. ([#637]) +- Refreshed generated GitHub metrics. ([#592]) + ## [0.4.0] - 2026-05-05 A multi-protocol leap: Open Design now ships as an MCP server, ships Critique Theater (Design Jury) Phase 4, gains live-reload + Tweaks mode + live artifacts in the preview pane, and adds five new agent / runtime adapters. 71 merged PRs from 40+ contributors over two days. Linux AppImage packaging landed in tooling, but the stable Linux artifact is deferred from 0.4.0 while containerized release packaging is hardened. @@ -365,7 +416,8 @@ First public release of Open Design — a local-first, open-source alternative t - Beta release workflow placeholder. ([#36]) - Git commit co-author policy. ([#131]) -[Unreleased]: https://github.com/nexu-io/open-design/compare/open-design-v0.4.0...HEAD +[Unreleased]: https://github.com/nexu-io/open-design/compare/open-design-v0.4.1...HEAD +[0.4.1]: https://github.com/nexu-io/open-design/releases/tag/open-design-v0.4.1 [0.4.0]: https://github.com/nexu-io/open-design/releases/tag/open-design-v0.4.0 [0.3.0]: https://github.com/nexu-io/open-design/releases/tag/open-design-v0.3.0 [0.2.0]: https://github.com/nexu-io/open-design/releases/tag/open-design-v0.2.0 @@ -609,3 +661,22 @@ First public release of Open Design — a local-first, open-source alternative t [#535]: https://github.com/nexu-io/open-design/pull/535 [#548]: https://github.com/nexu-io/open-design/pull/548 [#549]: https://github.com/nexu-io/open-design/pull/549 +[#556]: https://github.com/nexu-io/open-design/pull/556 +[#563]: https://github.com/nexu-io/open-design/pull/563 +[#570]: https://github.com/nexu-io/open-design/pull/570 +[#577]: https://github.com/nexu-io/open-design/pull/577 +[#578]: https://github.com/nexu-io/open-design/pull/578 +[#586]: https://github.com/nexu-io/open-design/pull/586 +[#587]: https://github.com/nexu-io/open-design/pull/587 +[#592]: https://github.com/nexu-io/open-design/pull/592 +[#595]: https://github.com/nexu-io/open-design/pull/595 +[#604]: https://github.com/nexu-io/open-design/pull/604 +[#605]: https://github.com/nexu-io/open-design/pull/605 +[#608]: https://github.com/nexu-io/open-design/pull/608 +[#612]: https://github.com/nexu-io/open-design/pull/612 +[#618]: https://github.com/nexu-io/open-design/pull/618 +[#619]: https://github.com/nexu-io/open-design/pull/619 +[#620]: https://github.com/nexu-io/open-design/pull/620 +[#623]: https://github.com/nexu-io/open-design/pull/623 +[#627]: https://github.com/nexu-io/open-design/pull/627 +[#637]: https://github.com/nexu-io/open-design/pull/637 diff --git a/apps/daemon/package.json b/apps/daemon/package.json index 8503d2bc7..90a588c54 100644 --- a/apps/daemon/package.json +++ b/apps/daemon/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/daemon", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "main": "./dist/cli.js", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 1a90ebbeb..a07ee2eea 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/desktop", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "main": "./dist/main/index.js", diff --git a/apps/landing-page/package.json b/apps/landing-page/package.json index 925139769..87e44c420 100644 --- a/apps/landing-page/package.json +++ b/apps/landing-page/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/landing-page", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "scripts": { diff --git a/apps/web/package.json b/apps/web/package.json index 42a7993fd..0e26461cb 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/web", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "exports": { diff --git a/e2e/package.json b/e2e/package.json index 1f85d9353..f7e17c2ef 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/e2e", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "scripts": { diff --git a/package.json b/package.json index d23855c32..9ea944fd3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-design", - "version": "0.4.0", + "version": "0.4.1", "private": true, "packageManager": "pnpm@10.33.2", "type": "module", diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 4cab070a4..68d8d7392 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/contracts", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "description": "Shared pure TypeScript contracts for the Open Design web/daemon boundary.", diff --git a/packages/platform/package.json b/packages/platform/package.json index c5eeb8975..89375301c 100644 --- a/packages/platform/package.json +++ b/packages/platform/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/platform", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "main": "./dist/index.mjs", diff --git a/packages/sidecar-proto/package.json b/packages/sidecar-proto/package.json index c01a800d7..ab1055678 100644 --- a/packages/sidecar-proto/package.json +++ b/packages/sidecar-proto/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/sidecar-proto", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "main": "./dist/index.mjs", diff --git a/packages/sidecar/package.json b/packages/sidecar/package.json index c88f6d203..450b7f1dd 100644 --- a/packages/sidecar/package.json +++ b/packages/sidecar/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/sidecar", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "main": "./dist/index.mjs", diff --git a/tools/dev/package.json b/tools/dev/package.json index 3d4c693f7..e48c61e00 100644 --- a/tools/dev/package.json +++ b/tools/dev/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/tools-dev", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "bin": { diff --git a/tools/pack/package.json b/tools/pack/package.json index 6d37389bf..2883cd217 100644 --- a/tools/pack/package.json +++ b/tools/pack/package.json @@ -1,6 +1,6 @@ { "name": "@open-design/tools-pack", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "bin": {