2.8.17

Latest release in branch 2
Released 20 years ago (December 19, 2005)

Software SQLite
Branch 2
First official release version 2.0.0
First official release date 24 years ago (September 28, 2001)
Documentation https://www.sqlite.org/docs.html
Download https://www.sqlite.org/download.html
SQLite 2 Releases View 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

Version Release date
2.8.17 20 years ago
(December 19, 2005)
2.8.16 21 years ago
(February 15, 2005)
2.8.15 21 years ago
(July 22, 2004)
2.8.14 21 years ago
(June 09, 2004)
2.8.13 22 years ago
(March 08, 2004)
2.8.12 22 years ago
(February 08, 2004)
2.8.10 22 years ago
(January 14, 2004)
2.8.11 22 years ago
(January 14, 2004)
2.8.9 22 years ago
(January 06, 2004)
2.8.8 22 years ago
(December 18, 2003)
2.8.7 22 years ago
(December 04, 2003)
2.8.6 22 years ago
(August 22, 2003)
2.8.5 22 years ago
(July 22, 2003)
2.8.4 22 years ago
(June 29, 2003)
2.8.3 22 years ago
(June 04, 2003)
2.8.2 22 years ago
(May 17, 2003)
2.8.1 22 years ago
(May 17, 2003)
2.8.0 23 years ago
(February 16, 2003)
2.7.6 23 years ago
(January 25, 2003)
2.7.5 23 years ago
(December 28, 2002)
2.7.4 23 years ago
(December 17, 2002)
2.7.3 23 years ago
(October 31, 2002)
2.7.2 23 years ago
(September 25, 2002)
2.7.1 23 years ago
(August 31, 2002)
2.7.0 23 years ago
(August 25, 2002)
2.6.3 23 years ago
(August 13, 2002)
2.6.2 23 years ago
(July 31, 2002)
2.6.1 23 years ago
(July 19, 2002)
2.6.0 23 years ago
(July 18, 2002)
2.5.6 23 years ago
(July 07, 2002)
2.5.5 23 years ago
(July 06, 2002)
2.5.4 23 years ago
(July 01, 2002)
2.5.3 23 years ago
(June 25, 2002)
2.5.2 23 years ago
(June 25, 2002)
2.5.1 23 years ago
(June 19, 2002)
2.5.0 23 years ago
(June 17, 2002)
2.4.12 23 years ago
(May 10, 2002)
2.4.11 23 years ago
(May 08, 2002)
2.4.10 23 years ago
(May 03, 2002)
2.4.9 23 years ago
(April 22, 2002)
2.4.8 24 years ago
(April 20, 2002)
2.4.7 24 years ago
(April 12, 2002)
2.4.6 24 years ago
(April 02, 2002)
2.4.5 24 years ago
(April 02, 2002)
2.4.4 24 years ago
(March 30, 2002)
2.4.3 24 years ago
(March 23, 2002)
2.4.2 24 years ago
(March 20, 2002)
2.4.1 24 years ago
(March 13, 2002)
2.4.0 24 years ago
(March 11, 2002)
2.3.3 24 years ago
(February 19, 2002)
2.3.2 24 years ago
(February 14, 2002)
2.3.1 24 years ago
(February 13, 2002)
2.3.0 24 years ago
(February 03, 2002)
2.2.5 24 years ago
(January 28, 2002)
2.2.4 24 years ago
(January 22, 2002)
2.2.3 24 years ago
(January 16, 2002)
2.2.2 24 years ago
(January 14, 2002)
2.2.1 24 years ago
(January 09, 2002)
2.2.0 24 years ago
(December 22, 2001)
2.1.7 24 years ago
(December 15, 2001)
2.1.6 24 years ago
(December 14, 2001)
2.1.5 24 years ago
(December 06, 2001)
2.1.4 24 years ago
(December 05, 2001)
2.1.3 24 years ago
(November 24, 2001)
2.1.2 24 years ago
(November 23, 2001)
2.1.1 24 years ago
(November 13, 2001)
2.1.0 24 years ago
(November 12, 2001)
2.0.8 24 years ago
(November 04, 2001)
2.0.7 24 years ago
(October 22, 2001)
2.0.6 24 years ago
(October 19, 2001)
2.0.5 24 years ago
(October 15, 2001)
2.0.4 24 years ago
(October 13, 2001)
2.0.3 24 years ago
(October 13, 2001)
2.0.2 24 years ago
(October 09, 2001)
2.0.1 24 years ago
(October 02, 2001)
2.0.0 24 years ago
(September 28, 2001)