NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1819 most downloaded on pub.dev
PowerSync Dart and Flutter SDK. Sync Postgres, MongoDB, MySQL or SQL Server with SQLite in your app
Last release 1 months ago
02 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
4 years old
94 releases · first in 2023
One column per quarter.
Refactor waitForFirstSync() to iterate through the stream and remove the use of a Future.
waitForFirstSync() to iterate through the stream and remove the use of a Future.db.disconnect() (#114).Adds a hasSynced flag to check if initial data has been synced.
Upgrade minimum Dart SDK constraint to 3.4.0.
3.4.0.sqlite_async to version 0.7.0 which updates all Database types to use a CommonDatabase interface.Fix Bad state: Future already completed error when calling disconnectAndClear().
Bad state: Future already completed error when calling disconnectAndClear().Upgrades dependency powersync_flutter_libs to version 0.1.0.
powersync_flutter_libs to version 0.1.0.Introduces the use of the powersync-sqlite-core native extension. This is our common Rust core which means all PowerSync SDKs now use the same core lo
powersync-sqlite-core native extension. This is our common Rust core which means all PowerSync SDKs now use the same core logic for PowerSync functionality, improving maintainability and support.powersync_flutter_libs for loading the extension.Fix "Checksum mismatch" issue when calling PowerSyncDatabase.connect multiple times.
PowerSyncDatabase.connect multiple times.Add crudThrottleTime option to arguments when running PowerSyncDatabase.connect to set throttle time for crud operations.
crudThrottleTime option to arguments when running PowerSyncDatabase.connect to set throttle time for crud operations.Updated sqlite_async to use Navigator locks for limiting sync stream implementations in multiple tabs
FIX(powersync-attachements-helper): pubspec file (#29).
sqlite_async package.Updates and uses the latest sqlite_async alpha.
sqlite_async alpha.Fix Bad state: Future already completed error when calling disconnectAndClear().
Bad state: Future already completed error when calling disconnectAndClear().Update sqlite_async.dart dependency
sqlite_async.dart dependencyMerge master branch in and resolve conflicts
Fixed issue where disconnectAndClear would prevent subsequent sync connection on native platforms and would fail to clear the database on web.
FIX(powersync-attachements-helper): pubspec file (#29).
Added initial support for Web platform.
Deprecate DevConnector and related
Fix indexes incorrectly dropped after the first run.
viewName override causing view "..." already exists errors after the first run.This release improves the default log output and errors to better assist in debugging.
This release improves the default log output and errors to better assist in debugging.
Breaking changes:
PowerSyncCredentials constructor is no longer const, and the endpoint URL is validated in the constructor.CredentialsException, SyncResponseException and PowerSyncProtocolException, instead of more generic AssertionError and HttpException.Other changes:
logger: attachedLogger in the PowerSyncDatabase constructor.Fix error occasionally occurring when calling powersync.connect() right when opening the database.
powersync.connect() right when opening the database.Fix delete operations rejected by the server not being reverted locally.
SyncStatus to include connected, downloading, uploading status, as well as the last errors.SyncStatus.connected to be updated when calling PowerSyncDatabase.disconnect().sqlite_async dependency:
tx.closed and db/tx.getAutoCommit()uuid dependency:
CryptoRNG from uuid package now that the performance improvements are upstream.Start using stable version range.
_Breaking change:_ Validate schema definitions for duplicates. Remove id column and indexes from any tables in the schema if present.
id column and indexes from any tables in the schema if present.- Use Apache 2.0 license. - Update uuid dependency.
Some parameters to PowerSyncCredentials are now optional.
Improvements:
PowerSyncCredentials are now optional.Include transaction ids on crud entries, allowing transactions to be grouped together.
New functionality:
PowerSyncBackendConnector by automatically handling token caching.Fixes:
Breaking changes:
PowerSyncDatabase.disconnect() now returns Future<void> instead of void.PowerSyncBackendConnector must now implement fetchCredentials() instead of refreshCredentials() + getCredentials().Other changes:
- Link github repository.
The low-level SQLite-related code is extracted into a separate sqlite_async package. sqlite_async handles the the database connection, connection pool
The low-level SQLite-related code is extracted into a separate sqlite_async package.
sqlite_async handles the the database connection, connection pooling, Isolate management, queries,
transactions, default options, watching, and migrations.
The powersync package now just adds automatic sync and dynamic schema management on top. This makes it easy to switch between
using PowerSync, or just using a local database directly.
Breaking changes:
TableUpdate renamed to UpdateNotification.PowerSyncDatabase.connectionFactory() renamed to PowerSyncDatabase.isolateConnectionFactory(),
and should only be used to pass the connection to a different isolate.ps_crud are dropped and re-created when upgrading to this version.
This will not result in any data loss, but a full re-sync is required.Fixes:
Other changes:
powersync_diff function to compute changes.Use new write checkpoint API for reduced latency on data upload.
getOptional().gen_random_uuid() as an alias for uuid() (custom function for SQLite).Performance improvements in downloading changes.
Rename internal tables to all start with ps_. All existing local data is deleted and re-synced.
Breaking change:
ps_. All existing local data is deleted and re-synced.Other changes:
executeBatch() API: execute the same statement with multiple parameter sets.computeWithDatabase() API: execute a function in the database isolate, with low-level synchronous database access.onChange() call to receive notifications of changes to a set of tables.watch() to only listen for updates to relevant tables.uuid() implementation.- Require Flutter SDK.
- First public version.
Your coding agent can read these notes before it upgrades. Set up the MCP server →