NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #800 most downloaded on crates.io
Ergonomic wrapper for SQLite
Last release 1 months ago
08 Aug 2026
Ships fairly regularly
a new release about every 2 months
Some releases are documented
notes for 34 of the last 60 stable releases
11 versions withdrawn
withdrawn after publishing
12 years old
85 releases · first in 2014
Nothing published for this version
Nothing published for this version
BREAKING CHANGE: SqliteError is now an enum instead of a struct. Previously, we were (ab)using the error code and message to send back both underlying…
SqliteError is now an enum instead of a struct. Previously, we were (ab)using
the error code and message to send back both underlying SQLite errors and errors that occurred
at the Rust level. Now those have been separated out; SQLite errors are returned as
SqliteFailure cases (which still include the error code but also include a Rust-friendlier
enum as well), and rusqlite-level errors are captured in other cases. Because of this change,
SqliteError no longer implements PartialEq.SqliteTransactionDeferred, SqliteTransactionImmediate, and
SqliteTransactionExclusive are no longer exported. Instead, use
TransactionBehavior::Deferred, TransactionBehavior::Immediate, and
TransactionBehavior::Exclusive.Sqlite prefix on many types:
SqliteConnection is now ConnectionSqliteError is now ErrorSqliteResult is now ResultSqliteStatement is now StatementSqliteRows is now RowsSqliteRow is now RowSqliteOpenFlags is now OpenFlagsSqliteTransaction is now Transaction.SqliteTransactionBehavior is now TransactionBehavior.SqliteLoadExtensionGuard is now LoadExtensionGuard.
The old, prefixed names are still exported but are deprecated...._named methods for executing queries using named placeholder parameters.backup feature that exposes SQLite's online backup API.blob feature that exposes SQLite's Incremental I/O for BLOB API.functions feature that allows user-defined scalar functions to be added to
open SqliteConnections.One column per quarter.
Adds trace feature that allows the use of SQLite's logging, tracing, and profiling hooks.
trace feature that allows the use of SQLite's logging, tracing, and profiling hooks.query_map and query_and_then:
'static requirement on the closure's output type.&SqliteRow instead of a SqliteRow.SQLITE3_LIB_DIR now takes precedence over pkg-config.pkg-config is not available, we will try to find libsqlite3 in /usr/lib.SqliteResults.libc dependency to 0.2, fixing builds on ARM for Rust 1.6 or newer.Adds Sized bound to FromSql trait as required by RFC 1214.
Sized bound to FromSql trait as required by RFC 1214.Reset underlying SQLite statements as soon as possible after executing, as recommended by http://www.sqlite.org/cvstrac/wiki?p=ScrollingCursor.
Removes get_opt. Use get_checked instead.
get_opt. Use get_checked instead.query_row_and_then and query_and_then convenience functions. These are analogous to
query_row and query_map but allow functions that can fail by returning Results.P: AsRef<...> from &P to P.execute when query was intended.SqliteStatement and SqliteConnection.get_checked to correctly indicate that it returns errors (not panics)
when given invalid types or column indices.Add column_names() to SqliteStatement.
column_names() to SqliteStatement.SQLITE_OPEN_NO_MUTEX and SQLITE_OPEN_URI flags when opening a
new connection.sqlite3_exec was wrong).sqlite3_destructor_type to define SQLITE_STATIC and SQLITE_TRANSIENT.Deprecate query_row_safe (use query_row instead).
query_row to return a Result instead of unwrapping.query_row_safe (use query_row instead).query_map.get_checked, which asks SQLite to do some basic type-checking of columns.Publish version that builds on stable rust (beta). This version lives on the stable branch. Development continues on master and still requires a night
stable branch. Development continues on master and still requires a nightly
version of Rust.Updates to track rustc nightly.
* Make SqliteConnection Send.
Send.Remove unneeded features (also involves switching to libc crate).
libc crate).Updates to track rustc nightly.
Updates to track rustc stabilization.
Reexport sqlite3_stmt from libsqlite3-sys for easier impl-ing of ToSql and FromSql.
sqlite3_stmt from libsqlite3-sys for easier impl-ing of ToSql and FromSql.BREAKING CHANGE: open now expects a Path rather than a str. There is a separate open_in_memory constructor for opening in-memory databases.
open now expects a Path rather than a str. There is a separate
open_in_memory constructor for opening in-memory databases.load_extension Cargo feature,
because not all builds of sqlite3 include this ability. Notably the default libsqlite3 that
ships with OS X 10.10 does not support extensions.Updates to track latest rustc changes.
Error trait for SqliteError.Updates to track latest rustc changes.
Use external bitflags from crates.io.
Updates to track latest rustc changes (1.0.0-alpha).
query_row_safe, a SqliteResult-returning variant of query_row.Updates to track latest rustc changes.
Updates to track latest rustc changes.
sqlite3_busy_timeout.Remove use of now-deprecated std::raw::from_buf.
std::vec::raw::from_buf.time crate.* Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →