sqlite-utils 4.0rc3 Simon Willison released sqlite-utils 4.0rc3, a release candidate for the 4.0 stable version, which introduces support for compound foreign keys and case-insensitive column name matching. The release was delayed as the changelog grew while working through issues with AI tools Claude Fable 5 and GPT-5.5. Release: sqlite-utils 4.0rc3 https://github.com/simonw/sqlite-utils/releases/tag/4.0rc3 I hoped to release sqlite-utils 4.0 stable this weekend, but as I worked through the backlog of issues and PRs with a combination of Claude Fable 5 and GPT-5.5 the changelog since rc2 kept getting bigger https://sqlite-utils.datasette.io/en/latest/changelog.html rc3-2026-07-05 . The biggest new feature is support for introspecting and creating compound foreign keys - a feature that involves a subtle breaking change to table.foreign keys https://sqlite-utils.datasette.io/en/latest/python-api.html foreign-keys and hence needed to land for the 4.0 stable release. sqlite-utils also now follows SQLite's convention for case insensitive column names, which turned out to touch a bunch of different places at once https://sqlite-utils.datasette.io/en/latest/changelog.html case-insensitive-column-matching . Tags: projects https://simonwillison.net/tags/projects , sqlite https://simonwillison.net/tags/sqlite , sqlite-utils https://simonwillison.net/tags/sqlite-utils , annotated-release-notes https://simonwillison.net/tags/annotated-release-notes , gpt https://simonwillison.net/tags/gpt , claude-mythos-fable https://simonwillison.net/tags/claude-mythos-fable