Small. Fast. Reliable.
Choose any three.

## SQLite Release 3.11.1 On 2016-03-03

Prior changes from version 3.11.0 (2016-02-15):

General improvements:

1. Enhanced WAL mode so that it works efficiently with transactions that are larger than the cache_size.
2. Added the FTS5 detail option.
3. Added the "EXTRA" option to PRAGMA synchronous that does a sync of the containing directory when a rollback journal is unlinked in DELETE mode, for better durability. The SQLITE_EXTRA_DURABLE compile-time option enables PRAGMA synchronous=EXTRA by default.
4. Enhanced the query planner so that it is able to use a covering index as part of the OR optimization.
5. Avoid recomputing NOT NULL and CHECK constraints on unchanged columns in UPDATE statement.
6. Many micro-optimizations, resulting in a library that is faster than the previous release.

   Enhancements to the command-line shell:

7. By default, the shell is now in "auto-explain" mode. The output of EXPLAIN commands is automatically formatted.
8. Added the ".vfslist" dot-command.
9. The SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option is now turned on by default in the standard builds.

   Enhancements to the TCL Interface:

10. If a database connection is opened with the "-uri 1" option, then URI filenames are honored by the "backup" and "restore" commands.
11. Added the "-sourceid" option to the "sqlite3" command.

    Makefile improvements:

12. Improved pthreads detection in configure scripts.
13. Add the ability to do MSVC Windows builds from the amalgamation tarball.

    Bug fixes

14. Fix an issue with incorrect sharing of VDBE temporary registers between co-routines that could cause incorrect query results in obscure cases. Ticket d06a25c84454a.
15. Fix a problem in the sqlite3_result_subtype() interface that could cause problems for the json1 extension under obscure circumstances. Fix for ticket f45ac567eaa9f9.
16. Escape control characters in JSON strings. Fix for ticket ad2559db380abf8.
17. Reenable the xCurrentTime and xGetLastError methods in the built-in unix VFSes as long as SQLITE_OMIT_DEPRECATED is not defined.

    Backwards Compatibility:

18. Because of continuing security concerns, the two-argument version of the seldom-used and little-known fts3_tokenizer() function is disabled unless SQLite is compiled with the SQLITE_ENABLE_FTS3_TOKENIZER.

Changes in this specific patch release, version 3.11.1 (2016-03-03):

1. Improvements to the Makefiles and build scripts used by VisualStudio.
2. Fix an FTS5 issue in which the 'optimize' command could cause index corruption.
3. Fix a buffer overread that might occur if FTS5 is used to query a corrupt database file.
4. Increase the maximum "scope" value for the spellfix1 extension from 6 to 30.
5. SQLITE_SOURCE_ID: "2016-03-03 16:17:53 f047920ce16971e573bc6ec9a48b118c9de2b3a7"
6. SHA1 for sqlite3.c: 3da832fd2af36eaedb05d61a8f4c2bb9f3d54265

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.