rusqlite breaking changes
Every breaking API change we have recorded in rusqlite on crates.io: 33 breaking changes in 1 version. Below are its newest version, removals and renames first, each with its source.
Newest change October 24, 2026

On this page
0.41.0
- Removed
rusqlite::Connection::profile
Use trace_v2 instead. crates.io - Removed
rusqlite::Connection::trace
Use trace_v2 instead. crates.io - Renamed
rusqlite::hooks::CheckpointMode
Use rusqlite::wal::CheckpointMode instead. crates.io - Behavior changed
The bundled SQLite build no longer enables SQLITE_ENABLE_MEMORY_MANAGEMENT, which can change memory behavior for existing code. github.com - Configuration changed
The minimum supported SQLite version is now 3.45.3, so users linking an older SQLite must upgrade it. github.com - Signature changed
rusqlite::BindIndex
Was trait BindIndex: sealed::Sealed; now trait BindIndex: sealed::Sealed + Copy. crates.io - Signature changed
rusqlite::blob::ZeroBlob
Was struct ZeroBlob(pub i32); now struct ZeroBlob(pub u64). crates.io - Signature changed
rusqlite::Connection::authorizer
Was fn authorizer<'c, F>(&self, hook: Option<F>) -> Result<()> where F: for<'r> FnMut(AuthContext<'r>) -> Authorization + Send + 'static,; now fn authorizer<F>(&mut self, hook: Option<F>) -> Result<()> where F: for<'r>... crates.io - Signature changed
rusqlite::Connection::backup
Was fn backup<N: Name, P: AsRef<Path>>(&self, name: N, dst_path: P, progress: Option<fn(Progress)>) -> Result<()>; now fn backup<N: Name, P: AsRef<Path>, F: Fn(Progress)>(&self, name: N, dst_path: P, progress: Option<F>) -> Result<()>. crates.io - Signature changed
rusqlite::Connection::busy_handler
Was fn busy_handler(&self, callback: Option<fn(i32) -> bool>) -> Result<()>; now fn busy_handler<F>(&mut self, callback: Option<F>) -> Result<()> where F: FnMut(i32) -> bool + Send + 'static,. crates.io
And 23 more in this version.
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp