Most release posts are safe to ignore, especially if you mostly live in chat-style AI and only recently started tracking new tools. sqlite-utils 4.0rc3 is the kind of update you almost scroll past. The part worth noticing is not a shiny feature. It is the 4.0 line deciding that bad database write commands should fail loudly instead of looking successful.

Why care? Because the expensive mistake is treating "no error" as "it worked," even in a simple script an AI helped you write. For data work, that is how you waste time, money, and trust without realizing it.

The upgrade docs call out the old 3.x habit directly: db.query("update ...") could silently do nothing, and 4.0 wants writes moved to db.execute(). The 4.0rc2 changelog goes further: db.query() is only for SQL that returns rows; if it does not, it raises ValueError and rolls the change back.

That is the whole judgment. A sqlite-utils that errors immediately is the one you want in production scripts. A release is worth your attention when it changes your next decision, not when it adds the most bullets.

Share this with anyone who writes quick SQLite scripts or asks AI to draft them. sqlite-utils 4.0rc3 matters because quiet failure is being treated like the bug. Boundary: this is based on the release and upgrade docs, not my own hands-on runtime test.