Skip to content

chore(release): prepare 0.2.1 - #6077

Merged
Astro-Han merged 5 commits into
mainfrom
chore/release-0.2.1
Oct 12, 2026
Merged

Astro-Han merged 5 commits into
mainfrom
chore/release-0.2.1

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Prepare the next Apache Maka source release as 0.2.1. Align the root, Desktop, CLI and lockfile versions, and summarize changes since the approved 0.2.0 RC2 source. Preserve that candidate's historical changelog content and correct its release date to 2026-10-08; keep 0.2.1 marked Unreleased until publication.

Refs #6019 and #6074.

Release and ACP subprocess tests now derive repository-dependent versions from the manifests. Bumping the product version exposed 13 Nightly fixture failures and an ACP initialization assertion that still expected 0.2.0; pure version-comparison fixtures and production version guards are unchanged.

The Windows packaged app failed at startup because the main-process WorkHub bridge imported a renderer helper excluded by the existing package file rules. Move its unchanged association readers into the existing shared Session projection module, update both consumers and delete the renderer-only helper. The artifact verifier now checks relative runtime imports as well as external package dependencies. Retain the beginning and end of startup stderr so later IPC errors cannot hide the initial failure.

Upgrade notes

Document coordinated Desktop/CLI/Host upgrades (compatibility epoch 217), connection-catalog schema v3 and backup requirements for rollback, consistent sender-list enforcement across channels, and opt-in archived-task retention. The WorkHub repair restores packaged startup without changing association behavior, protocol or storage formats.

Verification

  • Latest PR CI is green at 0e79a7984601365b39c6a4da20841eb92944b03a: main test run and Windows package run, including the original startup gate, upgrade/uninstall, automatic update and mid-install rollback. All other executed PR checks passed; the existing CLI Eval lane was skipped.
  • Product version identity passed; the lockfile diff contains only the four intended version entries.
  • All 215 tests in npm run check:release, 27 WorkHub remote bridge/choice tests and 17 ACP child-process tests passed; the 94 ASF source-check tests also passed during initial preparation. The full workspace build passed for the version fixture repair; Desktop was rebuilt and type-checked after the WorkHub move.
  • Format, lint and diff checks passed.
  • All 76 packaged-app and Windows-harness tests passed. The new actual-ASAR regression fails against the old verifier and passes with the relative-import check. Compiled runtime imports were checked independently against the actual Windows package file policy with the Babel parser. Renderer architecture checks pass, including the ratchet against the base main commit; the surface inventory is unchanged and Knip passes.
  • Production dependency audit passed the moderate-or-higher gate; npm reports three existing low-severity findings (DOMPurify/KaTeX/Mermaid).
  • Created and verified an unsigned 0.2.1 source archive from commit 0e79a7984601365b39c6a4da20841eb92944b03a; independently reproduced its source payload and audited headers in a fresh extraction.
  • Full repository tests and local E2E were not run. Normal PR CI and the existing source-candidate workflow own those checks.

RC preparation

After independent committer review, merge and green CI on the exact main commit, dispatch asf-source-candidate.yml with version 0.2.1. The release manager then verifies the workflow artifact, signs and stages RC1, and starts the normal PPMC/IPMC votes under .github/ASF_SOURCE_RELEASE.md. The local unsigned archive is a preflight check; signing and staging use the verified workflow artifact.

AI use

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Codex prepared version metadata, changelog, version-dependent test fixtures, the packaged WorkHub repair, artifact verification and release checks. The commits include Generated-by: Codex.

Checklist

  • Tests cover the change and fail without it — reproduced the 13 Nightly failures, ACP initialization version assertion and Windows startup failure; the new archive regression fails against the old verifier.
  • Lint, format and the affected suites pass locally; the changed CLI test is type-checked by the CLI build.

Does this PR entail a change in behavior?

  • Yes — restores packaged Desktop startup; described under Summary above
  • No

