Repository navigation
Releases: tianshu-ai/tianshu
Releases · tianshu-ai/tianshu
Release list
v0.107.3
0.107.3 (2026-10-23)
Bug Fixes
- add send dedup guard in wechat adapter (30s window) (0fbb862)
- dedup wechat poll messages + fix syncBuf empty-string check (8a972ab)
- disable per-turn auto-recovery to prevent duplicate tool calls (c87caaa)
- disable recover-interrupted to prevent duplicate wechat replies (5144f96)
- re-enable auto-recovery (per-turn + boot) (a4b528d)
- wechat poll syncBuf empty-string check causing duplicate messages (e92d678)
Reverts
- remove send dedup guard, keep debug log (6f657d9)
v0.107.2
v0.107.1
v0.107.0
0.107.0 (2026-10-22)
Features
- message queue — pending messages wait for turn completion (5f93b4d)
- queue: drag-and-drop reorder support (7927874)
- queue: optimistic insert on drain via queue_update diff (aad03c5)
- queue: redesign UI — card style with grip/play/edit/delete icons (11013ca)
- ws: broadcast stream/message events to all tabs via broadcastToUser (a9df5d2)
Bug Fixes
- await previous turn settlement before starting follow-up (f5974fc)
- bridge: distinguish graceful unregister from socket drop (ef29400)
- bridge: exclude ghost connections from forUser(), add null-socket guard in call() (c82f6a2)
- follow_up runPrompt missing pluginRegistry and homeDir (f98877f)
- queue: broadcast queue_update to all tabs via broadcastToUser (1860825)
- queue: don't optimistic-insert queued messages into chat (f742d74)
- queue: move queue to module-level per-user map, survive WS reconnect (19a23bf)
- queue: optimistic insert when sending queued message now (004096f)
- queue: push queue on WS connect, not on hello (ed2e5ac)
- queue: push queue state on WS hello/reconnect (70f1c7b)
- ws: register aborter in session-level abort registry for cross-tab stop (b6f6a30)
- ws: register sendDirect with broadcastToUser to prevent infinite recursion (92b65b2)
- ws: use sendDirect for connection-init messages (queue_update, stream_start, tool_catalog_changed) (155c143)
- ws: use server messageId in history_truncated for cross-tab sync (21fcd8d)
Refactor
- queue: move queue inside composer, match OpenClaw layout (c514b2a)
v0.106.1
v0.106.0
0.106.0 (2026-10-21)
Features
- auto-resume interrupted turns + bridge retry + stop button support (c3a679e)
- auto-resume interrupted turns on WS reconnect (03b1280)
- bridge: exponential backoff retry for bridge tool calls (1cfea72)
- bridge: persist bridge registrations - tenant-scoped with userId (76a7696)
- bridge: persist bridge registrations across server restarts (ffb9752)
- server-side auto-recovery of interrupted agent turns (81bd2da)
- startup recovery via session inbox + detect assistant with pending toolCalls (9f10107)
- structured logging with pino + correlation ID (#627) (8ffcd94)
Bug Fixes
- allow stop button to cancel inbox-triggered (recovery) turns (60304cd)
- auto-resume handles zombie lane ops (not just dangling user msgs) (3b399c2)
- bridge retry should not retry application errors (71c6f6b)
- bridge: add exponential backoff retry to BridgeSandboxRunner (f29a298)
- bridge: extend retry backoff to ~30s max (1s,2s,4s,8s,16s) (0007851)
- bridge: fix require in ESM + log persist errors (14bec78)
- bridge: skip redundant persist writes on heartbeat re-register (11e4b03)
- dangling_user recovery also uses directive prompt + hide notification from user (70aa697)
- detect interrupted turns where last msg is tool result or assistant with pending toolCalls (8dd5d00)
- hide internal recovery system_note messages entirely (98b063a)
- hide internal system_note notifications in frontend (c773cdb)
- make recovery prompt directive — auto-continue without asking user (5df5cbd)
- recovery: also delete assistant messages with pending tool calls (f7c10ef)
- recovery: delete orphaned tool result before recovery turn (606a233)
- recovery: don't delete successful tool results (e5b95fc)
- recovery: skip user-stopped sessions on restart (5ba3e55)
- strengthen auto-recovery in system prompt and recovery note (3ef24a2)
v0.105.0
0.105.0 (2026-10-21)
Features
- 'Jump to latest' button when viewing history_around slice (2c8ea42)
- load more messages when scrolling down in history_around view (5fcd011)
- search jump to message loads surrounding context (5f61e8c)
- universal scroll-to-bottom button (right corner circle) (0553f0f)
Bug Fixes
v0.104.1
v0.104.0
0.104.0 (2026-10-20)
Features
- ui: compact mode delays fold until turn completes (5a44a21)
- ui: dissolve animation for compact tool call fold (ee4ef44)
- ui: refined dissolve animation — slower, more layered (4fe8c6a)
- ui: slower phased dissolve animation for tool calls (839b6af)
- ui: use motion (framer-motion) for tool call dissolve animation (d5a8fee)
Bug Fixes
v0.103.1
0.103.1 (2026-10-20)
Bug Fixes
- disable composer while awaiting response after WS reconnect (db0bc17)
- don't clear awaiting state on synthetic empty stream_end (6a33df8)
- emit synthetic stream_start after connected event via microtask (90707f2)
- keep streaming state alive across connected/history_truncated (dc1ecdc)
- markMessageInterrupted breaks JSON content in DB (b523d09)
- preserve _awaitingResponse across history_truncated (edit_resend) (1f68d31)
- preserve streaming placeholder across history reload (d4b8986)
- re-push stream_start on WS reconnect when agent is running (cfd1221)
- recognize edit_resend in outgoing queue flush (77ee8ac)
- remove [interrupted] marker from aborted messages (22c1aa7)
- show retry state when sending prompt while WS disconnected (467086e)
- synthesize stream_start when flushing queued prompt on reconnect (94e45d3)
- WS reconnect reliability + streaming state preservation (60ddbdd)