*** DRAFT ***
SQLite Release 3.9.2 On 2015-11-02
Prior changes from version 3.9.0 (2015-10-14):
Policy Changes:
- The version numbering conventions for SQLite are revised to use the
emerging standard of semantic versioning.
New Features And Enhancements:
- Added the json1 extension module in the source tree, and in the amalgamation.
Enable support using the SQLITE_ENABLE_JSON1 compile-time option.
- Added Full Text Search version 5 (FTS5) to the amalgamation, enabled
using SQLITE_ENABLE_FTS5. FTS5 will be considered "experimental" (subject
to incompatible changes) for at least one more release cycle.
- The CREATE VIEW statement now accepts an optional list of
column names following the view name.
- Added support for indexes on expressions.
- Added support for table-valued functions in the FROM clause of a
SELECT statement.
- Added support for eponymous virtual tables.
- A VIEW may now reference undefined tables and functions when
initially created. Missing tables and functions are reported when
the VIEW is used in a query.
- Added the sqlite3_value_subtype() and sqlite3_result_subtype()
interfaced (used by the json1 extension).
- The query planner is now able to use partial indexes that contain
AND-connected terms in the WHERE clause.
- The sqlite3_analyzer.exe utility is updated to report the depth of
each btree and to show the average fanout for indexes and
WITHOUT ROWID tables.
- Enhanced the dbstat virtual table so that it can be used as a
table-valued function where the argument is the schema to be
analyzed.
Other changes:
- The sqlite3_memory_alarm() interface, which has been deprecated and
undocumented for 8 years, is changed into a no-op.
Important fixes:
- Fixed a critical bug in the
SQLite Encryption Extension that
could cause the database to become unreadable and unrecoverable if a VACUUM command
changed the size of the encryption nonce.
- Added a memory barrier in the implementation of
sqlite3_initialize() to help ensure that it is thread-safe.
- Fix the OR optimization so that it always ignores subplans that
do not use an index.
- Do not apply the WHERE-clause push-down optimization on terms that originate
in the ON or USING clause of a LEFT JOIN. Fix for ticket
c2a19d81652f40568c.
Prior changes from version 3.9.1 (2015-10-16):
- Fix the json1 extension so that it does not recognize ASCII form-feed as a
whitespace character, in order to comply with RFC-7159. Fix for ticket
57eec374ae1d0a1d
- Add a few #ifdef and build script changes to address compilation issues that
appeared after the 3.9.0 release.
Changes in this specific patch release, version 3.9.2 (2015-11-02):
- Fix the schema parser so that it interprets certain
(obscure and ill-formed)
CREATE TABLE statements the same as legacy. Fix for ticket
ac661962a2aeab3c331
- Fix a query planner problem that could result in an incorrect
answer due to the use of automatic indexing in subqueries in
the FROM clause of a correlated scalar subqueries. Fix for ticket
8a2adec1.
- SQLITE_SOURCE_ID: "2015-11-02 18:31:45 bda77dda9697c463c3d0704014d51627fceee328"
- SHA1 for sqlite3.c: 1c4013876f50bbaa3e6f0f98e0147c76287684c1
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 ***