diff --git a/docs/planning/xworkmate-ui-feature-matrix.md b/docs/planning/xworkmate-ui-feature-matrix.md index e4b4d17e..3d052416 100644 --- a/docs/planning/xworkmate-ui-feature-matrix.md +++ b/docs/planning/xworkmate-ui-feature-matrix.md @@ -2,7 +2,7 @@ > Generated by `tool/render_release_docs.dart` > Source manifest: [`config/feature_flags.yaml`](../../config/feature_flags.yaml) -> Generated at: `2026-03-24T09:36:52.598713` +> Generated at: `2026-03-27T13:11:11.957747` ## Release Policy @@ -18,10 +18,10 @@ | 平台 | Flag 总数 | 已启用 | Stable | Beta | Experimental | Disabled | | --- | --- | --- | --- | --- | --- | --- | -| `mobile` | 32 | 26 | 18 | 0 | 8 | 6 | -| `desktop` | 31 | 26 | 19 | 1 | 6 | 5 | -| `web` | 15 | 8 | 8 | 0 | 0 | 7 | -| `total` | 78 | 60 | 45 | 1 | 14 | 18 | +| `mobile` | 33 | 25 | 18 | 0 | 7 | 8 | +| `desktop` | 33 | 25 | 19 | 1 | 5 | 8 | +| `web` | 20 | 16 | 16 | 0 | 0 | 4 | +| `total` | 86 | 66 | 53 | 1 | 12 | 20 | ## Mobile @@ -36,7 +36,8 @@ | `workspace` | `nodes` | enabled | `stable` | `debug, profile, release` | `mobile_workspace_hub` | Mobile workspace nodes launcher | | `workspace` | `agents` | enabled | `stable` | `debug, profile, release` | `mobile_workspace_hub` | Mobile workspace agents launcher | | `workspace` | `mcp_server` | enabled | `experimental` | `debug, profile, release` | `mobile_workspace_hub` | Mobile workspace MCP launcher | -| `workspace` | `claw_hub` | enabled | `experimental` | `debug, profile, release` | `mobile_workspace_hub` | Mobile workspace ClawHub launcher | +| `workspace` | `claw_hub` | disabled | `experimental` | `debug, profile, release` | `mobile_workspace_hub` | Mobile workspace ClawHub launcher | +| `workspace` | `connectors` | disabled | `experimental` | `debug, profile, release` | `mobile_workspace_hub` | Mobile workspace connectors launcher | | `workspace` | `ai_gateway` | enabled | `stable` | `debug, profile, release` | `mobile_workspace_hub` | Mobile workspace AI Gateway launcher | | `workspace` | `account` | disabled | `experimental` | `debug, profile, release` | `mobile_workspace_hub` | Mobile workspace account launcher | | `assistant` | `direct_ai` | enabled | `stable` | `debug, profile, release` | `assistant_page` | Mobile direct AI assistant mode | @@ -70,11 +71,13 @@ | `navigation` | `nodes` | enabled | `stable` | `debug, profile, release` | `sidebar_navigation` | Desktop nodes destination | | `navigation` | `agents` | enabled | `stable` | `debug, profile, release` | `sidebar_navigation` | Desktop agents destination | | `navigation` | `mcp_server` | enabled | `experimental` | `debug, profile, release` | `sidebar_navigation` | Desktop MCP Hub destination | -| `navigation` | `claw_hub` | enabled | `experimental` | `debug, profile, release` | `sidebar_navigation` | Desktop ClawHub destination | +| `navigation` | `claw_hub` | disabled | `experimental` | `debug, profile, release` | `sidebar_navigation` | Desktop ClawHub destination | | `navigation` | `secrets` | enabled | `stable` | `debug, profile, release` | `sidebar_navigation` | Desktop secrets destination | | `navigation` | `ai_gateway` | enabled | `stable` | `debug, profile, release` | `sidebar_navigation` | Desktop AI Gateway destination | | `navigation` | `settings` | enabled | `stable` | `debug, profile, release` | `sidebar_navigation` | Desktop settings destination | | `navigation` | `account` | disabled | `experimental` | `debug, profile, release` | `sidebar_navigation` | Desktop account destination | +| `workspace` | `claw_hub` | disabled | `experimental` | `debug, profile, release` | `modules_page` | Desktop workspace ClawHub tab | +| `workspace` | `connectors` | disabled | `experimental` | `debug, profile, release` | `modules_page` | Desktop workspace connectors tab | | `assistant` | `direct_ai` | enabled | `stable` | `debug, profile, release` | `assistant_page` | Desktop direct AI assistant mode | | `assistant` | `local_gateway` | enabled | `stable` | `debug, profile, release` | `assistant_page` | Desktop local gateway assistant mode | | `assistant` | `relay_gateway` | enabled | `stable` | `debug, profile, release` | `assistant_page` | Desktop relay gateway assistant mode | @@ -101,12 +104,17 @@ | 模块 | Flag | 状态 | Tier | Build Modes | UI Surface | 说明 | | --- | --- | --- | --- | --- | --- | --- | | `navigation` | `assistant` | enabled | `stable` | `debug, profile, release` | `web_shell` | Web assistant destination | +| `navigation` | `tasks` | enabled | `stable` | `debug, profile, release` | `web_shell` | Web tasks destination | +| `navigation` | `skills` | enabled | `stable` | `debug, profile, release` | `web_shell` | Web skills destination | +| `navigation` | `nodes` | enabled | `stable` | `debug, profile, release` | `web_shell` | Web nodes destination | +| `navigation` | `secrets` | enabled | `stable` | `debug, profile, release` | `web_shell` | Web secrets destination | +| `navigation` | `ai_gateway` | enabled | `stable` | `debug, profile, release` | `web_shell` | Web LLM API destination | | `navigation` | `settings` | enabled | `stable` | `debug, profile, release` | `web_shell` | Web settings destination | | `assistant` | `direct_ai` | enabled | `stable` | `debug, profile, release` | `web_assistant_page` | Web direct AI assistant mode | | `assistant` | `relay_gateway` | enabled | `stable` | `debug, profile, release` | `web_assistant_page` | Web relay gateway assistant mode | -| `assistant` | `file_attachments` | disabled | `experimental` | `-` | `web_assistant_page` | Web does not expose file attachments in assistant composer | -| `assistant` | `multi_agent` | disabled | `experimental` | `-` | `web_assistant_page` | Web does not expose multi-agent assistant toggle | -| `assistant` | `local_gateway` | disabled | `experimental` | `-` | `web_assistant_page` | Web does not expose local gateway assistant mode | +| `assistant` | `file_attachments` | enabled | `stable` | `debug, profile, release` | `web_assistant_page` | Web file attachment action in assistant composer | +| `assistant` | `multi_agent` | enabled | `stable` | `debug, profile, release` | `web_assistant_page` | Web multi-agent toggle in assistant composer | +| `assistant` | `local_gateway` | enabled | `stable` | `debug, profile, release` | `web_assistant_page` | Web local gateway assistant mode | | `assistant` | `local_runtime` | disabled | `experimental` | `-` | `web_assistant_page` | Web does not expose desktop runtime controls | | `settings` | `general` | enabled | `stable` | `debug, profile, release` | `web_settings_page` | Web settings general tab | | `settings` | `gateway` | enabled | `stable` | `debug, profile, release` | `web_settings_page` | Web settings gateway tab | diff --git a/docs/planning/xworkmate-ui-feature-roadmap.md b/docs/planning/xworkmate-ui-feature-roadmap.md index 617bb447..4a34e8ad 100644 --- a/docs/planning/xworkmate-ui-feature-roadmap.md +++ b/docs/planning/xworkmate-ui-feature-roadmap.md @@ -2,7 +2,7 @@ > Generated by `tool/render_release_docs.dart` > Source manifest: [`config/feature_flags.yaml`](../../config/feature_flags.yaml) -> Generated at: `2026-03-24T09:36:52.598713` +> Generated at: `2026-03-27T13:11:11.957747` ## 规划规则 @@ -14,9 +14,9 @@ | 平台 | Debug Visible | Profile Visible | Release Visible | Suppressed | | --- | --- | --- | --- | --- | -| `mobile` | 26 | 18 | 18 | 6 | -| `desktop` | 26 | 20 | 19 | 5 | -| `web` | 8 | 8 | 8 | 7 | +| `mobile` | 25 | 18 | 18 | 8 | +| `desktop` | 25 | 20 | 19 | 8 | +| `web` | 16 | 16 | 16 | 4 | ## Release Baseline @@ -24,7 +24,7 @@ | --- | --- | --- | | `mobile` | 18 | `navigation.assistant`, `navigation.tasks`, `navigation.workspace`, `navigation.settings`, `workspace.skills`, `workspace.nodes`, `workspace.agents`, `workspace.ai_gateway`, `assistant.direct_ai`, `assistant.local_gateway`, `assistant.relay_gateway`, `assistant.file_attachments`, `settings.general`, `settings.workspace`, `settings.gateway`, `settings.appearance`, `settings.diagnostics`, `settings.about` | | `desktop` | 19 | `navigation.assistant`, `navigation.tasks`, `navigation.skills`, `navigation.nodes`, `navigation.agents`, `navigation.secrets`, `navigation.ai_gateway`, `navigation.settings`, `assistant.direct_ai`, `assistant.local_gateway`, `assistant.relay_gateway`, `assistant.file_attachments`, `assistant.local_runtime`, `settings.general`, `settings.workspace`, `settings.gateway`, `settings.appearance`, `settings.diagnostics`, `settings.about` | -| `web` | 8 | `navigation.assistant`, `navigation.settings`, `assistant.direct_ai`, `assistant.relay_gateway`, `settings.general`, `settings.gateway`, `settings.appearance`, `settings.about` | +| `web` | 16 | `navigation.assistant`, `navigation.tasks`, `navigation.skills`, `navigation.nodes`, `navigation.secrets`, `navigation.ai_gateway`, `navigation.settings`, `assistant.direct_ai`, `assistant.relay_gateway`, `assistant.file_attachments`, `assistant.multi_agent`, `assistant.local_gateway`, `settings.general`, `settings.gateway`, `settings.appearance`, `settings.about` | ## Profile-only Lane @@ -38,35 +38,35 @@ | 平台 | 数量 | 相比 Profile 新增 | | --- | --- | --- | -| `mobile` | 8 | `navigation.secrets`, `workspace.mcp_server`, `workspace.claw_hub`, `assistant.multi_agent`, `settings.experimental`, `settings.experimental_canvas`, `settings.experimental_bridge`, `settings.experimental_debug` | -| `desktop` | 6 | `navigation.mcp_server`, `navigation.claw_hub`, `settings.experimental`, `settings.experimental_canvas`, `settings.experimental_bridge`, `settings.experimental_debug` | +| `mobile` | 7 | `navigation.secrets`, `workspace.mcp_server`, `assistant.multi_agent`, `settings.experimental`, `settings.experimental_canvas`, `settings.experimental_bridge`, `settings.experimental_debug` | +| `desktop` | 5 | `navigation.mcp_server`, `settings.experimental`, `settings.experimental_canvas`, `settings.experimental_bridge`, `settings.experimental_debug` | | `web` | 0 | - | ## Explicitly Suppressed | 平台 | 数量 | Flag 列表 | | --- | --- | --- | -| `mobile` | 6 | `workspace.account`, `assistant.local_runtime`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code`, `settings.agents` | -| `desktop` | 5 | `navigation.account`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code`, `settings.agents` | -| `web` | 7 | `assistant.file_attachments`, `assistant.multi_agent`, `assistant.local_gateway`, `assistant.local_runtime`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code` | +| `mobile` | 8 | `workspace.claw_hub`, `workspace.connectors`, `workspace.account`, `assistant.local_runtime`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code`, `settings.agents` | +| `desktop` | 8 | `navigation.claw_hub`, `navigation.account`, `workspace.claw_hub`, `workspace.connectors`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code`, `settings.agents` | +| `web` | 4 | `assistant.local_runtime`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code` | ## Tier Inventory ### Mobile - `stable`: `navigation.assistant`, `navigation.tasks`, `navigation.workspace`, `navigation.settings`, `workspace.skills`, `workspace.nodes`, `workspace.agents`, `workspace.ai_gateway`, `assistant.direct_ai`, `assistant.local_gateway`, `assistant.relay_gateway`, `assistant.file_attachments`, `settings.general`, `settings.workspace`, `settings.gateway`, `settings.appearance`, `settings.diagnostics`, `settings.about` -- `experimental`: `navigation.secrets`, `workspace.mcp_server`, `workspace.claw_hub`, `assistant.multi_agent`, `settings.experimental`, `settings.experimental_canvas`, `settings.experimental_bridge`, `settings.experimental_debug` -- `disabled`: `workspace.account`, `assistant.local_runtime`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code`, `settings.agents` +- `experimental`: `navigation.secrets`, `workspace.mcp_server`, `assistant.multi_agent`, `settings.experimental`, `settings.experimental_canvas`, `settings.experimental_bridge`, `settings.experimental_debug` +- `disabled`: `workspace.claw_hub`, `workspace.connectors`, `workspace.account`, `assistant.local_runtime`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code`, `settings.agents` ### Desktop - `stable`: `navigation.assistant`, `navigation.tasks`, `navigation.skills`, `navigation.nodes`, `navigation.agents`, `navigation.secrets`, `navigation.ai_gateway`, `navigation.settings`, `assistant.direct_ai`, `assistant.local_gateway`, `assistant.relay_gateway`, `assistant.file_attachments`, `assistant.local_runtime`, `settings.general`, `settings.workspace`, `settings.gateway`, `settings.appearance`, `settings.diagnostics`, `settings.about` - `beta`: `assistant.multi_agent` -- `experimental`: `navigation.mcp_server`, `navigation.claw_hub`, `settings.experimental`, `settings.experimental_canvas`, `settings.experimental_bridge`, `settings.experimental_debug` -- `disabled`: `navigation.account`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code`, `settings.agents` +- `experimental`: `navigation.mcp_server`, `settings.experimental`, `settings.experimental_canvas`, `settings.experimental_bridge`, `settings.experimental_debug` +- `disabled`: `navigation.claw_hub`, `navigation.account`, `workspace.claw_hub`, `workspace.connectors`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code`, `settings.agents` ### Web -- `stable`: `navigation.assistant`, `navigation.settings`, `assistant.direct_ai`, `assistant.relay_gateway`, `settings.general`, `settings.gateway`, `settings.appearance`, `settings.about` -- `disabled`: `assistant.file_attachments`, `assistant.multi_agent`, `assistant.local_gateway`, `assistant.local_runtime`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code` +- `stable`: `navigation.assistant`, `navigation.tasks`, `navigation.skills`, `navigation.nodes`, `navigation.secrets`, `navigation.ai_gateway`, `navigation.settings`, `assistant.direct_ai`, `assistant.relay_gateway`, `assistant.file_attachments`, `assistant.multi_agent`, `assistant.local_gateway`, `settings.general`, `settings.gateway`, `settings.appearance`, `settings.about` +- `disabled`: `assistant.local_runtime`, `settings.account_access`, `settings.vault_server`, `settings.gateway_setup_code` diff --git a/docs/releases/xworkmate-changelog.md b/docs/releases/xworkmate-changelog.md index 6d6ffcb4..c29b37bc 100644 --- a/docs/releases/xworkmate-changelog.md +++ b/docs/releases/xworkmate-changelog.md @@ -1,228 +1,40 @@ # XWorkmate Changelog -> Historical changelog normalized for `v0.1` through `v0.7`. -> Snapshot rule: prefer release tag; if no tag exists, use the release branch snapshot. -> Special case: `v0.3` is recorded from `release/v0.3` because no `v0.3` tag exists in git. +> Generated by `tool/render_release_docs.dart` +> Source manifest: [`config/feature_flags.yaml`](../../config/feature_flags.yaml) +> Generated at: `2026-03-27T13:11:11.957747` -## Release Sequence +## Git Snapshot -| Version | Date | Snapshot Ref | Branch | Version String | -| --- | --- | --- | --- | --- | -| `v0.7` | `2026-03-24` | `v0.7` | `release/v0.7` | `0.7.0+1` | -| `v0.6.1` | `2026-03-22` | `v0.6.1` | `main` hotfix | `0.6.1+1` | -| `v0.6` | `2026-03-22` | `v0.6` | `release/v0.6` | `0.6.0+1` | -| `v0.5` | `2026-03-20` | `v0.5` | `release/v0.5` | `0.5.0+1` | -| `v0.4` | `2026-03-15` | `v0.4` | `release/v0.4` | `0.4.0+2` | -| `v0.3` | `2026-03-13` | `release/v0.3` | `release/v0.3` | `latest` | -| `v0.2` | `2026-03-12` | `v0.2` | `release/v0.2` | `2026.3.11+20260311` | -| `v0.1` | `2026-03-11` | `v0.1` | `release/v0.1` | `2026.3.11+20260311` | - -## Matrix Availability - -| Version | Feature Matrix | +| 字段 | 值 | | --- | --- | -| `v0.7` | `mobile 26/18/18/6`, `desktop 26/20/19/5`, `web 8/8/8/7` | -| `v0.6.1` | `mobile 27/19/19/2`, `desktop 27/21/20/1`, `web 8/8/8/4` | -| `v0.6` | `mobile 28/19/19/1`, `desktop 28/22/21/0`, `web 8/8/8/4` | -| `v0.1` - `v0.5` | feature flag manifest not yet introduced | - -## Per-Version Log - -### `v0.7` — `2026-03-24` - -**Highlights** - -- 新增 ACP 外部接入设置页和 provider 级 endpoint 配置。 -- Single Agent 与外部 ACP 链路完成真实协议打通。 -- 持久化和打包分发路径延续收敛到文件存储布局。 - -**FIX** - -- `f1a4793` Fix Codex ACP turn payload schema -- `a734d34` Fix single-agent ACP model ownership -- `23d8974` Fix secrets settings tab assertion -- `32ef635` Fix codex external CLI availability detection with configured path -- `fbc4f55` fix(release): harden apple app store distribution - -**Refactors** - -- `82a33b8` refactor(desktop): route assistant execution through gateway ACP -- `b53b853` refactor: rename AI Gateway UI copy to LLM API -- `7540a3a` refactor(appstore): use external single-agent app-server -- `c7101bf` Remove legacy persistence implementation -- `22ceb3b` Rebuild desktop persistence as file stores - -**Issue Notes** - -- 发布说明中仍保留全量 `flutter test` 的既有失败和 macOS foreground flake。 - -### `v0.6.1` — `2026-03-22` - -**Highlights** - -- secure config / settings / secret store 的 fallback、回写和初始化逻辑进一步补齐。 -- Integrations 与 gateway profiles 被收拢到统一 settings center。 -- remote thread status fallback 修复后,线程状态回退逻辑更稳。 - -**FIX** - -- `95ae875` Fix remote thread status fallback -- `98409d1` Refine AI Gateway action buttons - -**Refactors** - -- `ffced7f` Refactor settings persistence and upgrade recovery -- `abea2b4` Integrate gateway settings into integrations page -- `72ecd1f` Unify legacy config pages into settings center -- `5d49ae3` Refactor assistant page and gateway runtime integration -- `5cab0f5` Refactor work modes and gateway profiles - -**Issue Notes** - -- 没有找到独立 hotfix issue 清单;后续 `v0.7` 区间继续处理持久化测试、外部 ACP 文案和设置交互。 - -### `v0.6` — `2026-03-22` - -**Highlights** - -- secure-storage 加密持久化正式进入主线。 -- Single Agent 本地技能发现与线程恢复补齐。 -- Web / mobile / desktop 多端可用性与 build-and-release 链路同步增强。 - -**FIX** - -- `8f655d3` Fix web chrome test isolation and session persistence -- `10717a0` fix(runtime): encrypt local settings and assistant thread persistence -- `09287cc` Fix assistant thread connection status -- `50f38e8` Fix assistant composer shell height adaptation -- `4ea4c06` Fix assistant execution target switch refresh timing - -**Refactors** - -- `7793e92` refactor: unify settings drill-in navigation -- `0d3b9b1` refactor: align multi-agent workflow with real ollama cli -- `c24f2ab` feat: add ui feature flag release docs pipeline -- `77ab128` Persist assistant state and add local recovery cleanup - -**Issue Notes** - -- release notes 明确记录:外部 CLI / Gateway 依赖环境、macOS integration 串行执行问题仍在。 - -### `v0.5` — `2026-03-20` - -**Highlights** - -- 流式 assistant 线程、任务归档与重启恢复落地。 -- 任务列表按执行目标分组。 -- Multi-Agent runtime、ARIS bundle 和 Go bridge runtime 进入可交付状态。 - -**FIX** - -- `09ef2ea` Fix settings page layout and AI Gateway persistence -- `7c98ab3` Fix AI Gateway-only assistant flow -- `41e0632` Fix assistant model routing and task naming -- `039ce2d` Fix AI Gateway-only UTF-8 chat flow -- `0438dc5` Repair codex integration test baseline - -**Refactors** - -- `4f887e4` feat: add linux desktop parity scaffolding -- `f0070c6` feat: align Windows desktop runtime with macOS parity -- `02a0f89` feat: add shared compact mobile shell -- `b9cdb7d` Add managed multi-agent collaboration runtime -- `47473e0` Integrate ARIS bundle and Go bridge runtime -- `6280e75` Stabilize ARIS packaging and Ollama Cloud settings - -**Issue Notes** - -- 发布说明明确保留:built-in Codex / Rust FFI 未交付、通用 provider 调度 UI 未完成、外部 CLI 全链路仍需人工验证。 - -### `v0.4` — `2026-03-15` - -**Highlights** - -- Assistant 成为默认主页。 -- 任务、导航、关注入口、面包屑和动态侧板整合为统一工作台。 -- external-first Codex 路线成形。 - -**FIX** - -- `430272d` fix: remove undefined _CodexBridgeCard reference to fix build -- `04b52c3` fix: resolve Rust FFI compilation errors and simplify build -- `9c47eef` fix: show assistant task rail on desktop - -**Refactors** - -- `e87df77` refactor(ui): modernize design system with consistent spacing and typography -- `8199f2a` refactor: 重命名 MCP Server 为 MCP Hub -- `f541e9e` feat(runtime): add built-in/external codex modes and external agent provider registry -- `cacdb70` feat: expand codex bridge integration and assistant workspace -- `2e467fa` feat: unify assistant sidebar and task list - -**Issue Notes** - -- 当时 release notes 已单列 `flutter analyze`、`flutter test` 和 macOS device-run 的既有失败。 - -### `v0.3` — `2026-03-13` - -**Highlights** - -- AI Gateway integration 与 UI polish 完成一轮补齐。 -- paired device 状态与桌面版面密度得到收敛。 - -**FIX** - -- `7ea6e0d` fix: simplify paired device status display -- `3dfb444` fix: trim wasted desktop page bottom spacing - -**Refactors** - -- `02a2e5c` refactor: normalize desktop typography and density -- `edd46d6` chore: unify version to v0.2 with build-date and build-id - -**Issue Notes** - -- 该版本无正式 tag,也无独立 release notes;本段基于 `v0.2..release/v0.3` 提交区间整理。 - -### `v0.2` — `2026-03-12` - -**Highlights** - -- gateway-driven assistant baseline 完成。 -- device pairing controls、diagnostics log viewer、secure shared token handling 首次落地。 - -**FIX** - -- `7a86703` fix: improve remote gateway bootstrap prefill -- `acc3a06` fix: stabilize remote gateway pairing identity - -**Refactors** - -- 该版本仍处于早期基线期,主要新增以功能交付为主,重构记录较少。 - -**Issue Notes** - -- 后续 `v0.3` 才继续补齐 AI Gateway integration polish、密度和状态展示收口。 - -### `v0.1` — `2026-03-11` - -**Highlights** - -- 初始 Flutter workspace shell 和桌面工作区结构建立。 -- tri-state sidebar、resizable layout、语言切换、macOS App Store 准备项到位。 - -**FIX** - -- `09d29f6` Fix expanded sidebar navigation layout -- `7693de2` Reduce minimum sidebar width - -**Refactors** - -- `486e9aa` Move composer actions menu to the left -- `af5098c` Polish workspace theme and add Makefile tasks -- `f179a11` Simplify expanded sidebar action tiles -- `518549b` Remove expanded sidebar header title - -**Issue Notes** - -- 后续 `v0.2` 才引入 gateway-driven assistant、诊断日志和配对能力,说明 `v0.1` 仍是 UI 与打包基线版本。 +| Branch | `codex/release-v1` | +| Head Commit | `dc1fb76` | +| Head Tags | `-` | +| Latest Tag | `v0.8` | +| Previous Tag | `v0.3` | +| Comparison Range | `v0.8..HEAD` | + +## Recent Releases + +| Version | Date | Branch | Tag | +| --- | --- | --- | --- | +| `v0.8` | `2026-03-26` | `release/v0.8` | `v0.8` | +| `v0.7` | `2026-03-24` | `release/v0.7` | `v0.7` | +| `v0.6.1` | `2026-03-22` | `release/v0.6.1` | `v0.6.1` | +| `v0.6` | `2026-03-22` | `release/v0.6` | `v0.6` | +| `v0.5` | `2026-03-20` | `release/v0.5` | `v0.5` | +| `v0.4` | `2026-03-15` | `release/v0.4` | `v0.4` | +| `v0.3` | `2026-03-26` | `release/v0.3` | `v0.3` | +| `v0.2` | `2026-03-12` | `release/v0.2` | `v0.2` | + +## Commits + +| Hash | Date | Author | Subject | +| --- | --- | --- | --- | +| `dc1fb76` | `2026-03-27` | Haitao Pan | Merge branch 'release/v0.8' into codex/release-v1 | +| `94d4deb` | `2026-03-27` | Haitao Pan | release: pin GitHub Actions to specific commits and remove Rust FFI workflow | +| `189bf69` | `2026-03-27` | Haitao Pan | Split single-agent transports by protocol | +| `ddee3ce` | `2026-03-27` | Haitao Pan | Classify single-agent endpoint modes | +| `2d1d8ec` | `2026-03-27` | Haitao Pan | Fix OpenCode single-agent ACP transport | +| `1ad60c6` | `2026-03-27` | Haitao Pan | fix: harden codex model refresh handling | diff --git a/docs/releases/xworkmate-release-notes.md b/docs/releases/xworkmate-release-notes.md index 3b09a7f8..e8220c2b 100644 --- a/docs/releases/xworkmate-release-notes.md +++ b/docs/releases/xworkmate-release-notes.md @@ -1,271 +1,52 @@ # XWorkmate Release Notes -> Curated historical release record for `v0.1` through `v0.7`. -> Sources: git tags / release branches, `CHANGELOG.md`, and `config/feature_flags.yaml` when present. -> Note: `config/feature_flags.yaml` does not exist in `v0.1` through `v0.5`, so those versions do not have a first-class feature flag matrix baseline. +> Generated by `tool/render_release_docs.dart` +> Source manifest: [`config/feature_flags.yaml`](../../config/feature_flags.yaml) +> Generated at: `2026-03-27T13:11:11.957747` -## Release Ledger +## Git Snapshot -| Version | Date | Snapshot Ref | Branch | Matrix Source | +| 字段 | 值 | +| --- | --- | +| Branch | `codex/release-v1` | +| Head Commit | `dc1fb76` | +| Head Tags | `-` | +| Latest Tag | `v0.8` | +| Previous Tag | `v0.3` | +| Comparison Range | `v0.8..HEAD` | +| Commit Count | 6 | + +## Feature Snapshot + +| 平台 | Debug | Profile | Release | Suppressed | | --- | --- | --- | --- | --- | -| `v0.7` | `2026-03-24` | `v0.7` | `release/v0.7` | `config/feature_flags.yaml` | -| `v0.6.1` | `2026-03-22` | `v0.6.1` | `main` hotfix | `config/feature_flags.yaml` | -| `v0.6` | `2026-03-22` | `v0.6` | `release/v0.6` | `config/feature_flags.yaml` | -| `v0.5` | `2026-03-20` | `v0.5` | `release/v0.5` | not yet introduced | -| `v0.4` | `2026-03-15` | `v0.4` | `release/v0.4` | not yet introduced | -| `v0.3` | `2026-03-13` | `release/v0.3` | `release/v0.3` | not yet introduced | -| `v0.2` | `2026-03-12` | `v0.2` | `release/v0.2` | not yet introduced | -| `v0.1` | `2026-03-11` | `v0.1` | `release/v0.1` | not yet introduced | +| `mobile` | 25 | 18 | 18 | 8 | +| `desktop` | 25 | 20 | 19 | 8 | +| `web` | 16 | 16 | 16 | 4 | -## Matrix Baseline +## Current Focus -| Version | Mobile D/P/R/S | Desktop D/P/R/S | Web D/P/R/S | Visible Flags R/P/D | -| --- | --- | --- | --- | --- | -| `v0.7` | `26 / 18 / 18 / 6` | `26 / 20 / 19 / 5` | `8 / 8 / 8 / 7` | `45 / 46 / 60` | -| `v0.6.1` | `27 / 19 / 19 / 2` | `27 / 21 / 20 / 1` | `8 / 8 / 8 / 4` | `47 / 48 / 62` | -| `v0.6` | `28 / 19 / 19 / 1` | `28 / 22 / 21 / 0` | `8 / 8 / 8 / 4` | `48 / 49 / 64` | +- `release` 当前面向用户暴露 53 个 UI feature flags,全部来自 `stable` tier。 +- `profile` 相比 `release` 额外开放 1 个预发布条目: `desktop.assistant.multi_agent`。 +- `debug` 相比 `profile` 额外开放 12 个实验条目: `mobile.navigation.secrets`, `mobile.workspace.mcp_server`, `mobile.assistant.multi_agent`, `mobile.settings.experimental`, `mobile.settings.experimental_canvas`, `mobile.settings.experimental_bridge`, `mobile.settings.experimental_debug`, `desktop.navigation.mcp_server`, `desktop.settings.experimental`, `desktop.settings.experimental_canvas`, `desktop.settings.experimental_bridge`, `desktop.settings.experimental_debug`。 -## Version Notes +## Commit Highlights -### `v0.7` — `2026-03-24` +### Fixes -**Feature Matrix** +- `2d1d8ec` Fix OpenCode single-agent ACP transport +- `1ad60c6` fix: harden codex model refresh handling -- `release` 可见 45 个 flags,`profile` 46 个,`debug` 60 个。 -- 相比 `v0.6.1`,`release` 少 2 个、`debug` 少 2 个,重点是收敛实验入口和未完备设置项。 +### Build / Release -**Highlights** +- `94d4deb` release: pin GitHub Actions to specific commits and remove Rust FFI workflow -- 新增 `ACP 外部接入`,为 `Codex / OpenCode / Claude / Gemini` 提供独立 endpoint 配置。 -- Single Agent 外部 ACP 模式改为显示 ACP 实际运行时模型,不再错误复用本地 LLM API 模型。 -- Codex ACP `thread/start` / `turn/start` / `input` item 协议打通,真实 WebSocket 任务链路可用。 -- 文件持久化布局稳定为 `settings.yaml`、`tasks/*.json`、`secrets/*.secret`。 +### Merges -**Fixes** +- `dc1fb76` Merge branch 'release/v0.8' into codex/release-v1 -- 修复 Codex ACP turn payload schema。 -- 修复 single-agent ACP 模型归属。 -- 修复 secrets settings tab assertion 和外部 CLI 可用性检测。 -- 修复 macOS package build state reset,继续加固 App Store 分发。 +### Other -**Refactors** +- `189bf69` Split single-agent transports by protocol +- `ddee3ce` Classify single-agent endpoint modes -- assistant 执行链路切到 gateway ACP。 -- `AI Gateway` UI 文案统一收口到 `LLM API` / `Single Agent`。 -- 外部 single-agent app-server 用于 App Store 分发路径。 - -**Known Issues** - -- `flutter test` 全量仍有既有失败:`assistant_page_test` 的 pending timer 与 `modules_page_test` 的重复文案断言。 -- macOS device-run 仍可能触发 `Failed to foreground app; open returned 1`,需要串行执行并配合人工检查。 - -### `v0.6.1` — `2026-03-22` - -**Feature Matrix** - -- `release` 可见 47 个 flags,`profile` 48 个,`debug` 62 个。 -- 相比 `v0.6`,矩阵整体略有收口,重点是把账号等未完备入口继续降级或关闭。 - -**Highlights** - -- `SecureConfigStore`、`SettingsStore`、`SecretStore` 补齐标准目录 fallback 与首次启动目录准备。 -- 持久化改为默认 fail-fast,避免数据库或路径异常时静默退回内存。 -- 显式内存 fallback 模式补齐“尽力回写”。 -- `mobile.workspace.account` 与 `desktop.navigation.account` 被关闭为 `experimental` 且 `enabled: false`。 - -**Fixes** - -- 修复 remote thread status fallback。 -- 补齐路径失败报错与跨实例持久化回归覆盖。 -- 收紧 Gateway settings 的动作按钮与集成入口切换。 - -**Refactors** - -- settings persistence / upgrade recovery 重构。 -- gateway settings 并入 Integrations 页。 -- 旧配置页统一并入 settings center。 -- assistant 页面、gateway runtime、work mode / profile 结构重构。 - -**Known Issues** - -- 没有找到独立的 `v0.6.1` issue 列表;从后续 `v0.7` 提交可见,持久化测试基线、外部 ACP 文案和设置交互在该版本后仍继续修整。 - -### `v0.6` — `2026-03-22` - -**Feature Matrix** - -- `release` 可见 48 个 flags,`profile` 49 个,`debug` 64 个。 -- `desktop` 在 `debug` 下暴露 28 个可见条目,是当时最完整的平台面。 - -**Highlights** - -- 本地配置、Gateway 凭证与 Assistant 线程会话改为 secure-storage 驱动的加密持久化。 -- Single Agent 线程补齐本地技能自动发现与线程内可选技能恢复。 -- Flutter Web assistant shell、Web Chrome 持久化、移动端安全控件一并补齐。 -- Windows / Linux parity、多平台 build-and-release、macOS 安装分发流程完成一轮系统化增强。 - -**Fixes** - -- 修复 web chrome test isolation 和会话持久化。 -- 修复 assistant thread connection status、composer shell 高度自适应、execution target 切换刷新时序。 -- 修复运行时本地 settings 与 assistant thread persistence 的加密持久化实现。 - -**Refactors** - -- 新增 UI feature flag release docs pipeline。 -- settings drill-in navigation 与多智能体工作流按真实 ollama CLI 统一。 -- assistant composer shell sizing、local recovery cleanup、IA 文档一并梳理。 - -**Known Issues** - -- 外部 CLI / 远程 Gateway 协同仍依赖宿主安装和网络可达性,需要按 case 文档补人工验收。 -- macOS integration 测试仍可能受到宿主前台拉起行为影响,需要串行执行。 - -### `v0.5` — `2026-03-20` - -**Feature Matrix** - -- `config/feature_flags.yaml` 尚未进入仓库,无法回放标准化的 D/P/R/S 矩阵。 -- 该版本的“功能矩阵”主要体现在运行模式与平台面扩展,而不是 feature flag 清单。 - -**Highlights** - -- Assistant 线程升级为持续会话,支持流式回复、继续追问、线程归档与重启恢复。 -- 任务列表按 `Single Agent / 本地 OpenClaw Gateway / 远程 OpenClaw Gateway` 分组。 -- Multi-Agent 协作升级为 `Architect / Engineer / Tester`,并可挂载 `ARIS`。 -- ARIS bundle 与 Go runtime 被内嵌到 App 分发链路。 - -**Fixes** - -- 修复 AI Gateway-only assistant flow、模型路由、任务命名与 UTF-8 chat flow。 -- 修复 settings page layout 与 AI Gateway persistence。 -- 修复 codex integration test baseline。 - -**Refactors** - -- Linux / Windows / Android parity 支线合回主线。 -- 桌面 workspace chrome、typography density、gateway dialog、theme surface 做了一整轮压缩与统一。 -- assistant execution target、task list grouping、multi-agent runtime 与 ARIS bridge 被整体重组。 - -**Known Issues** - -- 内置 Codex / Rust FFI 仍未交付,仍是 placeholder。 -- 通用外部 Code Agent provider chooser / 调度 UI 尚未落地。 -- 外部 CLI 全链路协作仍建议按 `docs/cases/README.md` 做手动验证。 - -### `v0.4` — `2026-03-15` - -**Feature Matrix** - -- `config/feature_flags.yaml` 尚未引入。 -- 该版本更适合用“桌面工作台结构矩阵”理解:Assistant 成为默认主页,任务、导航、收藏入口和面包屑完成统一。 - -**Highlights** - -- Assistant 成为默认主页,首页围绕默认任务工作台展开。 -- 左侧侧板统一为 `任务 / 导航` 加关注入口,支持折叠、拖拽和动态宽度。 -- 任务列表与当前对话打通,会话默认作为任务上下文持续保留。 -- Codex 路线明确为 external-first,经由 XWorkmate 与 OpenClaw Gateway 协同。 - -**Fixes** - -- 修复 undefined `_CodexBridgeCard` 构建错误。 -- 修复 Rust FFI 编译错误并简化构建。 -- 修复桌面 assistant task rail 显示。 - -**Refactors** - -- 现代化 design system、统一 spacing 与 typography。 -- 左侧边栏导航结构、MCP Hub 命名、assistant focused navigation、favorites 与 breadcrumbs 整体重构。 -- built-in / external Codex modes 和 external agent provider registry 在该版本区间内成形。 - -**Known Issues** - -- `flutter analyze` 仍受 `test/runtime/codex_integration_test.dart` 的既有编译问题影响。 -- `flutter test` 仍有 settings、mode switcher、Codex bridge 相关既有失败。 -- macOS device-run 集成用例仍不稳定。 - -### `v0.3` — `2026-03-13` - -**Feature Matrix** - -- `config/feature_flags.yaml` 尚未引入。 -- 可确认的功能面来自 `v0.2..release/v0.3` 提交区间,而不是标准 feature flag 快照。 - -**Highlights** - -- 补齐 AI Gateway integration 与一轮桌面 UI polish。 -- paired device 状态展示进一步简化。 -- 版本号统一为 `v0.2` marketing 体系并补 build-date / build-id。 - -**Fixes** - -- 修复 paired device status display。 -- 修复桌面页面底部空白过大问题。 - -**Refactors** - -- 桌面 typography 与 density 规范化。 - -**Known Issues** - -- 推断:该版本尚未包含 `v0.4` 才形成的 built-in / external Codex mode、任务工作台整合与侧栏收藏体系。 -- 推断:尚未形成正式 release notes / issue 清单流程。 - -### `v0.2` — `2026-03-12` - -**Feature Matrix** - -- `config/feature_flags.yaml` 尚未引入。 -- 该版本以 Gateway-driven assistant baseline 为中心,而非 feature flag 管理模型。 - -**Highlights** - -- 完成 gateway-driven assistant baseline。 -- 新增 gateway device pairing controls。 -- 新增 runtime diagnostics log viewer。 -- 引入 secure gateway shared token handling。 - -**Fixes** - -- 改善 remote gateway bootstrap prefill。 -- 稳定 remote gateway pairing identity。 - -**Refactors** - -- 版本号与 build-date / build-id 体系在下一版本区间被统一,说明此版本仍处于早期打包策略磨合阶段。 - -**Known Issues** - -- 推断:AI Gateway integration UI polish、设备状态精简与桌面 density 规范化仍未完成,这些能力在 `v0.3` 才落地。 -- 推断:尚未引入正式 release docs 与 feature matrix 工具链。 - -### `v0.1` — `2026-03-11` - -**Feature Matrix** - -- `config/feature_flags.yaml` 尚未引入。 -- 该版本是桌面 workspace shell 基线,记录方式以 UI 结构和打包准备为主。 - -**Highlights** - -- 建立 Flutter workspace shell 与初始桌面工作区结构。 -- 增加 assistant access controls、桌面窗口最大化与全局中英语言切换。 -- 完成 tri-state sidebar、resizable workspace layout 和一轮主题打磨。 -- 补齐 macOS App Store release workspace 与 category metadata。 - -**Fixes** - -- 修复 expanded sidebar navigation layout。 -- 降低 sidebar 最小宽度并压缩 expanded sidebar 宽度。 - -**Refactors** - -- composer actions menu 左移。 -- expanded sidebar footer、action tiles、header title 进行了一整轮收口简化。 -- theme 与 Makefile tasks 一并整理,形成最初的工程基线。 - -**Known Issues** - -- 推断:Gateway-driven assistant、设备配对、诊断日志、secure token handling 仍未进入产品面,这些能力在 `v0.2` 才补齐。 -- 推断:尚未形成 release docs、feature flags 与版本 issue 清单机制。 diff --git a/ios/Podfile b/ios/Podfile index 3e71e61b..a3fdbfac 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -38,5 +38,14 @@ end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) + + next unless ['mobile_scanner', 'Pods-Runner', 'Pods-RunnerTests'].include?(target.name) + + target.build_configurations.each do |config| + # mobile_scanner and the generated Pods aggregate targets exclude arm64 + # simulators upstream, which breaks Apple Silicon simulator builds with + # missing module / missing Pods_Runner.framework errors. + config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'i386 armv7' + end end end diff --git a/ios/Podfile.lock b/ios/Podfile.lock index b2fe6177..fa59f7f9 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -132,6 +132,6 @@ SPEC CHECKSUMS: shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb super_native_extensions: b763c02dc3a8fd078389f410bf15149179020cb4 -PODFILE CHECKSUM: 07de65af562856e27e5951c84a3a6721564f5f7f +PODFILE CHECKSUM: 18611600007ab4a15dd4fb907f17ed9b6a3dcf8f COCOAPODS: 1.16.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index efc7d0bf..328ac293 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -12,12 +12,12 @@ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; }; - 790F5BD2C520842BBA31950C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E65220C02DE80AF75C238E /* Pods_Runner.framework */; }; - 7F0C4AAE0C8458F9E652862D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29ABF973925162A04B6C3BE4 /* Pods_RunnerTests.framework */; }; 8E6F4A7B31A1A00100A1B2C3 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 8E6F4A7A31A1A00100A1B2C3 /* PrivacyInfo.xcprivacy */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + C167A1AB09343D4EB56AFC99 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB72914F599C9A9E968627AE /* Pods_RunnerTests.framework */; }; + F87A05C7664E669054CD7806 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87C5BF611DEA97F962A40DE6 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -47,17 +47,16 @@ 0487F8F13EC45C6415C95830 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 29ABF973925162A04B6C3BE4 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 5F3CEBB371E303502F97E3AF /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 63E65220C02DE80AF75C238E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 6F7F3E8560328201A387268D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 87C5BF611DEA97F962A40DE6 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8E6F4A7A31A1A00100A1B2C3 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; @@ -69,6 +68,7 @@ B27AED20530F821AAED761A6 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; C5A912E2341FE0CDAD96A83D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; D3CF817B24EF36A08CB101E8 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + FB72914F599C9A9E968627AE /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -76,7 +76,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 790F5BD2C520842BBA31950C /* Pods_Runner.framework in Frameworks */, + F87A05C7664E669054CD7806 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -84,7 +84,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7F0C4AAE0C8458F9E652862D /* Pods_RunnerTests.framework in Frameworks */, + C167A1AB09343D4EB56AFC99 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -115,8 +115,8 @@ 7FD1E5B4FE9AE2856B1508FD /* Frameworks */ = { isa = PBXGroup; children = ( - 63E65220C02DE80AF75C238E /* Pods_Runner.framework */, - 29ABF973925162A04B6C3BE4 /* Pods_RunnerTests.framework */, + 87C5BF611DEA97F962A40DE6 /* Pods_Runner.framework */, + FB72914F599C9A9E968627AE /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -203,8 +203,8 @@ 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 27AFB904204079358CDFFDBC /* [CP] Embed Pods Frameworks */, DD975FF86A4295D90BA173B0 /* [CP] Copy Pods Resources */, + F190BC0EA83544A81E2F67D3 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -277,23 +277,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 27AFB904204079358CDFFDBC /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n/bin/sh \"${PROJECT_DIR}/../scripts/ensure-framework-dsyms.sh\"\n"; - showEnvVarsInLog = 0; - }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -386,6 +369,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + F190BC0EA83544A81E2F67D3 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/pubspec.yaml b/pubspec.yaml index a44b5da4..fda209f3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,9 +2,9 @@ name: xworkmate description: "XWorkmate desktop-first AI workspace shell." publish_to: 'none' -version: 0.8.0+1 -build-date: 2026-03-20 -build-id: 4183a40 +version: 1.0.0+1 +build-date: 2026-03-27 +build-id: dc1fb76 environment: sdk: ^3.11.0