*** DRAFT ***

## SQLite Release 3.6.21 On 2009-12-07

1. The SQL output resulting from sqlite3_trace() is now modified to include the values of bound parameters.
2. Performance optimizations targeting a specific use case from a single high-profile user of SQLite. A 12% reduction in the number of CPU operations is achieved (as measured by Valgrind). Actual performance improvements in practice may vary depending on workload. Changes include:
   1. The ifnull() and coalesce() SQL functions are now implemented using in-line VDBE code rather than calling external functions, so that unused arguments need never be evaluated.
   2. The substr() SQL function does not bother to measure the length its entire input string if it is only computing a prefix
   3. Unnecessary OP_IsNull, OP_Affinity, and OP_MustBeInt VDBE opcodes are suppressed
   4. Various code refactorizations for performance
3. The FTS3 extension has undergone a major rework and cleanup. New FTS3 documentation is now available.
4. The SQLITE_SECURE_DELETE compile-time option fixed to make sure that content is deleted even when the truncate optimization applies.
5. Improvements to "dot-command" handling in the Command Line Interface.
6. Other minor bug fixes and documentation enhancements.

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.

*** DRAFT ***