*** DRAFT ***

## SQLite Release 3.8.3 On 2014-02-03

1. Added support for common table expressions and the WITH clause.
2. Added the printf() SQL function.
3. Added SQLITE_DETERMINISTIC as an optional bit in the 4th argument to the sqlite3_create_function() and related interfaces, providing applications with the ability to create new functions that can be factored out of inner loops when they have constant arguments.
4. Add SQLITE_READONLY_DBMOVED error code, returned at the beginning of a transaction, to indicate that the underlying database file has been renamed or moved out from under SQLite.
5. Allow arbitrary expressions, including function calls and subqueries, in the filename argument to ATTACH.
6. Allow a VALUES clause to be used anywhere a SELECT statement is valid.
7. Reseed the PRNG used by sqlite3_randomness(N,P) when invoked with N==0. Automatically reseed after a fork() on unix.
8. Enhance the spellfix1 virtual table so that it can search efficiently by rowid.
9. Performance enhancements.
10. Improvements to the comments in the VDBE byte-code display when running EXPLAIN.
11. Add the "%token_class" directive to LEMON parser generator and use it to simplify the grammar.
12. Change the LEMON source code to avoid calling C-library functions that OpenBSD considers dangerous. (Ex: sprintf).
13. Bug fix: In the command-line shell CSV import feature, do not end a field when an escaped double-quote occurs at the end of a CRLN line.
14. SQLITE_SOURCE_ID: "2014-02-03 13:52:03 e816dd924619db5f766de6df74ea2194f3e3b538"
15. SHA1 for sqlite3.c: 98a07da78f71b0275e8d9c510486877adc31dbee

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 ***