v0.6.0
Upgrade notes
Breaking changes
Telegram and web no longer share one conversation
Pinchy now uses per-chat sessions. Web and Telegram are separate OpenClaw sessions instead of being folded into one. Previously, an agent linked to a Telegram peer merged that peer's DMs into the user's web chat — which is why a Telegram /new could wipe web history. Starting with v0.6.0, each Telegram peer gets its own session and shows up as a read-only chat in the agent's Chats list.
- No action required. The stale link is removed automatically the next time the OpenClaw config is regenerated (any settings save, or the first boot after the upgrade). Permissions are unaffected — the Chats list and Telegram allow-listing read channel links directly, not the removed setting.
- Where your history goes. Your existing web conversation keeps everything under its current session, including Telegram messages that were previously merged in. Telegram starts a fresh, separate thread from the upgrade onward — so a Telegram chat that suddenly looks empty isn't lost; its past messages live in the web conversation.
Upgrade notes
The standard flow applies:
cd /opt/pinchy
sed -i 's/PINCHY_VERSION=v0.5.8/PINCHY_VERSION=v0.6.0/' .env
docker compose pull && docker compose up -d && docker image prune -fMultiple chats per agent
Each agent now keeps a list of separate conversations per user. A chat switcher in the chat header lets you start a new chat, jump between existing ones, and see the current one at a glance. Chat titles are derived from the first message you send, so the list stays scannable. New chats show a "Not saved yet" marker until the first message lands.
Telegram conversations are visible as read-only chats
When an agent is connected to Telegram, each linked peer's conversation appears in the Chats list as a read-only transcript. You can read what was said over Telegram from the web UI; replying still happens in Telegram. This makes Telegram activity auditable from the same place as web chats.
Sturdier streaming and reconnects
Backgrounding a chat tab mid-reply, reloading during a stream, or reconnecting while a run is still in flight no longer corrupts the message list. The chat view keeps a stable in-flight assistant slot across reconnects and discards stale pre-history buffers, so resume, timeout, and full-reload transitions land cleanly. Nothing to configure.
Usage analytics read retry
Reading OpenClaw session files for usage analytics now retries transient EACCES errors instead of failing the request, so per-user/per-turn usage numbers stay reliable under concurrent writes.
Dependencies
- openclaw-node 0.13.0 (was 0.12.1) and odoo-node 0.3.0 (was 0.2.0) — client-library bumps bundled into the images; no operator action.
- hono override raised to ≥ 4.12.25 — a transitive web-framework dependency, bumped to clear a published advisory. Build/runtime dependency only.
Database migrations
None this release.
What's Changed
- fix(deps): bump hono >=4.12.25 and docs astro >=6.3.3 (3 OSV advisories) by @clemenshelm in #514
- fix(chat): stop tab-refocus tapClientLookup crash on shorter activeRun reconcile by @clemenshelm in #511
- refactor: remove dead-code modules require-admin.ts and data-url.ts by @clemenshelm in #513
- docs: fix audit-found truth + staleness issues across 12 pages by @clemenshelm in #516
- docs: prettier-format two mdx files (unblocks format check on all PRs) by @clemenshelm in #521
- refactor: decompose oversized modules (no behaviour change) by @clemenshelm in #509
- feat(chat): auto-route images on text-only agents to a vision fallback model by @clemenshelm in #519
- feat(odoo): add odoo_schedule_activity tool, fix broken mail.activity creation by @clemenshelm in #515
- ci(links): exclude star-history.com from lychee (403 blocks every PR) by @clemenshelm in #525
- fix(odoo-templates): replace phantom odoo_search tool, roll out activity tools by @clemenshelm in #523
- fix(chat): authoritative agent liveness — stop false "The agent didn't respond" by @clemenshelm in #522
- fix(e2e): deterministic fake-ollama usage on every completion path (flaky usage-tracking) by @clemenshelm in #520
- feat(odoo): governed record-action method tools (confirm / validate / approve …) by @clemenshelm in #528
- fix(a11y): add primary-accent token, fix primary/banner contrast (WCAG AA) by @clemenshelm in #529
- docs(release): add cut-pinchy-release skill (tag-driven runbook) by @clemenshelm in #531
- docs(release): generalize deployment-override step in release skill by @clemenshelm in #532
- feat(models): Ollama Cloud catalog update tooling + add glm-5.2, drop 5 removed by @clemenshelm in #530
- fix(usage): retry transient EACCES when reading OpenClaw session files by @clemenshelm in #533
- fix(telegram-mock): keep update_id monotonic across /control/reset by @clemenshelm in #534
- fix(chat): preserve already-streamed prefix on full-reload mid-stream resume by @clemenshelm in #535
- feat(chats): per-agent Chats overview + per-task sessions (fixes cross-channel /new history loss) by @clemenshelm in #536
- Harden release upgrade-notes flow + prep v0.6.0 notes by @clemenshelm in #537
Full Changelog: v0.5.8...v0.6.0