Skip to content

Releases: powersync-ja/sqlite_async.dart

sqlite_async-v0.14.3

10 Jun 14:42

Choose a tag to compare

  • Include name of navigator lock on abort in #147
  • Support latest sqlite3_web package in #148

Full Changelog: sqlite_async-v0.14.2...sqlite_async-v0.14.3

sqlite_async-v0.14.2

27 May 12:39

Choose a tag to compare

Update to sqlite3_web versions 0.8.x.

Full Changelog: sqlite_async-v0.14.1...sqlite_async-v0.14.2

sqlite_async-v0.14.1

21 Apr 08:34

Choose a tag to compare

  • Fix update notifications firing before completed transactions in #140

Full Changelog: sqlite_async-v0.14.0...sqlite_async-v0.14.1

sqlite_async-v0.14.0

13 Apr 09:47
c137dce

Choose a tag to compare

  • Support versions 3.x of the sqlite3 package and 0.7.x of sqlite3_web.
  • Remove the sqlite3_open.dart library, SQLite libraries are no longer loaded through Dart.
  • Breaking: Rewrite the native connection pool implementation.
    • Remove isolate connection factories. Simply open the same database on another isolate, it's safe to do so now.
    • It is no longer possible to register user-defined functions in Dart. Extensions providing functions in native code can still be used.
  • Breaking: Remove AbstractDefaultSqliteOpenFactory and DefaultSqliteOpenFactory. Use SqliteOpenFactory instead. To provide a custom open factory, import NativeSqliteOpenFactory or WebSqliteOpenFactory with a platform-specific import and extend those classes.
  • Breaking: Remove the maxReaders parameter on SqliteDatabase. Set that parameter on SqliteOptions instead.
  • Breaking: Remove libraries exporting the sqlite3 package:
    • Instead of package:sqlite_async/sqlite3.dart, import package:sqlite3/sqlite3.dart.
    • Instead of package:sqlite_async/sqlite3_common.dart, import package:sqlite3/common.dart.
    • Instead of package:sqlite_async/sqlite3_wasm.dart, import package:sqlite3/wasm.dart.
    • Instead of package:sqlite_async/sqlite3_web.dart, import package:sqlite3_web/sqlite3_web.dart.
  • Breaking: Remove SqliteDatabaseMixin and SqliteQueries. Extend SqliteConnection instead.
  • Breaking: Calls locking the database that fail with a timeout now throw an AbortException instead of a TimeoutException.
  • The throttle parameter on watch and onChange can now be set to null. This also introduces watchUnthrottled and onChangeUnthrottled, which only buffer on paused subscriptions instead of applying a static timeout.
  • Add abortableReadLock and abortableWriteLock. The methods can be used to acquire a read/write context with a flexible abort signal instead of a static timeout.

sqlite_async-v0.14.0-wip.0

01 Apr 15:28
c5f4eaf

Choose a tag to compare

Pre-release

Note: This version of sqlite_async is still in development and there might be additional API changes between this release and the final 0.14.0 version. This release is mostly meant for internal testing.

  • Support versions 3.x of the sqlite3 package and 0.6.x of sqlite3_web.
  • Remove the sqlite3_open.dart library, SQLite libraries are no longer loaded through Dart.
  • Breaking: Rewrite the native connection pool implementation.
    • Remove isolate connection factories. Simply open the same database on another isolate, it's safe to do so now.
    • It is no longer possible to register user-defined functions in Dart. Extensions providing functions in native code can still be used.
  • Breaking: Remove AbstractDefaultSqliteOpenFactory and DefaultSqliteOpenFactory. Use SqliteOpenFactory instead. To provide a custom open factory, import NativeSqliteOpenFactory or WebSqliteOpenFactory with a platform-specific import and extend those classes.
  • Breaking: Remove the maxReaders parameter on SqliteDatabase. Set that parameter on SqliteOptions instead.
  • Breaking: Remove libraries exporting the sqlite3 package:
    • Instead of package:sqlite_async/sqlite3.dart, import package:sqlite3/sqlite3.dart.
    • Instead of package:sqlite_async/sqlite3_common.dart, import package:sqlite3/common.dart.
    • Instead of package:sqlite_async/sqlite3_wasm.dart, import package:sqlite3/wasm.dart.
    • Instead of package:sqlite_async/sqlite3_web.dart, import package:sqlite3_web/sqlite3_web.dart.
  • Breaking: Remove SqliteDatabaseMixin and SqliteQueries. Extend SqliteConnection instead.
  • Breaking: Calls locking the database that fail with a timeout now throw an AbortException instead of a TimeoutException.
  • The throttle parameter on watch and onChange can now be set to null. This also introduces watchUnthrottled and onChangeUnthrottled, which only buffer on paused subscriptions instead of applying a static timeout.
  • Add abortableReadLock and abortableWriteLock. The methods can be used to acquire a read/write context with a flexible abort signal instead of a static timeout.

sqlite_async-v0.13.1

19 Jan 08:19

Choose a tag to compare

  • Add executeMultiple to run multiple statements not using parameters.

sqlite_async-v0.13.0

04 Nov 10:15

Choose a tag to compare

Release sqlite_async-v0.13.0

sqlite_async-v0.12.0

08 Aug 11:23

Choose a tag to compare

  • Avoid large transactions creating a large internal update queue.

sqlite_async-v0.11.8

30 Jul 12:50

Choose a tag to compare

  • Support nested transactions (emulated with SAVEPOINT statements).
  • Fix web compilation issues with version 2.8.0 of package:sqlite3.

sqlite_async-v0.11.7

03 Jun 11:17

Choose a tag to compare

  • Shared worker: Release locks owned by connected client tab when it closes.
  • Fix web concurrency issues: Consistently apply a shared mutex or let a shared worker coordinate access.