<title>Recent SQLite News</title>

<h2>Recent News</h2>

<tcl>
proc newsitem {date title text} {
  regsub -all {[^a-z0-9]} [string tolower $date] _ tag
  hd_puts "<a name=\"$tag\"></a>"
  if {![regsub -all {(Version) (\d+)\.(\d+)\.(\d+)\.(\d+)} $title \
        {<a href="releaselog/\2_\3_\4_\5.html">\0</a>} title]} {
    regsub -all {(Version) (\d+)\.(\d+)\.(\d+)} $title \
      {<a href="releaselog/\2_\3_\4.html">\0</a>} title
  }
  hd_puts "<h3>$date - $title</h3>"
  regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt
  regsub -all {[Tt]icket #(\d+)} $txt \
      {<a href="http://www.sqlite.org/cvstrac/tktview?tn=\1">\0</a>} txt
  hd_resolve "<blockquote>$txt</blockquote>"
  hd_puts "<hr width=\"50%\">"
}

newsitem {2016-04-18} {Release 3.12.2} {
<p>Yikes!  The 3.12.0 and 3.12.1 releases contain a backwards compatibility bug!
   Tables that declare a column with type <tt>"INTEGER" PRIMARY KEY</tt>
   (where the datatype name INTEGER is quoted) generate an incompatible
   database file.  The mistake came about because the developers have never
   thought to put a typename in quotes before, and so there was no documentation 
   of that capability nor any tests.  (There are tests now, though, of course.)
   Instances of quoting the datatype name are probably infrequent in the wild,
   so we do not expect the impact of this bug to be too severe.
   Upgrading is still strongly recommended.
<p>Fixes for three other minor issues were included in this patch release.
   The other issues would have normally been deferred until the next scheduled
   release, but since a patch release is being issued anyhow, they might as
   well be included.
}

newsitem {2016-04-08} {Release 3.12.1} {
<p>SQLite [version 3.12.1] is an emergency patch release to address a 
   [https://www.sqlite.org/src/info/7f7f8026eda38|crash bug] that snuck
   into [version 3.12.0].  Upgrading from version 3.12.0 is highly
   recommended.
<p>Another minor problem involving datatypes on [view] columns, and
   a query planner deficiency are fixed at the same time.  These two
   issues did not justify a new release on their own, but since a release
   is being issued to deal with the crash bug, we included these other
   fixes for good measure.
}

newsitem {2016-03-29} {Release 3.12.0} {
<p>SQLite [version 3.12.0] is a regularly scheduled maintenance release.
   A notable change in this release is an
   [increase in the default page size] for newly created database files.
   There are also various performance improvements.
   See the [version 3.12.0|change log] for details.
}

newsitem {2016-03-03} {Release 3.11.1} {
<p>SQLite [version 3.11.1] is a patch release that fixes problems in the
   new [FTS5] extension and increases a default setting in the [spellfix1]
   extension, and implements enhancements to some of the Windows makefiles.
   The SQLite core is unchanged from 3.11.0. Upgrading is optional.
}

newsitem {2016-02-15} {Release 3.11.0} {
<p>SQLite [version 3.11.0] is a regularly scheduled maintenance release.
}

newsitem {2016-01-20} {Release 3.10.2} {
<p>Yikes!  An optimization attempt gone bad resulted in a 
[https://www.sqlite.org/src/info/80369eddd5c94 | bug in the LIKE operator]
which is fixed by this patch release.
Three other minor but low-risk fixes are also included in the patch.
}

newsitem {2016-01-14} {Release 3.10.1} {
<p>SQLite [version 3.10.1] is a bug-fix release primarily targeting the
fix for the query planner bug
[https://www.sqlite.org/src/info/cb3aa0641d9a4|cb3aa0641d9a4] discovered by
Mapscape.  Also included is a minor API enhancement requested by
the Firefox developers at Mozilla.  The differences from version 
3.10.0 are minimal.
}

newsitem {2016-01-06} {Release 3.10.0} {
<p>SQLite [version 3.10.0] is a regularly scheduled maintenance release.
}

newsitem {2015-11-02} {Release 3.9.2} {
<p>SQLite [version 3.9.2] is a patch release fixing two obscure bugs.
(Details: [https://www.sqlite.org/src/tktview?name=8a2adec166|(1)],
[https://www.sqlite.org/src/tktview?name=ac661962a2|(2)]).
Upgrade only if you are having problems.
}

newsitem {2015-10-16} {Release 3.9.1} {
<p>SQlite [version 3.9.1] is a
[https://www.sqlite.org/src/vpatch?from=version-3.9.0&to=version-3.9.1|small patch]
to [version 3.9.0] that includes
a few simple build script and #ifdef tweaks to make the code easier to 
compile on a wider variety of platform.  There are no functional changes, 
except for a single
[https://www.sqlite.org/src/info/57eec374ae1d0a1d4a|minor bug-fix] in 
[the json1 extension] to stop it from recognizing form-feed 
(ASCII 0x0c) as a whitespace character, in conformance with 
[http://www.rfc-editor.org/rfc/rfc7159.txt|RFC7159].
}

newsitem {2015-10-14} {Release 3.9.0} {
<p>SQLite version 3.9.0 is a regularly schedule maintenance release.
Key changes include:
<ul>
<li>Begin using [http://semver.org/|semantic versioning].
<li>[json1|JSON SQL functions]
<li>The [FTS5] full-text search engine
<li>Support for [indexes on expressions]
<li>Support for [table-valued functions]
</ul>
See the [version 3.9.0|change log] for a long and more complete list
of changes.
}

newsitem {2015-07-29} {Release 3.8.11.1} {
<p>SQLite version 3.8.11.1 is a patch release that fixes two arcane
   issues that were reported shortly after 3.8.11 was released.  Upgrade
   from 3.8.11 only in the unlikely event that one of these obscure
   issues affect your code.
}

newsitem {2015-07-27} {Release 3.8.11} {
<p>SQLite version 3.8.11 is a regularly scheduled maintenance release.
   See the [version 3.8.11|change log] for details.
}

newsitem {2015-05-20} {Release 3.8.10.2} {
<p>Yikes!  Index corruption after a sequence of valid SQL statements!
<p>It has been many years since anything like 
   [https://www.sqlite.org/src/info/34cd55d6|this bug] has snuck into
   an official SQLite release.  But for the pasts seven months
   ([version 3.8.7] through [version 3.8.10.1])
   if you do an INSERT into a carefully
   crafted schema in which there are two nested triggers that convert
   an index key value from TEXT to INTEGER and then back
   to TEXT again, the INTEGER value might get inserted as the index
   key instead of the correct TEXT, resulting in index corruption.
   This patch release adds a single line of code to fix the problem.
<p>If you do actually encounter this problem, running [REINDEX] on the
   damaged indexes will clear it.
}

newsitem {2015-05-09} {Release 3.8.10.1} {
<p>The 3.8.10 release did not add the new [SQLITE_ENABLE_DBSTAT_VTAB]
   compile-time option to the [sqlite3_compileoption_used()] interface.
   This patch release fixes that omission.  And while we are at it,
   the associated [dbstat virtual table] was enhanced slightly and a
   harmless compiler warning was fixed.

   <p>There is no reason to upgrade from version 3.8.10 unless you are
   using the new [SQLITE_ENABLE_DBSTAT_VTAB] compile-time option.
}

newsitem {2015-05-07} {Release 3.8.10} {
<p>SQLite version 3.8.10 is a regularly scheduled maintenance release.
   This release features performance improvements, fixes to several
   arcane bugs found by the AFL fuzzer, the new "sqldiff.exe" command-line
   utility, improvements to the documentation, and other enhancements.
   See the <a href='releaselog/3_8_10.html'>release notes</a> for 
   additional information.
}

newsitem {2015-04-08} {Release 3.8.9} {
<p>SQLite version 3.8.9 is a regularly scheduled maintenance release.
   New features in this release include the 
   [PRAGMA index_xinfo] command, the [sqlite3_status64()] interface,
   and the ".dbinfo" command of the [command-line shell].
   See the <a href='releaselog/3_8_9.html'>release notes</a> for
   additional information.
}

newsitem {2015-02-25} {Release 3.8.8.3} {
<p>The 3.8.8.3 patch release fixes an obscure problem in the SQLite code
   generator that can cause incorrect results when the qualifying expression
   of a [partial index] is used inside the ON clause of a LEFT JOIN.
   This problem has been in the code since support for partial indexes
   was first added in version 3.8.0.  However, it is difficult to imagine
   a valid reason to every put the qualifying constraint inside the ON
   clause of a LEFT JOIN, and so this issue has never come up before.

<p>Any applications that is vulnerable to this bug would have encountered
   problems already.  Hence, upgrading from the previous release is optional.
}

newsitem {2015-01-30} {Release 3.8.8.2} {
<p>The 3.8.8.2 patch release fixes a single minor problem:  It ensures
   that the [sqlite3_wal_checkpoint(TRUNCATE)] operation will always truncate
   the [write-ahead log] even if log had already been reset and contained
   no new content.  It is unclear if this is a bug fix or a new feature.

<p>Something like this would normally go into the next regularly scheduled
   release, but a prominent SQLite user needed the change in a hurry so
   we were happy to rush it out via this patch.

<p>There is no reason to upgrade unless you actually need the enhanced
   behavior of [sqlite3_wal_checkpoint(TRUNCATE)].
}

newsitem {2015-01-20} {Release 3.8.8.1} {
<p>Within hours of releasing version 3.8.8, a bug was reported against
   the 10-month-old 3.8.4 release.  As that bug exists in all subsequent
   releases, the decision was made to issue a small patch to the
   3.8.8 before it came into widespread use.

<p>See ticket
   [https://www.sqlite.org/src/info/f97c4637102a3ae72b7911|f97c4637102a3ae72b7911]
   for a description of the bug.

<p>The changes between versions 3.8.8 and 3.8.8.1 are minimal.
}   

newsitem {2015-01-16} {Release 3.8.8} {
<p>SQLite [version 3.8.8] is a regularly schedule maintenance release of
   SQLite.

<p>There are no dramatic new features or performance enhancements in this
   release, merely incremental improvements.  Most of the performance gain
   in this release comes from refactoring the B-Tree rebalancing logic to
   avoid unnecessary memcpy() operations.  New features include the
   [PRAGMA data_version] statement and the ability to accept a
   [VALUES clause] with no arbitrary limit on the number of rows.
   Several obscure bugs have been fixed, including some multithreading
   races and a work-around for a compiler bug on some Macs.

<p>See the [version 3.8.8|change log] for a longer list of
   enhancements and bug fixes.
}



</tcl>

<a href="oldnews.html">Old news...</a>
