Skip to content

v1.7.1 — Chat & Memory Correctness

Choose a tag to compare

@github-actions github-actions released this 21 Jul 08:00
· 17 commits to main since this release

Chat & Memory Correctness

A focused patch release hardening the chat, memory, and resume paths introduced in 1.7.0. No public exports, subpaths, or types changed.

Fixes

  • Strict chatId memory isolation. Chat-scoped get, search, and list operations now match chatId exactly in both the in-memory and Markdown stores, preventing memories from leaking across sibling chats. Markdown records also preserve chatId through frontmatter round-trips; broader legacy scopes remain compatible.
  • Conversation-safe ChatStore persistence. Stored chats now retain the caller’s original transcript plus real assistant/tool additions, never compaction summaries or prepareStep prompt rewrites. Durable resumes use a matching full chat record when available and skip writes after a load failure or scope mismatch, avoiding accidental history loss or cross-scope overwrites.
  • Complete resumed-tool lifecycle. Approval and client-tool settlement now emits the same v2 lifecycle ordering as initial execution: approved calls progress through executingtool-resultcomplete, while failures and denials terminate with error. Negotiated v1 streams remain unchanged.
  • Buffered result parity. Suspended buffered runs now expose result.memory when memory extraction is enabled, resolving safely to an empty mutation list. Final text-only assistant turns are included in result.response.messages exactly once, and memory extraction consumes the same additions exactly once.

Quality: 659 core tests and 20 React tests passed, along with type checks, package validation, runtime compatibility checks, bundle budgets, API-contract checks, and the full documentation build. Both packages were published through npm Trusted Publishing with SLSA provenance.

Docs: Core changelog · Documentation changelog

Full Changelog: v1.7.0...v1.7.1