Small. Fast. Reliable.
Choose any three.

## SQLite Release 3.30.0 On 2019-10-04

1. Add support for the FILTER clause on aggregate functions.
2. Add support for the NULLS FIRST and NULLS LAST syntax in ORDER BY clauses.
3. The index_info and index_xinfo pragmas are enhanced to provide information about the on-disk representation of WITHOUT ROWID tables.
4. Add the sqlite3_drop_modules() interface, allowing applications to disable automatically loaded virtual tables that they do not need.
5. Improvements to the .recover dot-command in the CLI so that it recovers more content from corrupt database files.
6. Enhance the RBU extension to support indexes on expressions.
7. Change the schema parser so that it will error out if any of the type, name, and tbl_name columns of the sqlite_master table have been corrupted and the database connection is not in writable_schema mode.
8. The PRAGMA function_list, PRAGMA module_list, and PRAGMA pragma_list commands are now enabled in all builds by default. Disable them using -DSQLITE_OMIT_INTROSPECTION_PRAGMAS.
9. Add the SQLITE_DBCONFIG_ENABLE_VIEW option for sqlite3_db_config().
10. Added the TCL Interface config method in order to be able to disable SQLITE_DBCONFIG_ENABLE_VIEW as well as control other sqlite3_db_config() options from TCL.
11. Added the SQLITE_DIRECTONLY flag for application-defined SQL functions to prevent those functions from being used inside triggers and views.
12. The legacy SQLITE_ENABLE_STAT3 compile-time option is now a no-op.

    Hashes:

13. SQLITE_SOURCE_ID: 2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f
14. SHA3-256 for sqlite3.c: f04393dd47205a4ee2b98ff737dc51a3fdbcc14c055b88d58f5b27d0672158f5

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.