Releases: openpi-dev/openpi
Releases · openpi-dev/openpi
Release list
OpenPI 0.5.0
What's Changed
- fix(plan): route diff inspection through safe git tools by @CuSO41108 in #91
- fix(workflow): fall back on malformed render details by @tt-a1i in #102
- fix(tui): mute activity truncation ellipses by @tt-a1i in #103
- fix(workflows): freeze settled launch cards by @tt-a1i in #104
- feat(tui): unify child transcript rendering by @tt-a1i in #106
- fix(tui): open workflow children as full pages by @tt-a1i in #113
- fix(tui): align child transcript messages with Pi by @tt-a1i in #120
- fix(ui): use Pi-native child tool renderers by @tt-a1i in #122
- fix(ui): make child session pages read-only by @tt-a1i in #123
- fix(capabilities): recognize leading Chinese delegation by @tt-a1i in #124
- fix(workflows): fail closed on unknown persisted states by @tt-a1i in #125
- docs(readme): refresh OpenPI launch hero by @tt-a1i in #133
- docs(readme): explain the OpenPI launch promises by @tt-a1i in #135
- fix(workflows): preserve pending result deliveries by @tt-a1i in #134
- fix(setup): keep post-edit explicitly opt-in by @tt-a1i in #137
- fix(workflows): bound structured result artifacts by @tt-a1i in #138
- docs(readme): link the launch site by @tt-a1i in #142
- fix(workflows): bound handoff metadata budgets by @testikun in #143
- fix(workflows): reject missing assistant responses by @somewan820 in #146
- refactor: isolate workspace cleanup guard by @sunsunsun-java in #145
- refactor(setup): keep footerLines as the canonical footer state by @sunsunsun-java in #144
- fix(workflows): reject lossy oversized args by @testikun in #200
- refactor(setup): remove pi-intercom ownership by @sunsunsun-java in #148
- fix(workflows): make agent startup abortable by @CuSO41108 in #147
- refactor: 删除发布代码中的 test-only compatibility facades by @sunsunsun-java in #141
- 清理冗余的 extension 级 TypeScript 配置 by @sunsunsun-java in #140
- refactor(test): move suites into top-level tests directory by @somewan820 in #151
- fix(workspace-cleanup-guard): block opaque rm targets by @sowen1023 in #201
- test(subagents): bound manager status waits by @duanyuanzhe in #204
- fix(sessions): bound preview loading and cache by @Sun-GLiang in #206
- fix(workflows): bound stalled provider turns by @sowen1023 in #205
- perf(sessions): bound Git stats to visible rows by @tt-a1i in #214
- docs: add pull request template by @tt-a1i in #215
- perf(subagents): stop retained child Git polling by @tt-a1i in #216
- perf(workflows): incrementally project child progress by @tt-a1i in #217
- fix(setup): reject oversized post-edit commands by @duanyuanzhe in #203
- fix(setup): make episode closure observable by @tt-a1i in #209
- ci: add npm release workflow by @junwu168 in #227
- fix(workflows): make terminal delivery recoverable by @somewan820 in #208
- docs: document linear git history by @somewan820 in #221
- fix(background-terminals): harden output and process lifecycle by @somewan820 in #149
- fix(file-search): define BinaryDownloadError and consolidate Effect layer provides (#170) by @hasak21 in #230
- chore: add release managers as workflow owners by @tt-a1i in #273
- chore: migrate canonical repository identity by @tt-a1i in #275
- ci: pin workflow actions by commit SHA by @tt-a1i in #276
- fix(workflows): persist late worktree cleanup provenance by @onychen in #237
- feat(ci): notify Feishu for new pull requests by @junwu168 in #270
- docs(workflows): clarify acceptance requiredEvidence type, limits, and usage (#207) by @hasak21 in #223
- fix(workflows): reject failed acceptance during replay by @REI-330 in #225
- perf(tui): index transcript tool pairing by @liwen-aaa in #232
- fix(subagents): surface worktree cleanup failures by @627150795 in #258
- perf(model-info): incrementally aggregate session metrics by @Sun-GLiang in #210
- fix(workflows): bound settled run retention by @627150795 in #233
- fix(context-pivot): clarify native no-history failures by @627150795 in #235
- feat(contract): mechanize config provenance checks by @627150795 in #242
- ci: centralize shared GitHub automation by @junwu168 in #279
- fix(tui): stop settled strip redraw timers by @6iKUN6 in #220
- ci: label pull requests by ownership area by @junwu168 in #289
- test(workflows): cover canonical agent result handoffs by @yxr-2025 in #286
- docs: adopt knowledge and evidence governance by @tt-a1i in #290
- fix(setup): query Windows process start times by @qwertvgty in #218
- fix(workflows): simplify completed workflow UI without losing delivery evidence by @yxr-2025 in #283
- feat(tui): unify child tool activity views by @6iKUN6 in #292
- fix(workflows): bound settled run retention by @smf-h in #239
- fix(subagents): separate result display projection by @627150795 in #240
- perf(workflows): skip binary diff for ignored repositories by @samsen3 in #298
- docs(workflows): clarify evidence-free acceptance criteria by @627150795 in #229
- fix(cron): reject oversized prompts by @SSK988I in #297
- fix(issue-69): repair package docs and CRLF folding by @627150795 in #231
- feat: 空输入时用 Ctrl+C 清除上下文 by @somewan820 in #281
- perf: skip parent-only workflow extensions in child sessions by @Sun-GLiang in #224
- fix(workflows): deprecate background launch alias by @sunsunsun-java in #139
- fix(suggestions): enforce safe ghost IME reservation by @smf-h in #228
- perf(workflows): append replay journal incrementally by @testikun in #318
- test(skills): preserve native Pi loading and session lifecycle by @sowen1023 in #322
- fix(repo): enforce LF checkouts across platforms by @yxr-2025 in #302
- fix(subagents): harden Pi adapter lifecycle by @CuSO41108 in #219
- fix(workflows): enforce sandbox execution timeout across async continuations (#285) by @hasak21 in #287
- fix(workflows): enforce text projection line bounds by @JuiXiang in #331
- feat(web): introduce initial external Web workbench framework by @somewan820 in #326
- feat(web): add Pi-native /web launcher by @tt-a1i in #337
- chore(release): 0.5.0 by @tt-a1i in #339
New Contributors
- @CuSO41108 made their first contribution in #91
- @testikun made their first contribution in #143
- @somewan820 made their first contribution in #146
- @sunsunsun-java made their first contribution in #145
- @sowen1023 made their first contribution in #201
- @duanyuanzhe made their first contribution in #204
- @Sun-GLiang made their first contribution in #206
- @Junw...
OpenPI 0.4.0
What's Changed
- feat: polish OpenPI UI and stabilize delegate tools by @tt-a1i in #52
- feat(ui): dock pickers above the input and unify subagent status chrome by @tt-a1i in #53
- feat(ui): quieter tool lines and relative paths in subagent transcripts by @tt-a1i in #54
- feat(ui): spin the running state and quiet the spawn marker by @tt-a1i in #55
- feat(ui): drop cost from the default footer layout by @tt-a1i in #56
- feat(ui): breathe around docked pickers and declutter status glyphs by @tt-a1i in #57
- feat(ui): small unicode icons for footer metrics by @tt-a1i in #58
- feat(ui): aggregate the subagent strip when several runs are active by @tt-a1i in #59
- fix: review batch — docs intent words, subagent watchdog, bin cache, workflow reader unification by @tt-a1i in #60
- docs: define local development runtime workflow by @tt-a1i in #65
- feat(user-input-fold): 超长用户输入在 transcript 里折叠显示 by @tt-a1i in #42
- feat(git-read): read-only git_show/git_diff/git_log as child-safe tools by @tt-a1i in #66
- feat(ui): 紧凑语义工具活动行 by @tt-a1i in #68
- feat(ui): spinner and check glyphs for workflow status chrome by @tt-a1i in #77
- ci: deduplicate pull request runs by @tt-a1i in #78
- feat(ui): color edit stats and spin the pending activity row by @tt-a1i in #79
- feat(ui): launch marker for the subagent spawn card by @tt-a1i in #80
- feat(ui): drop the live tool name from subagent picker rows by @tt-a1i in #81
- feat(input): highlight capability authorization keywords by @tt-a1i in #83
- perf(subagents): bound the spawn tool schema by @tt-a1i in #85
- fix(subagents): preserve short ids across reloads by @tt-a1i in #86
- fix(ui): mute completed tool activity by @tt-a1i in #88
- fix(subagents): preserve recoverable long results by @tt-a1i in #89
- feat(workflows): release parent turns and harden large fan-out by @tt-a1i in #92
- fix(workflows): expose call capacity in sandbox usage by @tt-a1i in #94
- chore(release): 0.4.0 by @tt-a1i in #95
- feat(ui): refine the default footer hierarchy by @tt-a1i in #98
Full Changelog: v0.3.1...v0.4.0
OpenPI 0.3.1
Highlights
- Fixed
openpi_load_toolsJSON Schema compatibility with strict providers such as Kimi K3. Capability array items now explicitly declaretype: "string". - Improved subagent result delivery: results completed while the parent is busy are delivered at the next idle boundary.
Verification
- 746 Node tests and 29 Vitest tests passed.
- Node.js 22 and 24 CI passed.
- Kimi K3 completed a real request with OpenPI tools enabled.
Update with:
pi update npm:@tt-a1i/openpiOpenPI 0.3.0
What's Changed
- fix: batch Resume UI layer installation by @tt-a1i in #25
- feat(footer): default to a one-line plain footer with a lighter layout by @tt-a1i in #26
- fix: keep deferred subagent results in timeline order by @tt-a1i in #30
- fix(subagents): release interactive turns while children run by @tt-a1i in #33
- Plan Mode 三项改进:指示器内联、必定可退出、bash 按副作用判定 by @tt-a1i in #31
- docs: define Pi-first agent contract by @tt-a1i in #35
- fix(subagents): keep compact results status-only by @tt-a1i in #38
- 子代理 UI 打磨:列表贴合内容、详情页去掉横线带、命令执行成块 by @tt-a1i in #36
Full Changelog: v0.2.0...v0.3.0
OpenPI 0.2.0
OpenPI 0.2.0 makes ordinary sessions lighter and more Pi-native while keeping advanced capabilities available on demand.
Highlights
- Zero-resident OpenPI tool surface by default.
explicitdiscovery loads capability groups only after clear user intent. - Opt-in adaptive discovery. Users can enable a single compact
openpi_load_toolsgateway through/openpi-setup. - Pi-native execution by default. Ordinary runs retain Pi history, compaction, Bash output, provider loop, and explicit timeout behavior.
- Workspace safety retained. Pre-existing paths remain protected from unapproved deletion while session-created scratch can be cleaned up normally.
- Stable dynamic tool ownership. Setup, Plan, Goal, Tasks, Background, Subagent, Workflow, Search, and Context surfaces reconcile without hiding another extension's tools.
- Setup lifecycle hardened. One successful
/openpi-setupapply completes the episode; a later change starts a new episode. - Workflow guidance is progressively disclosed instead of remaining in every ordinary system prompt.
Install or upgrade
pi install npm:@tt-a1i/openpiThen restart Pi or run /reload.
Validation
- Node.js 22.19 and 24 CI passed
- 713 Node tests and 29 Vitest tests passed
- Packed-install Pi discovery smoke passed
- npm tarball excludes tests, benchmark artifacts, research reports, and local caches
Full change review: #23