*** DRAFT ***
SQLite Release 3.50.0 On 2025-05-29
- Add the sqlite3_setlk_timeout() interface which sets a separate timeout,
distinct from the sqlite3_busy_timeout(), for blocking locks on builds
that support blocking locks.
- The SQLITE_DBCONFIG_ENABLE_COMMENTS constraint (added in the
previous release) is relaxed slightly so that comments are
always allowed when reading the schema out of a pre-existing sqlite_schema
table. Comments are only blocked in new SQL.
- New SQL functions:
- unistr()
- unistr_quote()
- For the %Q and %q conversions in the built-in printf() (which covers
the sqlite3_mprintf() API and the format() SQL function and similar)
the alternate-form-1 flag ("#") causes control characters
to be converted into backslash-escapes suitable for unistr().
- CLI enhancements:
- Avoids direct output of most control characters.
- The output of the .dump command makes use of the new unistr()
SQL funtion to encode special characters, unless the --escape mode
is set to off.
- Better formatting of complex partial indexes in the output
from the ".schema --indent" command.
- Enhancements to sqlite3_rsync:
- The requirement that the database be in WAL mode has been removed.
- The sync protocol is enhanced to use less network bandwidth with both
sides start out being very similar to one another.
- The sqlite3_rsync program now works on Macs without have to specify
the full pathname of the sqlite3_rsync executable on the remote side
as long as you install the sqlite3_rsync executable in
one of these directories: $HOME/bin:/usr/local/bin:/opt/homebrew/bin
- If the jsonb_set() or jsonb_replace() functions make a change in the
interior of a large JSONB object, they strive to keep the size of the
JSONB object unchanged and to modify as few bytes as possible on the interior
of the object. This helps reduce I/O as it allows SQLite to write only
the page that contains the changed bytes and not all the surrounding pages.
- Improved support for building on Cygwin and MinGW and similar, as well
as Termux.
- Typo fixes in the documentation and in the source code comments.
- Miscellaneous performance improvements.
- JavaScript/WASM:
- Fix a long-standing filename digest calculation bug in the OPFS
SAHPool VFS. Databases created in that VFS by 3.50.0+ cannot
be read by older versions of the VFS, but 3.50.0 can
backwards-compatibly work with existing databases created
by older versions.
Hashes:
- SQLITE_SOURCE_ID: pending
- SHA3-256 for sqlite3.c: pending
A complete list of SQLite releases
in a single page and a chronology are both also available.
A detailed history of every
check-in is available at
SQLite version control site.
*** DRAFT ***