Generated-by: Codex
@github-actions github-actions Bot added the effort/S Under 100 readable lines label Oct 12, 2026
@Astro-Han
Astro-Han marked this pull request as ready for review October 12, 2026 04:38

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review notice: This comment was posted by an automated review agent. It is not an independent human review and does not replace one.

I reviewed the release metadata, changelog, version-dependent tests and packaged-startup diagnostic change at a0ac086753bff037fc795eb762c12e1e65a0f6f8. I found no confirmed P0–P2 defect in this diff.

The root, Desktop and CLI manifests all identify 0.2.1. The lockfile changes exactly four version values and no dependency resolution. The 0.2.0 changelog body exactly matches v0.2.0-incubating-rc2; its corrected date agrees with the official downloads page. The new section remains Unreleased. The upgrade notes correctly identify compatibility epoch 217 and connection-catalog schema 3. This PR does not change either protocol or database schema.

LICENSE, NOTICE, DISCLAIMER-WIP, attribution inventories and release workflows are unchanged. I created and verified an unsigned 0.2.1 source archive from this exact commit, independently reproduced its source tar payload, and audited its clean extraction: 4,368 covered files and 254 reviewed exclusions. Release identity checks reject a mismatched Desktop or CLI version. This is a source preflight, not a license/provenance vote, signature, staged RC or published release. The existing source-candidate workflow requires main and the requested manifest version; the runbook still requires exact-commit green CI and human release approval before signing and voting.

Local verification passed: fresh lockfile installation and dependency patches; the normal workspace test build followed by the complete Desktop renderer build; check:release (213 passed, one platform skip); 17 ACP child-process tests; 73 source/legal/workflow tests; 44 Windows-harness contract tests; changed-file Biome checks and diff checks. The pure version-comparison fixtures and production version guards remain intact. I also exercised the actual packaged-renderer verifier with failing child processes emitting short stderr and more than 50 KB of repeated stderr: both the initial failure marker and final marker survive. That verifies diagnostics, not Windows application startup.

CI needs a separate qualification: the previous Windows run at 467d6f31 failed while waiting for a usable packaged renderer. It reported a small native window and repeated missing IPC-handler errors, but its truncated stderr omitted the initial startup error. This head adds diagnostic retention; it does not repair startup. Desktop/Host startup source and dependency resolutions are identical to the base, but I have not reproduced the failure on that exact base on Windows, so I cannot establish its cause or label it PR-induced. The older successful main Windows run was at 16a8f5b, not this PR's base, and is not a sufficient control.

At my latest check, the current Windows run, main test run and Linux package run were still in progress. Several other checks had succeeded; that is not an all-green result. The release-preparation diff merges cleanly with main at 27a9d05, but the exact current checks and Windows startup question must be settled before calling it ready. I did not run native Windows/macOS packaging, the full repository tests or Desktop E2E, dispatch a release workflow, sign anything or publish an artifact.

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review notice: This comment was posted by an automated review agent. It is not an independent human review and does not replace one.

I reviewed the increment from a0ac0867 to 0e79a7984601365b39c6a4da20841eb92944b03a. It fixes the identified packaged-Windows startup failure, and I found no new P0–P2 issue in the increment.

The failed run at a0ac0867 now exposes the initial error: ERR_MODULE_NOT_FOUND for dist/renderer/application/contracts/workhub-topic-association.js, imported by dist/main/workhub-remote-bridge.js. The package policy excludes that renderer subtree. That dependency and policy were already present in the PR's base; the version bump did not create them. The later missing IPC-handler errors were consequences of bootstrap failure, not its cause.

Both consumers now import the existing shared Session projection module. I compared the moved association implementation byte-for-byte with the old helper; its receipt validation, Session-key validation and clearing behavior are unchanged. The compiled shared module depends only on the shipped identity helper. Independently applying the actual file matcher to the fresh Desktop build and parsing the selected JavaScript with Babel found all targets for 394 relative imports across 266 selected modules. The old renderer path is excluded and the new shared path is included.

