*** DRAFT ***

SQLite Release 3.50.0 On ?

  1. 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.
  2. 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.
  3. New SQL functions:
    1. unistr()
    2. unistr_quote()
  4. 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().
  5. CLI enhancements:
    1. Avoids direct output of most control characters.
    2. 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.
    3. Better formatting of complex partial indexes in the output from the ".schema --indent" command.
  6. Improved support for building on Cygwin and MinGW and similar, as well as Termux.
  7. Typo fixes in the documentation and in the source code comments.
  8. Miscellaneous performance improvements.
  9. JavaScript/WASM:
    1. 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:

  10. SQLITE_SOURCE_ID: pending
  11. 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 ***