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.
Add SyncOptions.checkpointMode , which can be used to replace a legacy implementation for write checkpoints with a newer and more efficient endpoint.
Release powersync-v2.4.0
SyncOptions.checkpointMode, which can be used to replace a legacy implementation for write checkpointsPowerSyncDatabase.requestCheckpoint, which can be used to "sync now": The checkpoint completes once allRestore the ability to call disconnect() on closed databases.
Release powersync-v2.3.3
disconnect() on closed databases.Fix state after calling disconnect() not consistently representing the correct sync status.
Release powersync-v2.3.2
disconnect() not consistently representing the correct sync status.Fix BucketStorage.select() acquiring a write lock for read-only queries.
Release powersync-v2.3.1
BucketStorage.select() acquiring a write lock for read-only queries.Improve tab close detection for shared sync worker in #425
Full Changelog: powersync-v2.2.0...powersync-v2.3.0
SyncOptions.httpClient to SyncOptions. It can be set to make PowerSync use a custom HTTP client when connecting to the PowerSync Service.sqlite3_web versions 0.9.x.Fix disconnect() call leaving stale database isolates behind.
Release powersync-v2.2.0
disconnect() call leaving stale database isolates behind.dart run powersync:setup_web after upgrading.package:hooks and package:code_assets.Add a DevTools extension to inspect running PowerSync databases in your app.
Release powersync-v2.1.0
Update PowerSync SQLite core extension to version 0.4.13.
Release powersync-v2.0.2
Fix documentation not generating.
Release powersync-v2.0.1
Deprecate re-exports of other packages ( package:powersync/sqlite_async.dart , package:powersync/sqlite3_common.dart , package:powersync/sqlite3.dart…
Release powersync-v2.0.0
sqlite3, 0.6.x of sqlite3_web, 0.14.x of sqlite_async.
sqlite3.wasm files after upgrading!package:powersync/sqlite3_open.dart, since SQLite is now loaded through build hooks exclusively.AbstractPowerSyncOpenFactory and PowerSyncOpenFactory. If you want to customize how databasespackage:powersync/native.dart and package:powersync/web.dart to extendNativePowerSyncOpenFactory or WebPowerSyncOpenFactory, respectively.maxReaders parameter on PowerSyncDatabase constructors is no longer functional, set that parameter onSqliteOptions instead.watchUnthrottled and onChangeUnthrottled as variants of watch and onChange that only take backpressureabortableReadLock and abortableWriteLock, which can be used to acquire a read/write context with a flexiblepowersync_core, powersync_sqlcipher and powersync_flutter_libs packages have been removed.powersync package now provides the entire SDK for all platforms (both for Flutter and standalone Dart apps).powersync_sleep and powersync_connection_name SQL functions have been removed. Also, it ispowersync package (see the EncryptionOptions class for details).package:powersync/sqlite_async.dart, package:powersync/sqlite3_common.dart,package:powersync/sqlite3.dart). Instead, add a dependency on the respective package and import it directly.powersync_sync.worker.js. powersync_db.worker.js now covers both database access and sync.Nothing published for this version
Add RawTable.inferred constructor, which can be used to specify raw tables without manual put and delete statements.
RawTable.inferred constructor, which can be used to specify raw tables without manual put and delete statements.0.4.11.FEAT: Custom App Metadata (#354).
Support latest version of sqlite_async.
Web: Fix decoding sync streams on status.
Add getCrudTransactions() returning a stream of completed transactions for uploads.
getCrudTransactions() returning a stream of completed transactions for uploads.package:powersync_core/attachments/attachments.dart.Fix excessive memory consumption during large sync.
Support latest versions of package:sqlite3 and package:sqlite_async.
package:sqlite3 and package:sqlite_async.disconnect() while a connection is being opened.Update the PowerSync core extension to 0.4.2.
0.4.2.Rust client: Fix uploading local writs after reconnect.
PowerSyncDatabase.withDatabase: Rename loggers parameter to logger for consistency.Add a new sync client implementation written in Rust instead of Dart. While this client is still experimental, we intend to make it the default in the
Add a new sync client implementation written in Rust instead of Dart. While
this client is still experimental, we intend to make it the default in the
future. The main benefit of this client is faster sync performance, but
upcoming features will also require this client.
We encourage interested users to try it out by passing SyncOptions to the
connect method:
database.connect(
connector: YourConnector(),
options: const SyncOptions(
syncImplementation: SyncClientImplementation.rust,
),
);
Switching between the clients can be done at any time without compatibility issues. If you run into issues with the new client, please reach out to us!
Deprecate retry and CRUD upload durations as fields and independent parameters. Use the new SyncOptions class instead.
package:http instead of package:fetch_client on the web (since the former now uses fetch as well).SyncOptions class instead.Report real-time progress information about downloads through SyncStatus.downloadProgress.
SyncStatus.downloadProgress.trackPreviousValues option on Table which sets CrudEntry.previousValues to previous values on updates.trackMetadata option on Table which adds a _metadata column that can be used for updates.
The configured metadata is available through CrudEntry.metadata.ignoreEmptyUpdates option which skips creating CRUD entries for updates that don't change any values.Update a dependency to the latest release.
This updates powersync_core to version 1.2.3, which includes these changes:
This updates powersync_core to version 1.2.3, which includes these changes:
Update a dependency to the latest release.
Update a dependency to the latest release.
Support bucket priorities and partial syncs.
Update a dependency to the latest release.
Web: Support running in contexts where web workers are unavailable.
powersync_sqlcipher: Web support.Fix statusStream emitting the same sync status multiple times.
statusStream emitting the same sync status multiple times.Increase limit on number of columns per table to 1999.
This package now uses the powersync_core package to provide its base functionality.
powersync_core package to provide its base functionality.Update a dependency to the latest release.
[Web] Automatically flush IndexedDB storage to fix durability issues
- Flutter Web Beta release
FEAT: Use a sync worker for web that offloads the task of synchronizing databases to a separate worker, allowing it to be coordinated across tabs even
FIX: issue where CRUD uploads were not triggered when the SDK reconnected to the PowerSync service after being offline.
Update dependency powersync_flutter_libs
powersync_flutter_libsFIX: Validate duplicate table names.
Update dependency sqlite_async to v0.9.0
sqlite_async to v0.9.0Update dependency powersync_flutter_libs
powersync_flutter_libsFEAT: Added a warning if connector uploadData functions don't process CRUD items completely.
uploadData functions don't process CRUD items completely.FIX: Pass maxReaders parameter to PowerSyncDatabase.withFactory().
PowerSyncDatabase.withFactory().Added refreshSchema(), allowing queries and watch calls to work against updated schemas.
refreshSchema(), allowing queries and watch calls to work against updated schemas.Fix powersync_flutter_libs dependency
Requires journeyapps/powersync-service v0.5.0 or later when self-hosting
journeyapps/powersync-service v0.5.0 or later when self-hostingUser-Agent headerclient_id parameter to sync requestslastSyncedAtdisconnectAndClear()powersync-sqlite-core version number is in a compatible range of ^0.2.0target_op (write checkpoints) to ensure it's an integerFEAT: Include schema validation check
CHORE: Update dependency powersync_flutter_libs
CHORE: Update dependency powersync_flutter_libs
CHORE: Update dependency powersync_flutter_libs
powersync_flutter_libsFIX: hasSynced status should be reset after disconnectAndClear has been called.
hasSynced status should be reset after disconnectAndClear has been called. (5e12a079)FIX: Move JS to dev dependencies and lower version range ">=0.6.7 <0.8.0"
FEAT: Introduces a custom script to download the sqlite3 wasm and powersync worker files. The command dart run powersync:setup_web must be run in the
dart run powersync:setup_web must be run in the application's folder.FIX: Reintroduce waitForFirstSync.
Web support is now included in the standard release but remains in alpha. Web support may have some limitations or bugs.
Added support for client parameters when connecting.
triggerOnTables to prepend powersync view names.sqlite_async to version 0.8.1.hasSynced is cleared when offline.Fix issue where hasSynced is cleared when offline.
hasSynced is cleared when offline.Fix watch query parameter triggerOnTables to prepend powersync view names.
triggerOnTables to prepend powersync view names.sqlite_async to version 0.8.1.Added support for client parameters when connecting.
Your coding agent can read these notes before it upgrades. Set up the MCP server →