NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #764 most downloaded on pub.dev
High-performance asynchronous interface for SQLite on Dart and Flutter.
Last release 2 days ago
06 Oct 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 39 of 41 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
47 releases · first in 2023
One column per quarter.
Fix leaks when closing with concurrent waiters
Fix leaks when closing with concurrent waiters (#163)
connectToEndpoint.close() with an outstanding request leaking resources.Delay close() until all databases in the pool have been closed in #159
close() until all databases in the pool have been closed in #159Full Changelog: sqlite_async-v0.14.4...sqlite_async-v0.14.5
Update sqlite3 and sqlite3_web , deprecate flush parameter in #153
sqlite3 and sqlite3_web, deprecate flush parameter in #153Full Changelog: sqlite_async-v0.14.3...sqlite_async-v0.14.4
NativeSqliteOpenFactory.beforeOpen method, which can be overridden to configure
SQLite asynchronously before opening databases.package:sqlite3_web to flush IndexedDB writes automatically, deprecate flush().SqliteOptions.preparedStatementCacheSize to cache prepared statements (disabled by default).Include name of navigator lock on abort in #147
Full Changelog: sqlite_async-v0.14.2...sqlite_async-v0.14.3
0.9.x of package:sqlite3_web.Update to sqlite3_web versions 0.8.x .
Update to sqlite3_web versions 0.8.x.
Full Changelog: sqlite_async-v0.14.1...sqlite_async-v0.14.2
Fix update notifications firing before completed transactions in #140
Full Changelog: sqlite_async-v0.14.0...sqlite_async-v0.14.1
Support versions 3.x of the sqlite3 package and 0.7.x of sqlite3_web .
sqlite3 package and 0.7.x of sqlite3_web.sqlite3_open.dart library, SQLite libraries are no longer loaded through Dart.AbstractDefaultSqliteOpenFactory and DefaultSqliteOpenFactory. Use SqliteOpenFactory instead. To provide a custom open factory, import NativeSqliteOpenFactory or WebSqliteOpenFactory with a platform-specific import and extend those classes.maxReaders parameter on SqliteDatabase. Set that parameter on SqliteOptions instead.sqlite3 package:
package:sqlite_async/sqlite3.dart, import package:sqlite3/sqlite3.dart.package:sqlite_async/sqlite3_common.dart, import package:sqlite3/common.dart.package:sqlite_async/sqlite3_wasm.dart, import package:sqlite3/wasm.dart.package:sqlite_async/sqlite3_web.dart, import package:sqlite3_web/sqlite3_web.dart.SqliteDatabaseMixin and SqliteQueries. Extend SqliteConnection instead.AbortException instead of a TimeoutException.throttle parameter on watch and onChange can now be set to null. This also introduces watchUnthrottled and onChangeUnthrottled, which only buffer on paused subscriptions instead of applying a static timeout.abortableReadLock and abortableWriteLock. The methods can be used to acquire a read/write context with a flexible abort signal instead of a static timeout.Note : This version of sqlite_async is still in development and there might be additional API changes between this release and the final 0.14.0 versio
Note: This version of sqlite_async is still in development and there might be additional API changes between this release and the final 0.14.0 version. This release is mostly meant for internal testing.
sqlite3 package and 0.6.x of sqlite3_web.sqlite3_open.dart library, SQLite libraries are no longer loaded through Dart.AbstractDefaultSqliteOpenFactory and DefaultSqliteOpenFactory. Use SqliteOpenFactory instead. To provide a custom open factory, import NativeSqliteOpenFactory or WebSqliteOpenFactory with a platform-specific import and extend those classes.maxReaders parameter on SqliteDatabase. Set that parameter on SqliteOptions instead.sqlite3 package:
package:sqlite_async/sqlite3.dart, import package:sqlite3/sqlite3.dart.package:sqlite_async/sqlite3_common.dart, import package:sqlite3/common.dart.package:sqlite_async/sqlite3_wasm.dart, import package:sqlite3/wasm.dart.package:sqlite_async/sqlite3_web.dart, import package:sqlite3_web/sqlite3_web.dart.SqliteDatabaseMixin and SqliteQueries. Extend SqliteConnection instead.AbortException instead of a TimeoutException.throttle parameter on watch and onChange can now be set to null. This also introduces watchUnthrottled and onChangeUnthrottled, which only buffer on paused subscriptions instead of applying a static timeout.abortableReadLock and abortableWriteLock. The methods can be used to acquire a read/write context with a flexible abort signal instead of a static timeout.Add executeMultiple to run multiple statements not using parameters.
executeMultiple to run multiple statements not using parameters.- Update sqlite3_web to 0.4.0
Add withAllConnections method to run statements on all connections in the pool.
withAllConnections method to run statements on all connections in the pool.Fix distributing updates from shared worker.
Avoid large transactions creating a large internal update queue.
Support nested transactions (emulated with SAVEPOINT statements).
SAVEPOINT statements).2.8.0 of package:sqlite3.Shared worker: Release locks owned by connected client tab when it closes.
Native: Consistently report errors when opening the database instead of causing unhandled exceptions.
Allow profiling queries. Queries are profiled by default in debug and profile builds, the runtime for queries is added to profiling timelines under th
sqlite_async tag.watch() queries sometimes taking longer than necessary.Add SqliteConnection.synchronousWrapper and SqliteDatabase.singleConnection. Together, these can be used to wrap raw CommonDatabase instances from pac
SqliteConnection.synchronousWrapper and SqliteDatabase.singleConnection.
Together, these can be used to wrap raw CommonDatabase instances from package:sqlite3
as a Database (without an automated worker or isolate setup). This can be useful in tests
where synchronous access to the underlying database is convenient.Support being compiled with package:build_web_compilers.
package:build_web_compilers.Support latest version of package:sqlite3_web.
package:sqlite3_web.dart2wasm.Remove remaining dart:js_util imports in favor of new interop APIs.
dart:js_util imports in favor of new interop APIs.WebSqliteOpenFactory with web-specific behavior for open factories.Automatically flush IndexedDB storage to fix durability issues
For database setups not using a shared worker, use a BroadcastChannel to share updates across different tabs.
BroadcastChannel to share updates across different tabs.Add the exposeEndpoint() method available on web databases. It returns a serializable description of the database endpoint that can be sent across wor
exposeEndpoint() method available on web databases. It returns a serializable
description of the database endpoint that can be sent across workers.
This allows sharing an opened database connection across workers.Support version ^0.2.0 of package:sqlite3_web
Support the latest version of package:web and package:sqlite3_web
Support the latest version of package:web and package:sqlite3_web
Export sqlite3 open for packages that depend on sqlite_async
Updated web database implementation for get and getOptional. Fixed refreshSchema not working in web.
FEAT: Added refreshSchema(), allowing queries and watch calls to work against updated schemas.
refreshSchema(), allowing queries and watch calls to work against updated schemas.Added Navigator locks for web Mutexs.
Mutexs.Added web support (web functionality is in beta)
BREAKING CHANGE: Update all Database types to use a CommonDatabase interface.
CommonDatabase interface.openDB and open methods to be synchronous.ArgumentError (Invalid argument(s): argument value for 'return_value' is null) in sqlite3 when closing the database connection by upgrading to version 2.4.4.The dependency for the Drift package is now removed in favour of using the new sqlite3_web package.
Drift package is now removed in favour of using the new sqlite3_web package.- Add latest changes from master
- Add latest changes from master
Fix re-using a shared Mutex from
Added initial support for web platform.
Fix errors when closing a SqliteDatabase.
SqliteDatabase.busy_timeout (30s default). This fixes "database is locked (code 5)" error when using multiple SqliteDatabase instances for the same database.SqliteDatabase.isolateConnectionFactory() in multiple isolates.Allow catching errors and continuing the transaction. This is technically a breaking change, although it should not be an issue in most cases.
tx.closed and db/tx.getAutoCommit() to check whether transactions are active.Fix releasing of locks when closing SharedMutex`.
Fix watch when called with query parameters.
watch when called with query parameters.-wal and -shm files on close.Updated dependencies to support sqlite3 2.x.
Ensure database connections are cleaned up on unhandled Isolate errors.
Breaking change: Error by default when starting a read transaction within a write transaction.
Fix update notifications missing the first update.
- Initial version.
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →