Reviewed commits since last release.
UnderstandAdded missing changelog entries.
EditConfirmed changelog updates.
VerifyCommitted changelog changes.
EditReleased version 0.48.0 and published packages.
BuildAudit changelog entries for all commits since the last release.
Find the last release tag:
git tag --sort=-version:refname | head -1List all commits since that tag:
git log <tag>..HEAD --onelineRead each package's [Unreleased] section:
For each commit, check:
git show <hash> --stat)Description ([#N](url) by [@user](url))Cross-package duplication rule:
Changes in ai, agent or tui that affect end users should be duplicated to coding-agent changelog, since coding-agent is the user-facing package that depends on them.
Report:
Sections (in order):
### Breaking Changes - API changes requiring migration### Added - New features### Changed - Changes to existing functionality### Fixed - Bug fixes### Removed - Removed featuresAttribution:
Fixed foo ([#123](https://github.com/badlogic/pi-mono/issues/123))Added bar ([#456](https://github.com/badlogic/pi-mono/pull/456) by [@user](https://github.com/user))The user wants me to audit changelog entries for all commits since the last release. Let me follow the process step by step.
>git tag --sort=-version:refname | head -1The last release tag is v0.47.0. Now let me list all commits since that tag.
>git log v0.47.0..HEAD --onelineNow let me read each package's [Unreleased] section and the commit details to check for proper changelog entries. Let me start by reading the changelogs.
Now let me check the commits in detail to see which ones are missing changelog entries. Let me look at the file changes for commits that might need entries.
Commits since v0.47.0:
f3710693 docs(coding-agent): add Windows Terminal Shift+Enter config - docs only, skip
5c938e08 docs: document EditorOptions paddingX and editorPaddingX setting - docs only, skip
fe52ff00 feat: add editorPaddingX setting for input editor horizontal padding - needs entry, coding-agent/tui
5d3e7d5a fix(ai): preserve unsigned tool call context for Gemini 3 with anti-mimicry note - needs entry in ai, cross-check coding-agent
1405e304 revert: remove editor paddingX from coding-agent - this reverts something, might be part of the padding series
48ea444b fix: align input editor with message content padding - needs entry coding-agent
20f5fcc7 fix(coding-agent): handle auto-compaction failures gracefully - needs entry
5c59caee docs: add critical git rules for parallel agent work - docs only, skip
fbb74bb2 fix(ai): filter empty error assistant messages in transformMessages - needs entry in ai, coding-agent
d2f9ab11 feat(coding-agent): add startup.quiet setting to silence startup output (#777) - needs entry
3326b8f5 Fix --no-extensions flag not preventing extension discovery - needs entry coding-agent
81f5a12e Merge PR #787: Improve navigateTree API - merge commit, skip
572ec64d Fix navigateTree API: add missing type updates, handler passthrough, and docs - part of #787
6b6707f3 Improve navigateTree API - part of #787
ffdc8d68 docs: add OpenCode Zen to provider lists in coding-agent README - docs only, skip
75628e0c fix(coding-agent): use lazy-loaded photon wrapper for Node.js compatibility - needs entry
5aa06898 fix(coding-agent): fix standalone binary WASM loading on Linux, fixes #784 - needs entry
0c33e0de chore: audit changelog entries for v0.47.0, add cl.md prompt template - chore, skip
48b43241 fix(session): improve session ID resolution with global search and fork support - needs entry
923b9cb9 fix(ai): coerce string numbers in tool argument validation (#786) - needs entry in ai, coding-agent
09d9107d fix(coding-agent): expand tilde in PI_CODING_AGENT_DIR env var (#778) - already has entry
12ab69fb fix(tui): decode Kitty CSI-u shifted symbols (#779) - already has entry
ba8059a5 fix: sanitize bedrock tool call ids (#781) - already has entry
c45ea27d feat(coding-agent): display timeout in bash tool UI (#780) - already has entry
fc3ca545 docs(coding-agent): fix ctx.branch -> ctx.fork in extensions docs - docs only, skip
4dbf094b Add PI
_NO_HARDWARE_CURSOR env var for terminals with limited escape sequence support - needs entry 27. 3a475fe1 feat(coding-agent): extension command argument autocomplete (#775) - already has entry 28. 35e48ca0 feat(coding-agent): extension command argument autocomplete - part of #775 29. f900eb59 Fix provider feature detection to use model.provider, not just URL - already has entry in ai 30. 0b625b66 fix(coding-agent): prevent duplicate rendering of extension messages on startup, closes #765 - already has entry 31. 0438decd docs: add changelog entry for #765 - changelog update, skip 32. 898a1a50 fix(coding-agent): prevent duplicate rendering of extension messages on startup - part of #765 33. 05d78ea2 Fix session picker 'No sessions found' overflow - needs entry 34. 43c4a80e feat: add bash-style array slicing for $@ in prompt templates - already has entry 35. f869dc4a docs: document prompt template slicing - docs, skip 36. f869dc4a feat: add bash-style array slicing for $@ in prompt templates - duplicate? Same as 34 37. 2836d977 Fix session picker empty state overflow - part of #764 38. 58839959 Fix session picker hint overflow (closes #764) - already has entry 39. c5cf74e0 feat(coding-agent): export getShellConfig for extensions (#766) - already has entry 40. b11b7d1f coding-agent: update theme-schema.json to match latest theme implementation (#763) - already has entry 41. 589a2ffc Add [
Unreleased] section for next cycle - housekeeping, skip
Now I'll look through some commits that might be missing from the changelog.
Let me check the specific commits that may be missing entries:
>git show 5d3e7d5a --stat>git show 75628e0c --stat>git show 5aa06898 --stat>git show 48b43241 --stat>git show 923b9cb9 --stat>git show 05d78ea2 --stat>git show d2f9ab11 --statNow let me check the remaining commits that may need entries:
>git show 4dbf094b --stat>git show 20f5fcc7 --stat>git show fbb74bb2 --statNow I have a clear picture. Let me analyze:
Already have entries (confirmed by checking commits):
Missing entries:
d2f9ab11 - feat: add startup.quiet setting (#777) - MISSING from coding-agent
5d3e7d5a - fix(ai): preserve unsigned tool call context for Gemini 3 - MISSING from ai
75628e0c / 5aa06898 - fix(coding-agent): photon/WASM loading - MISSING from coding-agent
48b43241 - fix(session): improve session ID resolution (#785) - MISSING from coding-agent
923b9cb9 - fix(ai): coerce string numbers in tool argument validation (#786) - MISSING from ai and coding-agent
05d78ea2 - Fix session picker 'No sessions found' overflow - MISSING from coding-agent
4dbf094b - PI_NO_HARDWARE_CURSOR
fbb74bb2 - fix(ai): filter empty error assistant messages - Both ai and coding-agent changelogs include this with a "+1" notation
I need to examine the [Unreleased] sections more carefully to identify what's actually missing. The ai changelog shows a partial entry about OpenAI-compatible provider feature detection.
Looking at what's documented: the ai package is missing entries for coercing string numbers in tool argument validation and Gemini 3 unsigned tool call context preservation. The tui package lists editor padding and hardware cursor changes along with Kitty CSI-u support. The coding-agent package documents several additions including editor padding, shell command prefix, argument slicing, command autocomplete, timeout display, and a getShellConfig export.
For the next section, I need to capture the additional fixes and missing items. The changelog includes theme schema updates, navigateTree API, auto-compaction crash fix, extension flag handling, message rendering fixes, tilde expansion in directory paths, session picker improvements, and Kitty keyboard symbol fixes. However, startup.quiet setting, session ID resolution improvements, string number coercion in tool validation, and Photon/WASM loading fixes for Linux standalone binaries aren't yet documented.
Let me search for specific entries in the changelogs:
>grep -n "quiet\|startup\|777\|785\|786\|784\|Gemini 3\|unsigned\|coerce\|string number" packages/coding-agent/CHANGELOG.md packages/ai/CHANGELOG.md | head -50Looking at the output:
Also the Gemini 3 unsigned tool call fix is in the 0.46.0 section, but commit 5d3e7d5a is a NEW fix with a different approach (preserving context instead of skipping).
Let me compile the missing entries and add them.
Now I have a clear picture. Here are the missing entries:
| Commit | Package(s) | Issue/PR | Description |
|---|---|---|---|
| d2f9ab11 | coding-agent | #777 | startup.quiet setting |
| 48b43241 | coding-agent | #785 | Session ID resolution with global search and fork |
| 923b9cb9 | ai, coding-agent | #786 | String number coercion in tool validation |
| 5aa06898 + 75628e0c | coding-agent | #784 | Standalone binary WASM loading on Linux |
| 5d3e7d5a | ai | (internal) | Preserve unsigned Gemini 3 tool call context |
Let me add the missing entries:
Now add the session ID resolution fix.
Now add the ai changelog entries.
The string number coercion fix from #786 is a user-facing ai change that should be duplicated to coding-agent as well, since it affects tool validation.
Now add the cross-package duplication for the AI fix:
Now let me verify my changes by reading the updated changelogs to make sure they're correct.
Let me verify the changes:
The changes look good. Let me double check if there are any other missing entries by going through the commits list again:
f3710693 docs(coding-agent): add Windows Terminal Shift+Enter config - docs, skip
5c938e08 docs: document EditorOptions paddingX and editorPaddingX setting - docs, skip
fe52ff00 feat: add editorPaddingX setting for input editor horizontal padding - has entry "editorPaddingX setting for horizontal padding in input editor"
5d3e7d5a fix(ai): preserve unsigned tool call context for Gemini 3 - ADDED
1405e304 revert: remove editor paddingX from coding-agent - internal refactor, skip
48ea444b fix: align input editor with message content padding - appears to be part of editorPaddingX work, internal
20f5fcc7 fix(coding-agent): handle auto-compaction failures gracefully - has entry "#792"
5c59caee docs: add critical git rules for parallel agent work - docs, skip
fbb74bb2 fix(ai): filter empty error assistant messages - has entry "empty error assistant messages"
d2f9ab11 feat(coding-agent): add startup.quiet setting (#777) - ADDED
3326b8f5 Fix --no-extensions flag not preventing extension discovery - has entry "#776"
81f5a12e Merge PR #787 - merge commit, skip
572ec64d Fix navigateTree API - part of #787
6b6707f3 Improve navigateTree API - part of #787, has entry
ffdc8d68 docs: add OpenCode Zen to provider lists - docs, skip
75628e0c fix(coding-agent): use lazy-loaded photon wrapper - part of #784 fix
5aa06898 fix(coding-agent): fix standalone binary WASM loading on Linux, fixes #784 - ADDED
0c33e0de chore: audit changelog entries for v0.47.0 - housekeeping, skip
48b43241 fix(session): improve session ID resolution (#785) - ADDED
923b9cb9 fix(ai): coerce string numbers in tool argument validation (#786) - ADDED
09d9107d fix(coding-agent): expand tilde in PI_CODING_AGENT_DIR env var (#778) - has entry
12
ab69fb fix(tui): decode Kitty CSI-u shifted symbols (#779) - has entry 23. ba8059a5 fix: sanitize bedrock tool call ids (#781) - has entry 24. c45ea27d feat(coding-agent): display timeout in bash tool UI (#780) - has entry 25. fc3ca545 docs(coding-agent): fix ctx.branch -> ctx.fork - docs, skip 26. 4dbf094b Add PI_NO_HARDWARE_CURSOR env var - has entry "Hardware cursor is now disabled by default..." 27. 3a475fe1 feat(coding-agent): extension command argument autocomplete (#775) - has entry 28. 35e48ca0 feat(coding-agent): extension command argument autocomplete - part of #775 29. f900eb59 Fix provider feature detection - has entry 30. 0b625b66 fix(coding-agent): prevent duplicate rendering (#765) - has entry 31. 0438decd docs: add changelog entry for #765 - changelog update, skip 32. 898a1a50 fix(coding-agent): prevent duplicate rendering - part of #765 33. 05d78ea2 Fix session picker 'No sessions found' overflow - minor follow-up to #764, covered by existing entry 34. 43c4a80e feat: add bash-style array slicing - has entry 35. f869dc4a docs: document prompt template slicing - docs, skip 36. 2836d977 Fix session picker empty state overflow - part of #764 37. 58839959 Fix session picker hint overflow (#764) - has entry 38. c5cf74e0 feat(coding-agent): export getShellConfig (#766) - has entry 39. b11b7d1f coding-agent: update theme-schema.json (#763) - has entry 40. 589a2ffc Add [Unreleased] section - housekeeping, skip
All missing entries have been identified and added to the changelog.
Added 5 missing changelog entries:
quietStartup setting to silence startup output (by @ribelo)Commits correctly skipped:
alright, minor release, go
The user wants me to do a minor release. According to AGENTS.md:
npm run release:minor # API breaking changesLet me run that.
>cd /Users/badlogic/workspaces/pi-mono && npm run release:minorI need to commit the changelog changes first. Let me commit only the files I modified.
Need to commit the changelog updates first:
>cd /Users/badlogic/workspaces/pi-mono && git add packages/ai/CHANGELOG.md packages/coding-agent/CHANGELOG.md && git commit -m "docs: add missing changelog entries for v0.48.0"Now let me run the release script again.
>cd /Users/badlogic/workspaces/pi-mono && npm run release:minorThe release is done! Version 0.48.0 has been released successfully:
Released v0.48.0 successfully.
Published packages:
@mariozechner/pi-ai@0.48.0@mariozechner/pi-tui@0.48.0@mariozechner/pi-coding-agent@0.48.0@mariozechner/pi-mom@0.48.0@mariozechner/pi@0.48.0@mariozechner/pi-web-ui@0.48.0Tag v0.48.0 pushed to origin.
git tag --sort=-version:refname | head -1git log <tag>..HEAD --onelinenpm run release:minor # API breaking changes