Fix disconnect() call leaving stale database isolates behind.
Web: Update to SQLite 3.53.1.
Web: Support OPFS-based file systems in Safari without additional headers. Remember to update the web worker with dart run powersync:setup_web after upgrading.
Support latest versions of package:hooks and package:code_assets.
Upgrade sqlite packages: Version 3.x of sqlite3, 0.6.x of sqlite3_web, 0.14.x of sqlite_async.
Remember to download updated db workers and sqlite3.wasm files after upgrading!
Breaking: Remove package:powersync/sqlite3_open.dart, since SQLite is now loaded through build hooks exclusively.
Breaking: Remove AbstractPowerSyncOpenFactory and PowerSyncOpenFactory. If you want to customize how databases
are opened, use conditional imports for package:powersync/native.dart and package:powersync/web.dart to extend NativePowerSyncOpenFactory or WebPowerSyncOpenFactory, respectively.
Improve performance of native databases.
Native databases can now be opened on multiple isolates or Flutter engines (e.g. for background tasks).
They will automatically share write locks and table updates. Note that only one instance may connect to the PowerSync service though.
For Chrome browsers, we now use OPFS by default instead of IndexedDB. This improves performance. Existing databases are still loaded from IndexedDB.
The maxReaders parameter on PowerSyncDatabase constructors is no longer functional, set that parameter on SqliteOptions instead.
Add watchUnthrottled and onChangeUnthrottled as variants of watch and onChange that only take backpressure
from paused subscriptions into account withut using a fixed delay.
Add abortableReadLock and abortableWriteLock, which can be used to acquire a read/write context with a flexible
abort signal instead of a fixed timeout.
Breaking: The powersync_core, powersync_sqlcipher and powersync_flutter_libs packages have been removed.
The powersync package now provides the entire SDK for all platforms (both for Flutter and standalone Dart apps).
Breaking: The powersync_sleep and powersync_connection_name SQL functions have been removed. Also, it is
no longer possible to define additional user-defined functions in Dart.
Add encryption support to the powersync package (see the EncryptionOptions class for details).
Remove the legacy Dart sync client. The new Rust client has been the default since version 1.17.0.
Deprecate re-exports of other packages (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.
Remove powersync_sync.worker.js. powersync_db.worker.js now covers both database access and sync.
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [powersync](https://powersync.com) ([source](https://github.com/powersync-ja/powersync.dart)) | dependencies | major | `^1.12.2` → `^2.0.0` |
---
> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/3) for more information.
---
### Release Notes
<details>
<summary>powersync-ja/powersync.dart (powersync)</summary>
### [`v2.3.3`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.3.3)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.3.2...powersync-v2.3.3)
Release powersync-v2.3.3
- Restore the ability to call `disconnect()` on closed databases.
- Internal: Update PowerSync SQLite core extension to latest version.
### [`v2.3.2`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.3.2)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.3.1...powersync-v2.3.2)
Release powersync-v2.3.2
- Fix state after calling `disconnect()` not consistently representing the correct sync status.
### [`v2.3.1`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.3.1)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.3.0...powersync-v2.3.1)
Release powersync-v2.3.1
- Fix `BucketStorage.select()` acquiring a write lock for read-only queries.
- Restore SQLCipher support on native platforms.
### [`v2.3.0`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.3.0)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.2.0...powersync-v2.3.0)
- Improve tab close detection for shared sync worker in [#​425](https://github.com/powersync-ja/powersync.dart/pull/425)
- Support custom HTTP clients in [#​424](https://github.com/powersync-ja/powersync.dart/pull/424)
**Full Changelog**: <https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.2.0...powersync-v2.3.0>
### [`v2.2.0`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.2.0)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.1.0...powersync-v2.2.0)
Release powersync-v2.2.0
- Fix `disconnect()` call leaving stale database isolates behind.
- Web: Update to SQLite 3.53.1.
- Web: Support OPFS-based file systems in Safari without additional headers. Remember to update the web worker with `dart run powersync:setup_web` after upgrading.
- Support latest versions of `package:hooks` and `package:code_assets`.
### [`v2.1.0`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.1.0)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.0.2...powersync-v2.1.0)
Release powersync-v2.1.0
- Add a DevTools extension to inspect running PowerSync databases in your app.
### [`v2.0.2`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.0.2)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.0.1...powersync-v2.0.2)
Release powersync-v2.0.2
- Update PowerSync SQLite core extension to version 0.4.13.
- Fix changes in active Sync Stream subscriptions causing a reconnect delay.
### [`v2.0.1`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.0.1)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.0.0...powersync-v2.0.1)
Release powersync-v2.0.1
- Fix documentation not generating.
### [`v2.0.0`](https://github.com/powersync-ja/powersync.dart/releases/tag/powersync-v2.0.0)
[Compare Source](https://github.com/powersync-ja/powersync.dart/compare/powersync-v1.18.0...powersync-v2.0.0)
Release powersync-v2.0.0
- Upgrade sqlite packages: Version 3.x of `sqlite3`, 0.6.x of `sqlite3_web`, 0.14.x of `sqlite_async`.
- Remember to download updated db workers and `sqlite3.wasm` files after upgrading!
- **Breaking**: Remove `package:powersync/sqlite3_open.dart`, since SQLite is now loaded through [build hooks](https://pub.dev/documentation/sqlite3/latest/topics/hook-topic.html) exclusively.
- **Breaking**: Remove `AbstractPowerSyncOpenFactory` and `PowerSyncOpenFactory`. If you want to customize how databases
are opened, use conditional imports for `package:powersync/native.dart` and `package:powersync/web.dart` to extend
`NativePowerSyncOpenFactory` or `WebPowerSyncOpenFactory`, respectively.
- Improve performance of native databases.
- Native databases can now be opened on multiple isolates or Flutter engines (e.g. for background tasks).
They will automatically share write locks and table updates. Note that only one instance may connect to the PowerSync service though.
- For Chrome browsers, we now use OPFS by default instead of IndexedDB. This improves performance. Existing databases are still loaded from IndexedDB.
- The `maxReaders` parameter on `PowerSyncDatabase` constructors is no longer functional, set that parameter on
`SqliteOptions` instead.
- Add `watchUnthrottled` and `onChangeUnthrottled` as variants of `watch` and `onChange` that only take backpressure
from paused subscriptions into account withut using a fixed delay.
- Add `abortableReadLock` and `abortableWriteLock`, which can be used to acquire a read/write context with a flexible
abort signal instead of a fixed timeout.
- **Breaking**: The `powersync_core`, `powersync_sqlcipher` and `powersync_flutter_libs` packages have been removed.
The `powersync` package now provides the entire SDK for all platforms (both for Flutter and standalone Dart apps).
- **Breaking**: The `powersync_sleep` and `powersync_connection_name` SQL functions have been removed. Also, it is
no longer possible to define additional user-defined functions in Dart.
- Add encryption support to the `powersync` package (see the `EncryptionOptions` class for details).
- Remove the legacy Dart sync client. The new Rust client has been the default since version 1.17.0.
- Deprecate re-exports of other packages (`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.
- Remove `powersync_sync.worker.js`. `powersync_db.worker.js` now covers both database access and sync.
- Fix sync isolate retry loop ([#​397](https://github.com/powersync-ja/powersync.dart/issues/397)).
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzkuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYm90IiwidXBncmFkZSJdfQ==-->
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: pubspec.lock
spawn flutter ENOENT
### ⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
##### File name: pubspec.lock
```
spawn flutter ENOENT
```
Some required checks failed
renovate/artifacts Artifact file update failure
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
^1.12.2→^2.0.0Release Notes
powersync-ja/powersync.dart (powersync)
v2.3.3Compare Source
Release powersync-v2.3.3
disconnect()on closed databases.v2.3.2Compare Source
Release powersync-v2.3.2
disconnect()not consistently representing the correct sync status.v2.3.1Compare Source
Release powersync-v2.3.1
BucketStorage.select()acquiring a write lock for read-only queries.v2.3.0Compare Source
Full Changelog: https://github.com/powersync-ja/powersync.dart/compare/powersync-v2.2.0...powersync-v2.3.0
v2.2.0Compare Source
Release powersync-v2.2.0
disconnect()call leaving stale database isolates behind.dart run powersync:setup_webafter upgrading.package:hooksandpackage:code_assets.v2.1.0Compare Source
Release powersync-v2.1.0
v2.0.2Compare Source
Release powersync-v2.0.2
v2.0.1Compare Source
Release powersync-v2.0.1
v2.0.0Compare Source
Release powersync-v2.0.0
sqlite3, 0.6.x ofsqlite3_web, 0.14.x ofsqlite_async.sqlite3.wasmfiles after upgrading!package:powersync/sqlite3_open.dart, since SQLite is now loaded through build hooks exclusively.AbstractPowerSyncOpenFactoryandPowerSyncOpenFactory. If you want to customize how databasesare opened, use conditional imports for
package:powersync/native.dartandpackage:powersync/web.dartto extendNativePowerSyncOpenFactoryorWebPowerSyncOpenFactory, respectively.They will automatically share write locks and table updates. Note that only one instance may connect to the PowerSync service though.
maxReadersparameter onPowerSyncDatabaseconstructors is no longer functional, set that parameter onSqliteOptionsinstead.watchUnthrottledandonChangeUnthrottledas variants ofwatchandonChangethat only take backpressurefrom paused subscriptions into account withut using a fixed delay.
abortableReadLockandabortableWriteLock, which can be used to acquire a read/write context with a flexibleabort signal instead of a fixed timeout.
powersync_core,powersync_sqlcipherandpowersync_flutter_libspackages have been removed.The
powersyncpackage now provides the entire SDK for all platforms (both for Flutter and standalone Dart apps).powersync_sleepandpowersync_connection_nameSQL functions have been removed. Also, it isno longer possible to define additional user-defined functions in Dart.
powersyncpackage (see theEncryptionOptionsclass 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.jsnow covers both database access and sync.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: pubspec.lock
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.