The verifier change is appropriate for this failure: it resolves relative specifiers using archive paths and checks the target in the actual ASAR, while retaining external-package closure, shipped-notice/license, version and startup checks. My real-ASAR fixtures accepted the compiled shared closure and rejected both an omitted shared module and the old excluded-renderer dependency. Loading the previous verifier against the same bad archives accepted them, demonstrating the previous coverage gap. These fixtures use controlled package inventories; they are not independently built Windows installers. The verifier's literal-import scan is not a complete resolver for computed runtime paths.

Fresh installation, dependency patches, the normal workspace test build and complete Desktop build passed. Five complete WorkHub/Session-projection suites passed 49 tests; packaged-app/Windows-harness suites passed 76; check:release passed 214 with one platform skip. All four Desktop typechecks, changed-file Biome, strict renderer architecture against the base and diff checks passed.

The exact-head Windows run succeeded, including packaged renderer startup, upgrade/uninstall, automatic update and rollback verification. The exact-head main CI run also succeeded; the reported optional CLI Eval job was skipped. This increment changes no version metadata, protocol or database schema, and merges cleanly with fetched main at fd93d6e with epoch 217 unchanged. I did not run native Windows packaging locally, the full repository suite or Desktop E2E, nor rebuild/sign/stage a source candidate at this new head. Release acceptance still belongs to the human review and verified final-main candidate process.

@me2seeks me2seeks left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated code review by Codex, submitted at the user’s explicit request. This is not an independent human release review.

Reviewed all 16 changed files at 0e79a79. No blocking correctness or regression issue found.

Independently confirmed that the WorkHub association implementation moved unchanged, both consumers use the shipped shared module, and its runtime dependency is the shared identity helper. The archive verifier now checks relative runtime import targets in the actual ASAR, with a missing/present-target regression; startup diagnostics retain the beginning and end of stderr.

Root, Desktop and CLI versions agree at 0.2.1. The lockfile changes only four version fields, with no dependency resolution changes. The historical 0.2.0 changelog body matches v0.2.0-incubating-rc2; 0.2.1 remains Unreleased. Compatibility epoch notes match 176 in RC2 and 217 in this head. Product release identity and diff checks passed locally.

Verified exact-head CI success, including release contracts, affected workspace tests, Runtime Host tests, Linux packaging and Windows release verification, upgrade/uninstall, automatic update and mid-install rollback. The optional installed CLI Eval job was skipped. There are no unresolved review threads. I did not rerun the repository test suites or native packaging locally.

Approval covers this PR’s code changes. Final source-candidate verification and release acceptance follow the existing release process.

@Sun-GLiang Sun-GLiang left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codex-assisted review; this does not replace independent human approval.

Reviewed all 16 changed files at 0e79a7984601365b39c6a4da20841eb92944b03a. I found no blocking correctness or regression issue in this diff.

Verified:

  • Root, Desktop and CLI versions agree at 0.2.1. The lockfile changes exactly four version fields, with no dependency resolution changes. The historical 0.2.0 changelog body matches v0.2.0-incubating-rc2; its date agrees with the official downloads page, and 0.2.1 remains Unreleased. The upgrade notes match compatibility epochs 176 → 217 and connection-catalog schema v3.
  • The WorkHub association implementation moved unchanged, and both consumers now import the shipped shared module. Applying the Windows package file rules to the fresh build and parsing the selected JavaScript found all targets for 396 relative imports across 266 modules.
  • The new actual-ASAR regression fails against the base verifier and passes with this change. Separate failing-process probes confirmed that both the initial and final stderr markers survive short and 50 KB output. The verifier still scans literal imports; it is not a general runtime resolver.

Local validation passed: workspace test build, complete Desktop build, all four Desktop typechecks, check:release (215/215 in the main test suite), 64 WorkHub/Session-projection/ACP tests, 98 selected Nightly/packaged-app/Windows-harness tests, changed-file Biome checks and git diff --check. These suite counts overlap. The first full release check hit a Node test-runner deserialization error; the affected suite and the subsequent full run passed without source changes.

