Small. Fast. Reliable.
Choose any three.

Recent News

2010-October-08 - Version 3.7.3

SQLite version 3.7.3 is a regularly scheduled bi-monthly maintenance release of SQLite. Upgrading from version 3.7.2 is optional. Upgrading from all other releases is recommended.

This release adds two new interfaces (really just variations on existing interfaces). The sqlite3_create_function_v2() interface adds a destructor for the application-data pointer. The new sqlite3_soft_heap_limit64() interface allows the soft heap limit to be set to a value greater than 231.

The RTREE extension has been enhanced with the ability to have an application-defined query region. This might be used, for example, to locate all objects within the field of view of a camera.

The 3.7.3 release also includes some performance enhancements, including query planner improvements, documentation updates, and fixes to some very obscure bugs.


2010-August-24 - Version 3.7.2

SQLite version 3.7.2 fixes a long-standing bug that can cause the database free-page list to go corrupt if incremental_vacuum is used multiple times to partially reduce the size of a database file that contains many hundreds of unused database pages. The original bug reports together with links to the patch that fixes it can be seen here.

This bug has been in the code for at least a year and possibly longer. The bug has nothing to do with the versions 3.7.1 or 3.7.0 or any other recent release. The fact that the bug was discovered (and fixed) within hours of the 3.7.1 release is purely a coincidence.

The bug is impossible to hit without using incremental_vacuum and is very difficult to hit even with incremental_vacuum. And the kind of corruption that the bug causes can usually be fixed simply by running VACUUM. Nevertheless, because the bug can result in database corruption, it is recommended that all SQLite users upgrade to version 3.7.2 or later.


2010-August-23 - Version 3.7.1

SQLite version 3.7.1 is a stabilization release for the 3.7.x series. Other than the filesize-in-header bug that was fixed in version 3.7.0.1, no major problems have been seen in 3.7.0. Some minor corner-case performance regressions have been fixed. A typo in the OS/2 interface has been repaired.

A biggest part of the 3.7.1 release is a cleanup and refactoring of the pager module within SQLite. This refactoring should have no application-visible effects. The purpose was to reorganize the code in ways that make it easier to prove correctness.

The 3.7.1 release adds new experimental methods for obtained more detailed memory usage information and for controlling database file fragmentation. And the query planner now does a better job of optimizing the LIKE and GLOB operators.

This release increases the maximum size of database pages from 32KiB to 64KiB. A database with 64KiB pages will not be readable or writable by older versions of SQLite. Note that further increases in page size are not feasible since the file format uses 16-bit offsets to structures within each page.


2010-August-04 - Version 3.7.0.1

SQLite version 3.7.0.1 is a patch release to fix a bug in the new filesize-in-header feature of the SQLite file format that could cause database corruption if the same database file is written alternately with version 3.7.0 and version 3.6.23.1 or earlier. A performance regression was also fixed in this release.


2010-July-22 - Version 3.7.0

SQLite version 3.7.0 is a major release of SQLite that features a new transaction control mechanism using a write-ahead log or WAL. The traditional rollback-journal is still used as the default so there should be no visible change for legacy programs. But newer programs can take advantage of improved performance and concurrency by enabling the WAL journaling mode.

SQLite version 3.7.0 also contains some query planner enhancements and a few obscure bug fixes, but the only really big change is the addition of WAL mode.


2010-Mar-30 - Version 3.6.23.1

SQLite version 3.6.23.1 is a patch release to fix a bug in the offsets() function of FTS3 at the request of the Mozilla.


2010-Mar-09 - Version 3.6.23

SQLite version 3.6.23 is a regular bimonthly release of SQLite. Upgrading from the prior release is purely optional.

This release contains new pragmas: the secure_delete pragma, and the compile_options pragma. There are a new SQL functions: sqlite_compileoption_used() and sqlite_compileoption_get(). New C/C++ interfaces: sqlite3_compileoption_used(), sqlite3_compileoption_get(), SQLITE_CONFIG_LOG, and sqlite3_log().

This release also includes several minor bug fixes and performance improvements. Support for SQLITE_OMIT_FLOATING_POINT is enhanced. There are on-going improvements to FTS3.

The ".genfkey" command in the Command Line Interface has been removed. SQLite has supported standard SQL foreign key constraints since version 3.6.19 and so the ".genfkey" command was seen as an anachronism.


2010-Jan-06 - Version 3.6.22

SQLite version 3.6.22 is a bug-fix release. Two bugs have been fixed that might cause incorrect query results.

Both bugs are obscure, but because they could arise in an application after deployment, it is recommended that all applications upgrade SQLite to version 3.6.22.

This release also includes other minor bug fixes and performance enhancements, especially in the FTS3 extension.


Old news...