In the change log for patch releases, repeat the changes of the main release
for the page containing changes of the just the patch release,
but do not repeat the main release changes in the overall change log.
check-in: affc1a3589 user: drh tags: branch-3.8.0

http://www.sqlite.org/src/timeline</a> and
<a href="http://www.sqlite.org/src/timeline?t=release">
http://www.sqlite.org/src/timeline?t=release</a>
</p>
<tcl>
set nChng 0
proc chng {date desc} {
global DEST nChng
if {[regexp {\(([0-9.]+)\)} $date all vers]} { set label [string map {. _} $vers] hd_fragment version_$label } hd_puts "<h3>$date</h3>" hd_resolve "<p><ul>$desc</ul></p>" if {[regexp {\((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} $date all vers]} { set tag [string trim [string map {. _} $vers]] file mkdir $DEST/releaselog set filename releaselog/$tag.html hd_open_aux $filename hd_header "SQLite Release $vers On $date" hd_keywords "Version $vers" "*version $vers" hd_enable_main 0 hd_puts "<h2>SQLite Release $vers On $date</h2>" regsub -all {<a href="(?!http:)} $desc {<a href="../} desc hd_resolve "<p><ul>$desc</ul></p>" hd_puts { <p>A <a href="../changes.html">complete list of SQLite releases</a> in a single page is also available. A detailed history of every check-in is available at <a href="http://www.sqlite.org/src/timeline"> http://www.sqlite.org/src/timeline</a>.</p> } hd_close_aux hd_enable_main 1 incr nChng
if {$nChng==1 && [file exists $DEST/$filename]} { file copy -force $DEST/$filename $DEST/releaselog/current.html}
}}
chng {2013-10-?? (3.8.1)} {
<li>Add support for SQLITE_ENABLE_STAT4
<li>Add the [SQLITE_MINIMUM_FILE_DESCRIPTOR] compile-time option
<li>Add the win32-longpath VFS on windows.
}
chng {2013-08-29 (3.8.0.1)} {
<li>Add support for [partial indexes]</li><li>Cut-over to the [next generation query planner] for faster and better query plans.<li>The [EXPLAIN QUERY PLAN] output no longer shows an estimate of the number of rows generated by each loop in a join.<li>Added the [FTS4 notindexed option], allowing non-indexed columns in an FTS4 table.<li>Added the [SQLITE_STMTSTATUS_VM_STEP] option to [sqlite3_stmt_status()].<li>Added the [cache_spill pragma].<li>Added the [query_only pragma].<li>Added the [defer_foreign_keys pragma] and the [sqlite3_db_status](db, [SQLITE_DBSTATUS_DEFERRED_FKS],...) C-language interface.<li>Added the "percentile()" function as a [loadable extension] in the ext/misc subdirectory of the source tree.<li>Added the [SQLITE_ALLOW_URI_AUTHORITY] compile-time option.<li>Add the [sqlite3_cancel_auto_extension(X)] interface.<li>A running SELECT statement that lacks a FROM clause (or any other statement that never reads or writes from any database file) will not prevent a read transaction from closing.<li>Add the [SQLITE_DEFAULT_AUTOMATIC_INDEX] compile-time option. Setting this option to 0 disables automatic indices by default.<li>Issue an [SQLITE_WARNING_AUTOINDEX] warning on the [SQLITE_CONFIG_LOG] whenever the query planner uses an automatic index.<li>Added the [SQLITE_FTS3_MAX_EXPR_DEPTH] compile-time option.<li>Added an optional 5th parameter defining the collating sequence to the next_char() extension SQL function.<li>The [SQLITE_BUSY_SNAPSHOT] extended error code is returned in WAL mode when a read transaction cannot be upgraded to a write transaction because the read is on an older snapshot.<li>Enhancements to the sqlite3_analyzer utility program to provide size information separately for each individual index of a table, in addition to the aggregate size.<li>Allow read transactions to be freely opened and closed by SQL statements run from within the implementation of [application-defined SQL functions] if the function is called by a SELECT statement that does not access any database table.<li>Disable the use of posix_fallocate() on all (unix) systems unless the HAVE_POSIX_FALLOCATE compile-time option is used.<li>Update the ".import" command in the [command-line shell] to support multi-line fields and correct RFC-4180 quoting and to issue warning and/or error messages if the input text is not strictly RFC-4180 compliant.<li>Bug fix: In the [unicode61] tokenizer of [FTS4], treat all private code points as identifier symbols.<li>Bug fix: Bare identifiers in ORDER BY clauses bind more tightly to output column names, but identifiers in expressions bind more tightly to input column names. Identifiers in GROUP BY clauses always prefer output column names, however.<li>Bug fixes: Multiple problems in the legacy query optimizer were fixed by the move to [NGQP].</ul><p>The above are changes since [version 3.7.17]. The differencesbetween 3.8.0 and 3.8.0.1 are as follows:</p><ul>
<li>Fix an off-by-one error that caused quoted empty string at the end of a
CRNL-terminated line of CSV input to be misread by the command-line shell.
<li>Fix a query planner bug involving a LEFT JOIN with a BETWEEN or LIKE/GLOB
constraint and then another INNER JOIN to the right that involves an OR constraint.
<li>Fix a query planner bug that could result in a segfault when querying tables
with a UNIQUE or PRIMARY KEY constraint with more than four columns.
<li>SQLITE_SOURCE_ID:
"2013-08-29 17:35:01 352362bc01660edfbda08179d60f09e2038a2f49"
<li>SHA1 for sqlite3.c: 99906bf63e6cef63d6f3d7f8526ac4a70e76559e
}
chng {2013-08-26 (3.8.0)} {
<li>Add support for [partial indexes]</li>
<li>Cut-over to the [next generation query planner] for faster and better query plans.
<li>The [EXPLAIN QUERY PLAN] output no longer shows an estimate of the number of
rows generated by each loop in a join.
<li>Added the [FTS4 notindexed option], allowing non-indexed columns in an FTS4 table.
................................................................................
to that same file. See ticket
[http://www.sqlite.org/src/info/7ff3120e4f | 7ff3120e4f] for further
information.
<li>SQLITE_SOURCE_ID:
"2013-04-12 11:52:43 cbea02d93865ce0e06789db95fd9168ebac970c7"
<li>SHA1 for sqlite3.c: d466b54789dff4fb0238b9232e74896deaefab94
}
chng {2013-03-29 (3.7.16.1)} {
<li>Fix for a bug in the ORDER BY optimizer that was introduced in
[version 3.7.15] which would sometimes optimize out the sorting step
when in fact the sort was required.
Ticket [http://www.sqlite.org/src/info/a179fe7465 | a179fe7465]
<li>Fix a long-standing bug in the [CAST expression] that would recognize UTF16
................................................................................
Ticket [http://www.sqlite.org/src/info/6bfb98dfc0c | 6bfb98dfc0c].
<li>The SQLITE_OMIT_MERGE_SORT option has been removed. The merge sorter is
now a required component of SQLite.
<li>Fixed lots of spelling errors in the source-code comments
<li>SQLITE_SOURCE_ID:
"2013-03-29 13:44:34 527231bc67285f01fb18d4451b28f61da3c4e39d"
<li>SHA1 for sqlite3.c: 7a91ceceac9bcf47ceb8219126276e5518f7ff5a
}
chng {2013-03-18 (3.7.16)} {
<li>Added the [PRAGMA foreign_key_check] command.
<li>Added new extended error codes for all SQLITE_CONSTRAINT errors
<li>Added the SQLITE_READONLY_ROLLBACK extended error code for when a database
cannot be opened because it needs rollback recovery but is read-only.
<li>Added SQL functions [unicode(A)] and [char(X1,...,XN)].
................................................................................
files.</li>
<li>And many, many bug fixes...</li>
}
chng {2000-05-29} {
<li>Initial Public Release of Alpha code</li>
}
</tcl>
</dl>