Skip to content

Releases: powersync-ja/powersync.dart

powersync-v2.0.2

29 Apr 14:16

Choose a tag to compare

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.

powersync-v2.0.1

14 Apr 07:10

Choose a tag to compare

Release powersync-v2.0.1

  • Fix documentation not generating.

powersync-v2.0.0

13 Apr 14:07

Choose a tag to compare

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 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).

powersync-v2.0.0-wip.0

10 Apr 08:06
caf148b

Choose a tag to compare

Release powersync-v2.0.0-wip.0. Note that we are still finalizing this release and will likely upload the final version next week.

  • 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.

powersync-v1.18.0

05 Mar 09:43

Choose a tag to compare

Release powersync-v1.18.0

  • Add RawTable.inferred constructor, which can be used to specify raw tables without manual put and delete statements.
  • Update PowerSync SQLite core extension to version 0.4.11.

powersync-v1.17.0

12 Dec 12:52

Choose a tag to compare

Release powersync-v1.17.0

powersync-v1.16.2

26 Nov 10:55

Choose a tag to compare

Release powersync-v1.16.2

  • Support latest version of sqlite_async.

powersync-v1.16.1

06 Oct 13:59

Choose a tag to compare

Release powersync-v1.16.1

  • Web: Fix decoding sync streams on status.

powersync-v1.16.0

02 Oct 14:36

Choose a tag to compare

Release powersync-v1.16.0

  • Add getCrudTransactions() returning a stream of completed transactions for uploads.
  • Add experimental support for sync streams.
  • Add new attachments helper implementation in package:powersync_core/attachments/attachments.dart.
  • Add SwiftPM support.

powersync-v1.15.2

14 Aug 15:27

Choose a tag to compare

Release powersync-v1.15.2

  • Fix excessive memory consumption during large sync (#318).