Simon Willison Releases llm 0.32 Alpha Series · history
Version 2
2026-04-30 12:02 UTC · 49 items
Narrative
On April 29, 2026, Simon Willison released two alpha versions of his popular llm CLI tool and Python library in rapid succession, marking a significant architectural overhaul. The headline change in 0.32a0 is the replacement of the previous prompt/response model with a message-sequence API that allows full prior conversations to be injected without requiring SQLite as an intermediary.[1] This is a backwards-compatible refactor, but a major one that reshapes how the library models both inputs and outputs.
The new streaming API is perhaps the most technically ambitious aspect of the release: responses are now exposed as typed event parts — text, tool_call_name, tool_call_args, and reasoning — enabling downstream consumers to handle the mixed-type outputs increasingly common from modern models like Claude.[1] Willison frames this as a direct response to the reality of contemporary LLMs: "Many of today's models return mixed types of content. A prompt run against Claude might return reasoning output, then text, then a JSON request for a tool call, then more text content." The CLI immediately leverages this by rendering reasoning/thinking tokens in a distinct color and routing them to stderr, keeping piped output clean.[1] A new to_dict/from_dict serialization mechanism rounds out the release, letting Python API users store and restore responses in any storage layer rather than being coupled to SQLite.[1]
The 0.32a1 patch followed the same day, fixing a bug in which tool-calling conversations were not correctly reinflated from SQLite storage — a regression introduced by the architectural changes in 0.32a0.[2] The release sequence (alpha → same-day bugfix alpha) is consistent with Willison's iterative, public development style.
Since the initial synthesis, the story has begun attracting third-party amplification: tech aggregators Let's Data Science and daily.dev have indexed and republished the 0.32a0 announcement.[3][4] The official llm.datasette.io changelog and documentation pages have also been indexed by the pipeline's searches.[5][6] However, none of these new items contain extracted claims or original analysis — they are either re-aggregations of Willison's own post or reference documentation. The substantive discourse on the 0.32 release remains entirely driven by Willison himself; community and plugin-author reactions are still absent from coverage.
Timeline
- 2026-04-29: LLM 0.32a0 released: major backwards-compatible refactor replacing prompt/response model with message-sequence API, adding typed streaming event parts and to_dict/from_dict serialization [1][7][8]
- 2026-04-29: LLM 0.32a1 released same day to fix bug where tool-calling conversations were not correctly reinflated from SQLite [2]
- 2026-04-29: Third-party aggregators (Let's Data Science, daily.dev) begin indexing and republishing the 0.32a0 announcement [3][4]
Perspectives
Simon Willison
Advocates for the architectural refactor as a necessary response to modern LLMs' mixed-type outputs (reasoning, text, tool calls). Treats the alpha series as iterative public development, shipping a fix the same day as the initial alpha.
Evolution: consistent — no new statements detected in this cycle
Tensions
- The 0.32 series is explicitly alpha: it is unclear how many breaking changes plugin authors face and whether the new message-sequence API will stabilize before a stable release. [1][2]
- The new to_dict/from_dict mechanism decouples the library from SQLite, but the same-day SQLite bug fix in 0.32a1 suggests the two storage paths are not yet equally exercised. [1][2]
- Community and third-party plugin reactions to the refactor are entirely absent from current coverage — all substantive content comes from Willison himself, with aggregators only re-publishing rather than analyzing. [3][4]
- The official changelog at llm.datasette.io is now indexed but no claims were extracted from it, leaving uncertainty about whether it documents 0.32 migration paths for plugin authors. [5]
Sources
- [1] LLM 0.32a0 is a major backwards-compatible refactor — Simon Willison (2026-04-29)
- [2] llm 0.32a1 — Simon Willison (2026-04-29)
- [3] llm CLI package releases version 0.32a0 - Let's Data Science — reactive:simon-willison-llm-032
- [4] LLM 0.32a0 is a major backwards-compatible refactor — reactive:simon-willison-llm-032
- [5] Changelog - LLM - Datasette — reactive:simon-willison-llm-032
- [6] Usage - LLM — reactive:simon-willison-llm-032
- [7] llm 0.32a0 — Simon Willison (2026-04-29)
- [8] LLM 0.32a0 is a major backwards-compatible refactor — reactive:simon-willison-llm-032