 
Small. Fast. Reliable.
Choose any three.
 
SQLite Release 3.27.0 On 2019-02-07
- Added the VACUUM INTO command
- Issue an SQLITE_WARNING message on the error log if a 
double-quoted string literal is used.
- The sqlite3_normalized_sql() interface works on any prepared statement
created using sqlite3_prepare_v2() or sqlite3_prepare_v3().  It is no
longer necessary to use sqlite3_prepare_v3() with SQLITE_PREPARE_NORMALIZE
in order to use sqlite3_normalized_sql().
- Added the remove_diacritics=2 option to FTS3 and FTS5.
- Added the SQLITE_PREPARE_NO_VTAB option to sqlite3_prepare_v3().
Use that option to prevent circular references to shadow tables from
causing resource leaks.
- Enhancements to the sqlite3_deserialize() interface:
-  Add the SQLITE_FCNTL_SIZE_LIMIT file-control for
     setting an upper bound on the size of the in-memory database created
     by sqlite3_deserialize.  The default upper bound is 1GiB, or whatever
     alternative value is specified by
     sqlite3_config(SQLITE_CONFIG_MEMDB_MAXSIZE)
     and/or SQLITE_MEMDB_DEFAULT_MAXSIZE.
-  Honor the SQLITE_DESERIALIZE_READONLY flag, which was previously described
     in the documentation, but was previously a no-op.
-  Enhance the "deserialize" command of the TCL Interface to give it
     new "--maxsize N" and "--readonly BOOLEAN" options.
 
- Enhancements to the CLI, mostly to support testing and debugging
of the SQLite library itself:
-  Add support for ".open --hexdb". The 
     "dbtotxt" utility 
     program used to generate the text for the "hexdb" is added to the 
     source tree.
-  Add support for the "--maxsize N" option on ".open --deserialize".
-  Add the "--memtrace" command-line option, to show all memory allocations
     and deallocations.
-  Add the ".eqp trace" option on builds with SQLITE_DEBUG, to enable
     bytecode program listing with indentation and 
     PRAGMA vdbe_trace all in one step.
-  Add the ".progress" command for accessing
     the sqlite3_progress_handler() interface.
-  Add the "--async" option to the ".backup" command.
-  Add options "--expanded", "--normalized", "--plain", "--profile", "--row",
     "--stmt", and "--close" to the ".trace" command.
 
-  Increased robustness against malicious SQL that is run against a 
     maliciously corrupted database.
 Bug fixes:
 
- Do not use a partial index to do a table scan on an IN operator.
Ticket 1d958d90596593a774.
- Fix the query flattener so that it works on queries that contain
subqueries that use window functions.
Ticket 709fcd17810f65f717
- Ensure that ALTER TABLE modifies table and column names embedded in WITH
clauses that are part of views and triggers.
- Fix a parser bug that prevented the use of parentheses around table-valued
functions.
- Fix a problem with the OR optimization on indexes on expressions.
Ticket d96eba87698a428c1d.
- Fix a problem with the
LEFT JOIN strength reduction optimization in which the optimization
was being applied inappropriately due to an IS NOT NULL operator.
Ticket 5948e09b8c415bc45d.
- Fix the REPLACE command so that it is no longer able to sneak a
NULL value into a NOT NULL column even if the NOT NULL column has a default
value of NULL.
Ticket e6f1f2e34dceeb1ed6
- Fix a problem with the use of window functions used within 
correlated subqueries.
Ticket d0866b26f83e9c55e3
- Fix the ALTER TABLE RENAME COLUMN command so that it works for tables
that have redundant UNIQUE constraints.
Ticket bc8d94f0fbd633fd9a
- Fix a bug that caused zeroblob values to be truncated when inserted into
a table that uses an expression index.
Ticket bb4bdb9f7f654b0bb9
Hashes:
 
- SQLITE_SOURCE_ID: "2019-02-07 17:02:52 97744701c3bd414e6c9d7182639d8c2ce7cf124c4fce625071ae65658ac61713
"
- SHA3-256 for sqlite3.c: ca011a10ee8515b33e5643444b98ee3d74dc45d3ac766c3700320def52bc6aba
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.