Small. Fast. Reliable.
Choose any three.

## SQLite Release 3.8.10.2 On 2015-05-20

1. Fix an index corruption issue introduced by version 3.8.7. An index with a TEXT key can be corrupted by an INSERT into the corresponding table if the table has two nested triggers that convert the key value to INTEGER and back to TEXT again. Ticket 34cd55d68e0
2. SQLITE_SOURCE_ID: "2015-05-20 18:17:19 2ef4f3a5b1d1d0c4338f8243d40a2452cc1f7fe4"
3. SHA1 for sqlite3.c: 638abb77965332c956dbbd2c8e4248e84da4eb63

Changes carried forward from version 3.8.10.1 (2015-05-09):

1. Make sqlite3_compileoption_used() responsive to the SQLITE_ENABLE_DBSTAT_VTAB compile-time option.
2. Fix a harmless warning in the command-line shell on some versions of MSVC.
3. Fix minor issues with the dbstat virtual table.

Changes carried forward from version 3.8.10 (2015-05-07):

1. Added the sqldiff.exe utility program for computing the differences between two SQLite database files.
2. Added the matchinfo y flag to the matchinfo() function of FTS3.
3. Performance improvements for ORDER BY, VACUUM, CREATE INDEX, PRAGMA integrity_check, and PRAGMA quick_check.
4. Fix many obscure problems discovered while SQL fuzzing.
5. Identify all methods for important objects in the interface documentation. (example)
6. Made the American Fuzzy Lop fuzzer a standard part of SQLite's testing strategy.
7. Add the ".binary" and ".limits" commands to the command-line shell.
8. Make the dbstat virtual table part of standard builds when compiled with the SQLITE_ENABLE_DBSTAT_VTAB option.

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.