Latest in branch 2
2.8.17
Released 19 Dec 2005
(20 years ago)
SoftwareSQLite
Branch2
Status
End of life
Initial release2.0.0
28 Sep 2001
(24 years ago)
Latest release2.8.17
19 Dec 2005
(20 years ago)
Support statusNo
Documentationhttps://www.sqlite.org/docs.html
Downloadhttps://www.sqlite.org/download.html
SQLite 2 ReleasesView full list

What Is New in SQLite 2

SQLite 2 introduced a major architectural overhaul, moving from a text-based storage model to a more efficient binary format. This version laid the groundwork for the modern SQLite we know today.

Category Key Changes
Core Architecture Switched from text-based tables to a B-tree based backend with manifest typing.
API Introduced the core C API functions (sqlite_open, sqlite_exec, etc.) that are still central today.
Features Added support for transactions, indices, and triggers.
Compatibility Included a utility for converting version 1.x databases to the new version 2 format.

How did the storage engine change in version 2?

The most significant change was the move from a text-only storage engine to a B-tree backend. Version 1 stored everything, including integers and floats, as ASCII text. Version 2 introduced a binary format where each value is stored with a header indicating its datatype (integer, float, text, etc.). This shift dramatically improved performance for numerical operations and overall storage efficiency.

What new database features were introduced?

SQLite 2 added fundamental database features that were absent in the first version. This included full transaction support with COMMIT and ROLLBACK, allowing for atomic, consistent, isolated, and durable (ACID) operations. It also introduced support for creating indices to speed up queries and triggers to automate actions based on database events.

Was the API different from modern SQLite?

The core API introduced in version 2 is remarkably similar to the one used today. Key functions like sqlite_open, sqlite_close, sqlite_exec, and the callback-based approach for retrieving query results were all established in this release. The main difference is the "v2" suffix on the core functions in the modern API (e.g., sqlite_open_v2).

FAQ

Could SQLite 2 read version 1 database files?
No, the file formats were completely incompatible. However, SQLite 2 included a command-line utility to convert version 1 databases to the new version 2 format.

Did SQLite 2 support foreign key constraints?
No, foreign key constraints were not supported until a much later version. Version 2 focused on core features like transactions and indices.

What is manifest typing in SQLite 2?
It means the datatype is associated with the value itself, not the column it's stored in. This is different from static typing in traditional SQL databases and is a core concept that persists in SQLite today.

Was the database file format stable in version 2?
Yes, the version 2 file format was stable for the entire life of the 2.x series, unlike the experimental format used in version 1.

Why was the move to a B-tree backend so important?
It was a critical performance optimization. B-trees provide efficient O(log N) lookup, insertion, and deletion times, which was a massive improvement over the linear scans often required in the text-based version 1.

Releases In Branch 2

VersionRelease date
2.8.1719 Dec 2005
(20 years ago)
2.8.1615 Feb 2005
(21 years ago)
2.8.1522 Jul 2004
(21 years ago)
2.8.1409 Jun 2004
(21 years ago)
2.8.1308 Mar 2004
(22 years ago)
2.8.1208 Feb 2004
(22 years ago)
2.8.1014 Jan 2004
(22 years ago)
2.8.1114 Jan 2004
(22 years ago)
2.8.906 Jan 2004
(22 years ago)
2.8.818 Dec 2003
(22 years ago)
2.8.704 Dec 2003
(22 years ago)
2.8.622 Aug 2003
(22 years ago)
2.8.522 Jul 2003
(22 years ago)
2.8.429 Jun 2003
(22 years ago)
2.8.304 Jun 2003
(22 years ago)
2.8.217 May 2003
(23 years ago)
2.8.117 May 2003
(23 years ago)
2.8.016 Feb 2003
(23 years ago)
2.7.625 Jan 2003
(23 years ago)
2.7.528 Dec 2002
(23 years ago)
2.7.417 Dec 2002
(23 years ago)
2.7.331 Oct 2002
(23 years ago)
2.7.225 Sep 2002
(23 years ago)
2.7.131 Aug 2002
(23 years ago)
2.7.025 Aug 2002
(23 years ago)
2.6.313 Aug 2002
(23 years ago)
2.6.231 Jul 2002
(23 years ago)
2.6.119 Jul 2002
(23 years ago)
2.6.018 Jul 2002
(23 years ago)
2.5.607 Jul 2002
(23 years ago)
2.5.506 Jul 2002
(23 years ago)
2.5.401 Jul 2002
(23 years ago)
2.5.325 Jun 2002
(23 years ago)
2.5.225 Jun 2002
(23 years ago)
2.5.119 Jun 2002
(23 years ago)
2.5.017 Jun 2002
(23 years ago)
2.4.1210 May 2002
(24 years ago)
2.4.1108 May 2002
(24 years ago)
2.4.1003 May 2002
(24 years ago)
2.4.922 Apr 2002
(24 years ago)
2.4.820 Apr 2002
(24 years ago)
2.4.712 Apr 2002
(24 years ago)
2.4.602 Apr 2002
(24 years ago)
2.4.502 Apr 2002
(24 years ago)
2.4.430 Mar 2002
(24 years ago)
2.4.323 Mar 2002
(24 years ago)
2.4.220 Mar 2002
(24 years ago)
2.4.113 Mar 2002
(24 years ago)
2.4.011 Mar 2002
(24 years ago)
2.3.319 Feb 2002
(24 years ago)
2.3.214 Feb 2002
(24 years ago)
2.3.113 Feb 2002
(24 years ago)
2.3.003 Feb 2002
(24 years ago)
2.2.528 Jan 2002
(24 years ago)
2.2.422 Jan 2002
(24 years ago)
2.2.316 Jan 2002
(24 years ago)
2.2.214 Jan 2002
(24 years ago)
2.2.109 Jan 2002
(24 years ago)
2.2.022 Dec 2001
(24 years ago)
2.1.715 Dec 2001
(24 years ago)
2.1.614 Dec 2001
(24 years ago)
2.1.506 Dec 2001
(24 years ago)
2.1.405 Dec 2001
(24 years ago)
2.1.324 Nov 2001
(24 years ago)
2.1.223 Nov 2001
(24 years ago)
2.1.113 Nov 2001
(24 years ago)
2.1.012 Nov 2001
(24 years ago)
2.0.804 Nov 2001
(24 years ago)
2.0.722 Oct 2001
(24 years ago)
2.0.619 Oct 2001
(24 years ago)
2.0.515 Oct 2001
(24 years ago)
2.0.413 Oct 2001
(24 years ago)
2.0.313 Oct 2001
(24 years ago)
2.0.209 Oct 2001
(24 years ago)
2.0.102 Oct 2001
(24 years ago)
2.0.028 Sep 2001
(24 years ago)