This is for people who mostly use chat-style AI and have only recently started following new tools: the easiest mistake is treating every patch release as background noise. Then one slips by that actually changes the safe move. sqlite-utils 4.1.1 matters for a very specific reason: it is there to stop you from accidentally deleting related data while changing a table [C001].
Maybe you just saw the update, were about to scroll past it, and then paused because missing one useful detail feels worse than reading one more update post. The expensive mistake is not missing the news. It is spending time on the wrong part of the update and missing the one thing that changes your next decision. An update is worth reading not by how many features it lists, but by whether it changes your next decision.
The boundary matters. This is not a claim that 4.1.1 broadly breaks tables or makes every migration safe. The risky setup is narrow: table.transform() runs inside an already open transaction, foreign key checks are on, meaning the database is enforcing links between tables, and another table points at the table being changed with rules like CASCADE (delete with parent), SET NULL (clear the link), or SET DEFAULT (use a default value). In plain English, changing one table can quietly ripple into linked rows in another [C001].
The useful part of 4.1.1 is that it stops pretending this workflow is safe. The docs explain that transform() may need to drop the old table, and it normally works by temporarily turning foreign key checks off. But that switch cannot be changed inside an active transaction. So 4.1.1 raises a TransactionError instead of letting the old table drop quietly affect referenced rows [C001].
That is the real value of this patch: not convenience, but refusal. 4.1.1 first stops silent cascade deletion. In plain English, it says no before a table change can quietly take linked data with it. If your SQLite work includes schema changes around linked tables, share this with the person who usually bundles those changes into one transaction. If that is not your workflow, you can treat it as a narrow guardrail instead of a must-watch release.