 
Small. Fast. Reliable.
Choose any three.
 
SQLite Release 3.18.2 On 2017-06-17
Prior changes from version 3.18.0 (2017-03-30):
- Added the PRAGMA optimize command
- The SQLite version identifier returned by the sqlite_source_id() SQL function
    and the sqlite3_sourceid() C API and found in the SQLITE_SOURCE_ID macro is
    now a 64-digit SHA3-256 hash instead of a 40-digit SHA1 hash.
- Added the json_patch() SQL function to the JSON1 extension.
- Enhance the LIKE optimization so that it works for arbitrary expressions on
    the left-hand side as long as the LIKE pattern on the right-hand side does not
    begin with a digit or minus sign.
- Added the sqlite3_set_last_insert_rowid() interface and use the new interface in
    the FTS3, FTS4, and FTS5 extensions to ensure that the sqlite3_last_insert_rowid()
    interface always returns reasonable values.
- Enhance PRAGMA integrity_check and PRAGMA quick_check so that they verify
    CHECK constraints.
- Enhance the query plans for joins to detect empty tables early and
    halt without doing unnecessary work.
- Enhance the sqlite3_mprintf() family of interfaces and the printf SQL function
    to put comma separators at the thousands marks for integers, if the "," format modifier
    is used in between the "%" and the "d" (example: "%,d").
- Added the -DSQLITE_MAX_MEMORY=N compile-time option.
- Added the .sha3sum dot-command and the .selftest dot-command
    to the command-line shell
- Begin enforcing SQLITE_LIMIT_VDBE_OP. This can be used, for example, to prevent
    excessively large prepared statements in systems that accept SQL queries from
    untrusted users.
- Various performance improvements.
Bug Fixes:
 
- Ensure that indexed expressions with collating sequences are handled correctly.
    Fix for ticket eb703ba7b50c1a5.
- Fix a bug in the 'start of ...' modifiers for the date and time functions.
    Ticket 6097cb92745327a1
- Fix a potential segfault in complex recursive triggers, resulting from a
    bug in the OP_Once opcode introduced as part of a performance optimization in
    version 3.15.0.
    Ticket 06796225f59c057c
- In the RBU extension, add extra sync operations to avoid the possibility of
    corruption following a power failure.
- The sqlite3_trace_v2() output for nested SQL statements should always begin
    with a "--" comment marker.
Prior changes from version 3.18.1 (2017-06-16):
- Fix a bug associated with auto_vacuum that can lead to database
    corruption.  The bug was introduced in version 3.16.0 (2017-01-02).
    Ticket fda22108.
Changes in this specific patch release, version 3.18.2 (2017-06-17):
- Fix a bug that might cause duplicate output rows when an IN operator is
    used in the WHERE clause.
    Ticket 61fe9745.
Hashes:
 
- SQLITE_SOURCE_ID: "2017-06-17 09:59:36 036ebf729e4b21035d7f4f8e35a6f705e6bf99887889e2dc14ebf2242e7930dd"
- SHA3-256 for sqlite3.c: b0bd014f2776b9f9508a3fc6432f70e2436bf54475369f88f0aeef75b0eec93e
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.