 
Small. Fast. Reliable.
Choose any three.
 
SQLite Release 3.8.6 On 2014-08-15
- Added support for hexadecimal integer literals in the SQL parser.
    (Ex: 0x123abc)
- Enhanced the PRAGMA integrity_check command to detect UNIQUE and
    NOT NULL constraint violations.
- Increase the maximum value of SQLITE_MAX_ATTACHED from 62 to 125.
- Increase the timeout in WAL mode before issuing an SQLITE_PROTOCOL
    error from 1 second to 10 seconds.
- Added the likely(X) SQL function.
- The unicode61 tokenizer is now included in FTS4 by default.
- Trigger automatic reprepares on all prepared statements when ANALYZE is
    run.
- Added a new
    loadable extension source code file to the source tree:
    fileio.c
- Add extension functions readfile(X) and writefile(X,Y)
    (using code copy/pasted from fileio.c in the previous bullet) to the
    command-line shell.
- Added the .fullschema dot-command to the command-line shell.
Performance Enhancements:
 
- Deactivate the DISTINCT keyword on subqueries on the
    right-hand side of the IN operator.
- Add the capability of evaluating an IN operator as a sequence
    of comparisons as an alternative to using a table lookup.  Use the sequence
    of comparisons implementation in circumstances where it is likely to be
    faster, such as when the right-hand side of the IN operator
    is small and/or changes frequently.
- The query planner now uses sqlite_stat4 information (created by ANALYZE)
    to help determine if the skip-scan optimization is appropriate.
- Ensure that the query planner never tries to use a self-made transient
    index in place of a schema-defined index.
- Other minor tweaks to improve the quality of VDBE code.
Bug Fixes:
 
- Fix a bug in CREATE UNIQUE INDEX, introduced when WITHOUT ROWID
    support added in version 3.8.2, that allows a non-unique NOT NULL column to be
    given a UNIQUE index.
    Ticket 9a6daf340df99ba93c
- Fix a bug in R-Tree extension, introduced in the previous release,
    that can cause an
    incorrect results for queries that use the rowid of the R-Tree on the
    left-hand side of an IN operator.
    Ticket d2889096e7bdeac6.
- Fix the sqlite3_stmt_busy() interface so that it gives the correct answer
    for ROLLBACK statements that have been stepped but never reset.
- Fix a bug in that would cause a null pointer to be dereferenced
    if a column with a DEFAULT that is an aggregate function tried to usee its
    DEFAULT.
    Ticket 3a88d85f36704eebe1
- CSV output from the command-line shell now always uses CRNL for the
    row separator and avoids inserting CR in front of NLs contained in
    data.
- Fix a column affinity problem with the IN operator.
    Ticket 9a8b09f8e6.
- Fix the ANALYZE command so that it adds correct samples for
    WITHOUT ROWID tables in the sqlite_stat4 table.
    Ticket b2fa5424e6fcb15.
- SQLITE_SOURCE_ID: "2014-08-15 11:46:33 9491ba7d738528f168657adb43a198238abde19e"
- SHA1 for sqlite3.c: 72c64f05cd9babb9c0f9b3c82536d83be7804b1c
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.