Releases: dimakis/mitzo
Releases · dimakis/mitzo
v0.1.1
Patch release — first-turn fix, docs refresh, CI hardening.
Fixes
- First-turn message loss — SDK can deliver
content_block_startbeforemessage_starton the first turn. Server now auto-initializes message context, so the first response and tool calls render correctly. - Multi-turn message loss —
forceFlushPendingMessage()runs at turn boundaries, preventing silent drops whenmessage_startresets state. - SDK field names —
file_pathnotpath,contentnotcontents,patternnotglob_pattern. Tool pills now show actual file paths and inputs. - Session end ordering — force-flush before
session_end. FrontendSESSION_ENDandMESSAGE_STARTforce-finalize orphaned messages.
Docs
- README rewritten — same information, half the lines, no AI slop
- CLAUDE.md updated with v2 protocol details and SDK field name gotchas
- Design docs marked Implemented with post-implementation notes
- Enterprise plan v1.3 with current LOC baselines (chat.ts 468, ChatView 337)
CI
- Test count guard — fails if tests drop below 200 (currently 209)
- Bundle size reporting in job summary
v0.1.0 — Stable chat experience
First tagged release. The v2 message protocol is complete and the chat experience is stable.
What's in this release
- v2 message protocol — explicit block lifecycle (start → delta → end) for text, thinking, and tool_use blocks. No more inferred state from timing or absence of events.
- Thinking blocks — render with expand/collapse, survive across turns
- Tool pills — show names immediately on block_start, file paths/inputs on block_end, results after execution
- Multi-turn streaming input — follow-up messages queue natively, interrupt mid-generation
- iOS reliability — message snapshots on reattach after silent WS drops, connection pooling with heartbeat and reconnect
- Session management — restore from localStorage and API, swipeable session list, session dismiss
- Mobile-first UI — compact layout, mode pills (Ask/Agent/Auto), model selector, sandbox toggle
Bug fixes in this cycle
| PR | Fix |
|---|---|
| #35 | Session restore crash — v1→v2 shape mismatch in getMessages and localStorage |
| #36 | Tool results not paired with tool calls in restored sessions |
| #37 | Deferred message_end until all content blocks are closed |
| #39 | SDK field names in tool summaries (file_path, content, pattern) + session_end ordering |
| #40 | Multi-turn message loss — flush pending message_end on new turn, finalize orphaned current |
What's next
- Plan Mode (Ask mode produces structured plan, Execute button starts Agent run)
- Tool permissions v2 (deterministic tier model with mode matrix)