你刚刷到这条消息,本来准备顺手划走,但又怕自己错过了真正会影响下一步判断的那一点。
最容易做错的,是sqlite-utils 4.0rc3;代价往往是如果只盯表面热闹,你很容易在错误方向上花掉时间、预算和注意力。;我先给一个保守判断:会当场报错的 sqlite-utils,才配写生产脚本。
My takeaway is simple: a sqlite-utils release only matters if it changes what you would do next. A sqlite-utils that fails loudly is the only one fit for production scripts. If broken SQL dies on the spot, you fix it. If it fails silently, you burn time, budget, and attention chasing fake success.
That is why 4.0rc3 is worth noticing. The upgrade notes say that in the 3.x line, sending an UPDATE through db.query() could silently do nothing. In 4.0rc2, that behavior was tightened: SQL that does not return rows raises ValueError, stops, and rolls back. Actual write operations belong in db.execute(), which auto-commits.
That sounds stricter, but stricter is the feature. An update is worth reading not because of how many features it lists, but because it changes your next decision. Here, the decision change is clear: stop treating "no error" as proof that your SQLite automation worked.
Boundary: I am basing this on the 4.0rc3 release commit 3e8b740 dated 2026-07-05, plus the changelog and upgrade notes, not on runtime benchmarks.
If you still have old write patterns hiding inside db.query(), audit those now. If you know someone shipping AI-generated SQLite scripts, share this with them before they mistake a silent no-op for a successful update. Would you patch now, or pin 3.x until the audit is done?
真正该讨论的是:sqlite-utils 4.0rc3