The exact-head main CI and Windows package CI succeeded, including Windows release verification, upgrade/uninstall, automatic update and rollback. The optional CLI Eval job was skipped. I did not run the full repository suite, native packaging or Desktop E2E locally, or independently create/sign/stage a source candidate. Final release qualification should use the verified candidate from the exact merged main commit.


本次审查由 Codex 辅助完成,不替代独立的人工批准。

已审查 0e79a7984601365b39c6a4da20841eb92944b03a 的全部 16 个变更文件,未发现本次改动引入的阻塞性正确性问题或回归。

已确认:

  • 根目录、Desktop 和 CLI 的版本统一为 0.2.1;lockfile 仅修改四处版本字段,没有依赖解析变化。0.2.0 的历史 changelog 正文与 v0.2.0-incubating-rc2 一致,日期与官方下载页一致,0.2.1 保持 Unreleased。升级说明中的兼容性 epoch 176 → 217 和连接目录 schema v3 与代码一致。
  • WorkHub 关联逻辑迁移前后保持一致,两个调用方均改为引用会被打包的 shared 模块。对新构建应用 Windows 打包文件规则,再解析选中的 JavaScript,确认 266 个模块中的 396 处相对导入目标均包含在打包文件中。
  • 新增的实际 ASAR 回归测试在基线 verifier 上失败,在当前版本通过。另用失败子进程验证了短输出及 50 KB stderr,首尾诊断标记均保留。verifier 仍只扫描字面量导入,并非通用的运行时模块解析器。

本地验证通过:工作区测试构建、完整 Desktop 构建、Desktop 四组类型检查、check:release(主测试集 215/215)、64 项 WorkHub/Session 投影/ACP 测试、98 项选定的 Nightly/打包应用/Windows harness 测试、变更文件 Biome 检查及 git diff --check。这些测试集有重叠,不应累加计数。首次完整发布检查遇到 Node 测试运行器反序列化错误;未修改源码,相关测试单独重跑及随后完整重跑均通过。

该提交的主 CI 和 Windows 打包 CI 均成功,后者包含 Windows 发布验证、升级/卸载、自动更新及回滚;可选 CLI Eval 任务跳过。本地未运行全仓测试、原生打包或 Desktop E2E,也未独立创建、签名或暂存源码候选包。最终发布验证仍应针对合并到 main 后的准确提交所生成并核验的候选包进行。

@Astro-Han
Astro-Han merged commit 6ffa203 into main Oct 12, 2026
19 checks passed
@Astro-Han
Astro-Han deleted the chore/release-0.2.1 branch October 12, 2026 08:08
@liugddx

liugddx commented Oct 12, 2026

Copy link
Copy Markdown
Member

Post-merge review of 0e79a7984 (merged as 6ffa2030d). The release preparation checks out:

  • Versions: the root, Desktop and CLI manifests are at 0.2.1, and the lockfile changes only the four version entries. The only remaining 0.2.0 strings are fixed Storybook fixture values and unrelated Cargo dependency versions.
  • WorkHub startup repair: the moved association readers match the deleted renderer helper line for line, plus one import, and no importer of the old path remains. The other main-to-renderer import (cursor-overlay-window.ts, which imports computer-use-overlay) is covered by the explicit dist/renderer/computer-use-overlay/** include in electron-builder.config.mjs:111-112.
  • Verifier: it now resolves relative specifiers against the actual ASAR, and the stderr head and tail retention looks right.
  • Release facts: the 0.2.0 date matches the downloads page (2026-10-08), and epoch 217 is correct (176 at RC2).

One gap in the changelog. All 40 referenced PRs are in range, but a few user-facing changes since v0.2.0-incubating-rc2 are missing: #5957, a behaviour change to manual archive; #5906, which cleared advisories in shipped dependencies; and #5890, #5986, #6041 and #5274. #6079 adds them to the Unreleased 0.2.1 section. @Astro-Han, could that land before asf-source-candidate.yml is dispatched for RC1?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/S Under 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants