Simon Willison shipped two release candidates for sqlite-utils 4.0 in as many days — rc2 on Saturday, rc3 on Sunday — and buried inside the changelogs is a more interesting story than any single feature. rc2, he notes, was “mostly written by Claude Fable (for about $149.25).” rc3 was pushed along by a pairing of Claude Fable 5 and GPT-5.5 chewing through a backlog of issues and PRs. The headline change is support for introspecting and creating compound foreign keys, which carries a subtle breaking change to table.foreign_keys.
The changelog that wouldn’t stop growing
Willison admits he hoped to cut a stable 4.0 over the weekend, but “the changelog since rc2 kept getting bigger.” That line deserves attention. When a human maintainer burns down a backlog, the rate limiter is human energy — you fix three issues and you’re tired. When two frontier models are working the queue, the constraint moves. The bottleneck becomes the maintainer’s ability to review, not to produce. A release that keeps swelling isn’t a sign of scope creep so much as a sign that the cost of doing more collapsed while the cost of deciding what’s done stayed exactly where it was.
That’s the quiet lesson here. AI didn’t make the release easier to finish. It made it harder to declare finished.
Why the price tag matters
The disclosed figure — roughly $149 for an rc — is the part most projects will never publish, and that’s a shame. It reframes the debate about AI-assisted development away from “is it good enough” toward “is it worth it.” A hundred and fifty dollars for a release candidate of a widely-used open-source utility is, frankly, cheap against a maintainer’s weekend. But it also isn’t free, and it isn’t nothing at the scale of a busy project. Publishing the number is a small act of honesty the ecosystem needs more of.
The breaking change is the tell
It’s worth noting that the most substantive item — compound foreign key introspection — is also the one with a breaking change to the public API. This is precisely the kind of decision that models are good at drafting and bad at owning. Renaming or reshaping table.foreign_keys ripples into every downstream consumer. An LLM can propose the cleaner design; only the maintainer carries the reputational cost when someone’s script breaks on upgrade.
The takeaway
sqlite-utils 4.0 isn’t newsworthy because AI wrote it. It’s newsworthy because a respected engineer is doing the work in the open — costs, breaking changes, and all — and the shape of that work is quietly changing. The typing is getting automated. The judgment, the API stewardship, the decision to finally ship, remains stubbornly, expensively human. That division of labor, not the tooling, is the real 4.0 release.