Skip to content

Alloy v0.12.0 — Memory primitive + 5 new models

Latest

Choose a tag to compare

@chrisohalloran chrisohalloran released this 24 Apr 01:56
· 9 commits to main since this release
ae22602

Added

  • Alloy.Memory behaviour — first-class protocol for Anthropic's memory_20250818 tool. Six callbacks (view, create, str_replace, insert, delete, rename) that any store can implement. Alloy owns the wire format and path validation; your code owns the backing store. Matches the split used by Anthropic's own Python SDK (BetaAbstractMemoryTool).
  • Anthropic provider memory wiring — passing memory: {StoreModule, store_opts} to Alloy.run/2 injects the memory_20250818 tool into the request and adds the context-management-2025-06-27 beta header. Memory tool calls are routed through Alloy.Memory.Router rather than the generic tool executor, keeping the pipelines clean.
  • Alloy.run/2 :memory option — validates at entry that memory requires Alloy.Provider.Anthropic (raises ArgumentError otherwise). Other providers will be wired as they ship their own memory primitives.
  • Model catalog — added context-window entries for Kimi K2.5/K2.6 (256K), Gemma 4 family (256K), GLM-4.6 (200K), Qwen 3 family including qwen3-coder-plus and qwen3.5-397b-a17b at 1M context, Mistral Large 3 (256K). All drop-in through existing providers — no new provider modules.

Non-breaking

Memory is additive surface area. Callers who do not pass :memory see zero behavioural change. The context-management-2025-06-27 beta header is injected only when memory is configured.

Full changelog: https://github.com/alloy-ex/alloy/blob/main/CHANGELOG.md

🤖 Generated with Claude Code