*** DRAFT ***
SQLite Release 3.54.0 On 2026-10-15
- Drop support for WindowsXP and earlier Windows versions,
including WindowsCE. SQLite now requires Windows Vista
or later.
- Improve performance by using
Slim Reader/Writer Locks
(SRWLs) to implement non-recursive mutexes, instead of
CriticalSection,
since all supported Windows platforms now provide SRWLs.
- Use the -DSQLITE_UWP=1 compile-time option for UWP and WebUI applications.
- Add the diskused() SQL function as an optional extension.
- CLI enhancements:
- For columnar output modes, the CLI now shows the column name header
by default even if the query returns no rows.
- Use the new diskused() extension to implement the
".diskused" dot-command. The replaces the separate sqlite3_analyzer
utility program, which is now deprecated.
- CLI prompt strings may contain escape sequences that
expand to show state information. The initial CLI
prompt is now be initialized the values of the
SQLITE_PS1 and SQLITE_PS2 environment variables, if
those variables exist.
- The default CLI prompt has been enhanced to take
advantage of the new escape sequences described in
the previous.
- On unix, the CLI preserves zero bytes when outputing
unformatted BLOB values.
- Enhance the .mode command with new options
"--rowcount on"
and "--titles always".
The "--titles always" is now the default behavior
(see item 3a above). Legacy behavior can be restored
using "-titles on".
- The -csv command-line option automatically disables
display limits, for legacy compatibility.
- The default CLI prompt honors the NO_COLOR environment variable.
- Added the %J and %j conversions used to render JSON string
literals to the built-in printf() and the format() SQL function.
- Add the sqlite3_result_str() interface and use it internally to
simplify the code.
- Enhancements to date/time functions:
- Added the "weekday -N" form of the weekday modifier.
- Added the end of modifier.
- Use O_TMPFILE when generating temporary files, on systems that
support that feature.
- Query planner improvements:
- When doing an UPDATE on a table that has expression indexes,
do not change the expression index if the value being indexed
is unchanged.
- Improved optimization of "expr OR TRUE" and
"expr OR FALSE".
- Ignore DISTINCT in the SELECT statement on the right-hand
side of an IN operator.
- Performance enhancements in the substr() and length() SQL functions.
- Added SQLITE_LIMIT_SCHEMA to the sqlite3_limit() interface.
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 ***