Small. Fast. Reliable.
Choose any three.

## SQLite Release 3.7.12 On 2012-05-14

1. Add the SQLITE_DBSTATUS_CACHE_WRITE option for sqlite3_db_status().
2. Optimize the typeof() and length() SQL functions so that they avoid unnecessary reading of database content from disk.
3. Add the FTS4 "merge" command, the FTS4 "automerge" command, and the FTS4 "integrity-check" command.
4. Report the name of specific CHECK constraints that fail.
5. In the command-line shell, use popen() instead of fopen() if the first character of the argument to the ".output" command is "|".
6. Make use of OVERLAPPED in the windows VFS to avoid some system calls and thereby obtain a performance improvement.
7. More aggressive optimization of the AND operator when one side or the other is always false.
8. Improved performance of queries with many OR-connected terms in the WHERE clause that can all be indexed.
9. Add the SQLITE_RTREE_INT_ONLY compile-time option to force the R*Tree Extension Module to use integer instead of floating point values for both storage and computation.
10. Enhance the PRAGMA integrity_check command to use much less memory when processing multi-gigabyte databases.
11. New interfaces added to the test_quota.c add-on module.
12. Added the ".trace" dot-command to the command-line shell.
13. Allow virtual table constructors to be invoked recursively.
14. Improved optimization of ORDER BY clauses on compound queries.
15. Improved optimization of aggregate subqueries contained within an aggregate query.
16. Bug fix: Fix the RELEASE command so that it does not cancel pending queries. This repairs a problem introduced in 3.7.11.
17. Bug fix: Do not discard the DISTINCT as superfluous unless a subset of the result set is subject to a UNIQUE constraint and it none of the columns in that subset can be NULL. Ticket 385a5b56b9.
18. Bug fix: Do not optimize away an ORDER BY clause that has the same terms as a UNIQUE index unless those terms are also NOT NULL. Ticket 2a5629202f.
19. SQLITE_SOURCE_ID: "2012-05-14 01:41:23 8654aa9540fe9fd210899d83d17f3f407096c004"
20. SHA1 for sqlite3.c: 57e2104a0f7b3f528e7f6b7a8e553e2357ccd2e1

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.