*** DRAFT ***

SQLite Release 3.51.0 On 2025-99-99

  1. New macros in sqlite3.h:
    1. SQLITE_SCM_BRANCH → the name of the branch from which the source code is taken.
    2. SQLITE_SCM_TAGS → space-separated list of tags on the source code check-in.
    3. SQLITE_SCM_DATETIME → ISO-8601 date and time of the source code check-in.
  2. Enhancements to TCL Interface:
    1. Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array.
    2. User-defined functions may not break to return an SQL NULL.
  3. CLI enhancements:
    1. Increase the precision of ".timer" to microseconds.
    2. Enhance the "box" and "column" formatting modes to better deal with double-wide characters.
  4. Performance enhancements:
    1. Use fewer CPU cycles to commit a read transaction.
    2. Early detection of joins that return no rows due to one or more of the tables containing no rows.
    3. Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression.
  5. For the built-in format() function, omit the leading '-' from negative floating point numbers if the '+' flag is omitted and the "#" flag is present and all displayed digits are '0'. Use '%#f' or similar to avoid outputs like '-0.00' and instead show just '0.00'.
  6. Improved error messages generated by FTS5.
  7. Enforce STRICT typing on computed columns.

    Hashes:

  8. SQLITE_SOURCE_ID: pending
  9. 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 ***