11 hours ago
- Moving beyond turn-based interaction: session/update notifications can occur anytime, prompt response acknowledges message not end of turn, agent idle state signals readiness.
- Messages, tool calls, and terminal output use stable IDs for uniform patching (omit, null, replace, append); tool calls can be streamed without buffering.
- Diff overhaul: replaced oldText/newText with structured file changes (add, delete, modify, move, copy, binary, non-text) plus optional git_patch.
- Permission requests have required title and optional description with extensible subject, decoupling from tool call content.
- Forward compatibility by default: enum-like values accept unknown variants with _ prefix for extensions, built into schema.
- v2 is a draft; implement behind feature flags, support v1 and v2 side-by-side, participate in feedback.