Small. Fast. Reliable.
Choose any three.

## SQLite Release 3.10.1 On 2016-01-14

Prior changes from version 3.10.0 (2016-01-06):

General improvements:

1. Added support for LIKE, GLOB, and REGEXP operators on virtual tables.
2. Added the colUsed field to sqlite3_index_info for use by the sqlite3_module.xBestIndex method.
3. Enhance the PRAGMA cache_spill statement to accept a 32-bit integer parameter which is the threshold below which cache spilling is prohibited.
4. On unix, if a symlink to a database file is opened, then the corresponding journal files are based on the actual filename, not the symlink name.
5. Added the "--transaction" option to sqldiff.
6. Added the sqlite3_db_cacheflush() interface.
7. Added the sqlite3_strlike() interface.
8. When using memory-mapped I/O map the database file read-only so that stray pointers and/or array overruns in the application cannot accidentally modify the database file.
9. Added the experimental sqlite3_snapshot_get(), sqlite3_snapshot_open(), and sqlite3_snapshot_free() interfaces. These are subject to change or removal in a subsequent release.
10. Enhance the 'utc' modifier in the date and time functions so that it is a no-op if the date/time is known to already be in UTC. (This is not a compatibility break since the behavior has long been documented as "undefined" in that case.)
11. Added the json_group_array() and json_group_object() SQL functions in the json extension.
12. Added the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option.
13. Many small performance optimizations.

    Portability enhancements:

14. Work around a sign-extension bug in the optimizer of the HP C compiler on HP/UX. (details)

    Enhancements to the command-line shell:

15. Added the ".changes ON|OFF" and ".vfsinfo" dot-commands.
16. Translate between MBCS and UTF8 when running in cmd.exe on Windows.

    Enhancements to makefiles:

17. Added the --enable-editline and --enable-static-shell options to the various autoconf-generated configure scripts.
18. Omit all use of "awk" in the makefiles, to make building easier for MSVC users.

    Important fixes:

19. Fix inconsistent integer to floating-point comparison operations that could result in a corrupt index if the index is created on a table column that contains both large integers and floating point values of similar magnitude. Ticket 38a97a87a6.
20. Fix an infinite-loop in the query planner that could occur on malformed common table expressions.
21. Various bug fixes in the sqldiff tool.

Changes in this specific patch release, version 3.10.1 (2016-01-14):

New feature:

1. Add the SQLITE_FCNTL_JOURNAL_POINTER file control.

   Bug fix:

2. Fix a 16-month-old bug in the query planner that could generate incorrect results when a scalar subquery attempts to use the block sorting optimization. Ticket cb3aa0641d9a4.

   Hashes:

3. SQLITE_SOURCE_ID: "2016-01-13 21:41:56 254419c36766225ca542ae873ed38255e3fb8588"
4. SHA1 for sqlite3.c: 1398ba8e4043550a533cdd0834bfdad1c9eab0f4

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.