SQLite 3.53.3
So SQLite just dropped v3.53.3 and honestly? It's the kind of patch release that makes you appreciate the little things in life. No major drama, just solid fixes and some genuinely cool CLI upgrades. TL;DR: if you've been burned by the WAL-reset bug (and yeah, I know some of you have), this is the update you've been waiting for.
The Big One: WAL-Reset Bug Fix
The headline fix in 3.53.3 is the resolution of the WAL-reset database corruption bug. If you've been running SQLite in WAL mode and hitting random corruption after a reset, this is the patch that saves your weekend. The bug was introduced in earlier 3.53.x releases and has been fully squashed now.
Interestingly, the team notes that some of these bugs were "coming from AIs" — yeah, the changelog actually says that. AI-generated code making its way into SQLite and causing headaches. We've all been there.
Query Result Formatter (QRF) Library
This is actually pretty slick. The new QRF extension formats SQL query results for human readability on fixed-pitch screens. Think prettier CLI output without needing external tools. The CLI now uses QRF by default in interactive mode, rendering results in boxes drawn with Unicode box-drawing characters. Your terminal is about to look a lot nicer.
Numeric values are now right-justified in tabular output. Batch sessions still use the legacy format for backwards compatibility, because the team knows you have scripts.
CLI Improvements Galore
The .mode command got a major overhaul. You can now use ".timer once" to run the timer on just the next SQL statement. The new "--timeout S" option on .progress interrupts queries after S seconds. And the .indexes command now matches index names instead of table names — way more useful.
Also: bare semicolons at the end of dot-commands are now silently ignored. Potential incompatibility warning there, but honestly it'll probably just save you from weird errors.
New SQL Functions and C APIs
json_array_insert() and jsonb_array_insert() have joined the JSON function family. On the C side, we got sqlite3_str_truncate(), sqlite3_str_free(), sqlite3_carray_bind_v2(), and new constants like SQLITE_UTF8_ZT and options like SQLITE_DBCONFIG_FP_DIGITS.
Also, Windows RT support is officially discontinued. If you're still running Windows RT in 2026, first of all: why? Second: it's time to move on.
Upgrade Now?
Yeah, probably. If you're on 3.53.x already, this is a no-brainer patch. If you're still on 3.51.x, the jump is bigger but worth it for the WAL fix alone. The usual "sqlite3 yourdb.db && .q" upgrade flow works fine.