If you saw sqlite-utils 4.1.1 and were about to scroll past it, this is the useful read: tiny patch number, real decision change. The point is not "what shipped?" The point is "what mistake does this release refuse to let me make?" [C001]
The answer: 4.1.1 is there to stop accidental damage to related data when a table reshape goes through the wrong path [C002]. That is the part worth remembering, not the version bump itself.
The documented danger is specific: you run a table reshape, foreign-key links are on, and you already opened a transaction, meaning one all-or-nothing batch. In that setup, 4.1.1 raises TransactionError instead of continuing.
That matters because the comforting assumption is backwards here. People hear "inside a transaction" and think "safer by default." But this rewrite needs to temporarily turn off foreign_keys, and that switch cannot be changed after the transaction has started. In this case, stopping early is the safety feature.
A release is worth your attention when it changes your next decision, not when it has the longest changelog. Share this with anyone who still treats "wrapped in a transaction" as an automatic safety signal. Boundary: this is the documented 4.1.1 reshape-table case, not every SQLite setup.