powersync 1.10.0 powersync: ^1.10.0 copied to clipboard
PowerSync Flutter SDK - sync engine for building local-first apps.
1.10.0 #
- This package now uses the
powersync_core
package to provide its base functionality.
1.9.3 #
- Update a dependency to the latest release.
1.9.2 #
- [Web] Automatically flush IndexedDB storage to fix durability issues
1.9.1 #
- Flutter Web Beta release
1.9.0 #
- 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 when the database itself is not in a shared worker.
1.8.9 #
- FIX: issue where CRUD uploads were not triggered when the SDK reconnected to the PowerSync service after being offline.
1.8.8 #
- Update dependency
powersync_flutter_libs
1.8.6 #
- Update dependency
sqlite_async
to v0.9.0
1.8.5 #
- Update dependency
powersync_flutter_libs
1.8.4 #
- FEAT: Added a warning if connector
uploadData
functions don't process CRUD items completely.
1.8.3 #
- FIX: Pass maxReaders parameter to
PowerSyncDatabase.withFactory()
.
1.8.2 #
- Added
refreshSchema()
, allowing queries and watch calls to work against updated schemas.
1.8.1 #
- Fix powersync_flutter_libs dependency
1.8.0 #
- Requires
journeyapps/powersync-service
v0.5.0 or later when self-hosting - Use powersync-sqlite-core v0.2.1
- Customize
User-Agent
header - Add
client_id
parameter to sync requests - Persist
lastSyncedAt
- Emit update notifications for watch queries on
disconnectAndClear()
- Validate that the
powersync-sqlite-core
version number is in a compatible range of^0.2.0
- Always cast
target_op
(write checkpoints) to ensure it's an integer - Sync optimizations for MOVE and REMOVE operations
1.7.0 #
- FEAT: Include schema validation check
- FEAT: Include new table check for maximum number of columns allowed
1.6.7 #
- CHORE: Update dependency powersync_flutter_libs
1.6.6 #
- CHORE: Update dependency powersync_flutter_libs
1.6.5 #
- CHORE: Update dependency
powersync_flutter_libs
1.6.3 #
- FIX: Move JS to dev dependencies and lower version range ">=0.6.7 <0.8.0"
1.6.2 #
- 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 application's folder.
1.6.1 #
- FIX: Reintroduce waitForFirstSync.
1.6.0 #
- Web support is now included in the standard release but remains in alpha. Web support may have some limitations or bugs.
1.6.0-alpha.1 #
- Added support for client parameters when connecting.
- Fix watch query parameter
triggerOnTables
to prepend powersync view names. - Upgrade dependency
sqlite_async
to version 0.8.1. - Fix issue where
hasSynced
is cleared when offline.
1.5.5 #
- Fix issue where
hasSynced
is cleared when offline.
1.5.4 #
- Fix watch query parameter
triggerOnTables
to prepend powersync view names. - Upgrade dependency
sqlite_async
to version 0.8.1.
1.5.3 #
- Added support for client parameters when connecting.
1.5.2 #
- Refactor
waitForFirstSync()
to iterate through the stream and remove the use of aFuture
. - Fix sync connection not immediately closed when calling
db.disconnect()
(#114).
1.5.1 #
- Adds a hasSynced flag to check if initial data has been synced.
- Adds a waitForFirstSync method to check if the first full sync has completed.
1.5.0 #
- Upgrade minimum Dart SDK constraint to
3.4.0
. - Upgrade
sqlite_async
to version 0.7.0 which updates all Database types to use aCommonDatabase
interface.
1.4.2 #
- Fix
Bad state: Future already completed
error when callingdisconnectAndClear()
.
1.4.1 #
- Upgrades dependency
powersync_flutter_libs
to version0.1.0
.
1.4.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 logic for PowerSync functionality, improving maintainability and support. - Added a new package dependency on
powersync_flutter_libs
for loading the extension.
1.3.0-alpha.9 #
- Updated sqlite_async to use Navigator locks for limiting sync stream implementations in multiple tabs
1.3.0-alpha.8 #
- FIX(powersync-attachements-helper): pubspec file (#29).
- DOCS: update readme and getting started (#51).
- Updates and uses the latest
sqlite_async
package.
1.3.0-alpha.7 #
- Updates and uses the latest
sqlite_async
alpha.
1.3.0-alpha.6 #
- Fix
Bad state: Future already completed
error when callingdisconnectAndClear()
.
1.3.1 #
- Fix "Checksum mismatch" issue when calling
PowerSyncDatabase.connect
multiple times.
1.3.0 #
- Add
crudThrottleTime
option to arguments when runningPowerSyncDatabase.connect
to set throttle time for crud operations.
1.3.0-alpha.5 #
- Update
sqlite_async.dart
dependency - Fix issue where sync stream connection would fail to connect https://github.com/powersync-ja/powersync.dart/issues/11
1.3.0-alpha.4 #
- Merge master branch in and resolve conflicts
1.3.0-alpha.3 #
- Fixed issue where disconnectAndClear would prevent subsequent sync connection on native platforms and would fail to clear the database on web.
1.3.0-alpha.2 #
- FIX(powersync-attachements-helper): pubspec file (#29).
- DOCS: update readme and getting started (#51).
1.3.0-alpha.1 #
- Added initial support for Web platform.
1.2.2 #
- Deprecate DevConnector and related
1.2.1 #
- Fix indexes incorrectly dropped after the first run.
- Fix
viewName
override causingview "..." already exists
errors after the first run.
1.2.0 #
This release improves the default log output and errors to better assist in debugging.
Breaking changes:
PowerSyncCredentials
constructor is no longer const, and theendpoint
URL is validated in the constructor.- Different error and exception classes are now used by the library, including
CredentialsException
,SyncResponseException
andPowerSyncProtocolException
, instead of more genericAssertionError
andHttpException
.
Other changes:
- The library now logs to the console in debug builds by default. To get the old behavior, use
logger: attachedLogger
in thePowerSyncDatabase
constructor. - Log messages have been improved to better explain the sync process and errors.
1.1.1 #
- Fix error occasionally occurring when calling
powersync.connect()
right when opening the database. - Update getting started docs.
1.1.0 #
- Fix delete operations rejected by the server not being reverted locally.
- Expand
SyncStatus
to includeconnected
,downloading
,uploading
status, as well as the last errors. - Fix
SyncStatus.connected
to be updated when callingPowerSyncDatabase.disconnect()
. - Fix network error messages only containing a single character in some cases.
- Update
sqlite_async
dependency:- Supports catching errors in transactions and continuing the transaction.
- Add
tx.closed
anddb/tx.getAutoCommit()
- Update
uuid
dependency:- Now uses
CryptoRNG
fromuuid
package now that the performance improvements are upstream.
- Now uses
- Requires Dart ^3.2.0 / Flutter ^3.16.0.
1.0.0 #
- Start using stable version range.
0.4.2 #
- Improve HTTP error messages.
- Enable SQLite recursive triggers.
- Support overriding view names.
- Breaking change: Validate schema definitions for duplicates.
Remove
id
column and indexes from any tables in the schema if present.
0.4.1 #
- Use Apache 2.0 license.
- Update uuid dependency.
0.4.0 #
Improvements:
- Some parameters to
PowerSyncCredentials
are now optional. - Upgrade dependencies.
0.4.0-preview.6 #
New functionality:
- Include transaction ids on crud entries, allowing transactions to be grouped together.
- Simplify implementation of
PowerSyncBackendConnector
by automatically handling token caching.
Fixes:
- Only check token expiration on the server, avoiding issues when the local time is out of sync.
- Fix some edge case errors that would kill the sync Isolate.
- Fix errors when disconnecting shortly after connecting.
Breaking changes:
PowerSyncDatabase.disconnect()
now returnsFuture<void>
instead ofvoid
.- Subclasses of
PowerSyncBackendConnector
must now implementfetchCredentials()
instead ofrefreshCredentials()
+getCredentials()
.
Other changes:
- Update sqlite_async dependency to 0.4.0: https://pub.dev/packages/sqlite_async/changelog
0.3.0-preview.5 #
- Link github repository.
0.3.0-preview.4 #
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 toUpdateNotification
.PowerSyncDatabase.connectionFactory()
renamed toPowerSyncDatabase.isolateConnectionFactory()
, and should only be used to pass the connection to a different isolate.- All tables apart from
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:
- Fix queries not watching the correct tables in some cases.
- Fix performance issues on bulk insert/update/delete.
Other changes:
- Views and triggers are now persisted in the database, instead of using temporary views.
- This allows reading the views using other tools.
- It is still not possible to update the views using other tools, since triggers use the custom
powersync_diff
function to compute changes.
0.2.0-preview.3 #
- Use new write checkpoint API for reduced latency on data upload.
- Improve consistency when custom primary keys are used.
- Fix error on
getOptional()
. - Use
gen_random_uuid()
as an alias foruuid()
(custom function for SQLite).
0.2.0-preview.2 #
- Performance improvements in downloading changes.
0.2.0-preview.1 #
Breaking change:
- Rename internal tables to all start with
ps_
. All existing local data is deleted and re-synced.
Other changes:
- Add support for local indexes.
- Add support for local-only tables - no changes recorded, and not synced with the remote service.
- Add support for insert-only tables - records changes, but does not persist data or download from the remote service.
- Add
executeBatch()
API: execute the same statement with multiple parameter sets. - Add
computeWithDatabase()
API: execute a function in the database isolate, with low-level synchronous database access. - Add
onChange()
call to receive notifications of changes to a set of tables. - Improve
watch()
to only listen for updates to relevant tables. - Faster
uuid()
implementation.
0.1.1-preview.2 #
- Require Flutter SDK.
0.1.1-preview.1 #
- First public version.