diff --git a/CHANGELOG.md b/CHANGELOG.md index 843fc749..12b0dd40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,49 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## 2025-03-03 + +### Changes + +--- + +Packages with breaking changes: + + - There are no breaking changes in this release. + +Packages with other changes: + + - [`powersync_core` - `v1.2.0`](#powersync_core---v120) + - [`powersync_flutter_libs` - `v0.4.6`](#powersync_flutter_libs---v046) + - [`powersync` - `v1.12.0`](#powersync---v1120) + - [`powersync_sqlcipher` - `v0.1.5`](#powersync_sqlcipher---v015) + - [`powersync_attachments_helper` - `v0.6.18+2`](#powersync_attachments_helper---v06182) + +Packages with dependency updates only: + +> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project. + + - `powersync_attachments_helper` - `v0.6.18+2` + +--- + +#### `powersync_core` - `v1.2.0` + + - Support bucket priorities and partial syncs. + +#### `powersync_flutter_libs` - `v0.4.6` + + - Bump version of core extension to 0.3.11 + +#### `powersync` - `v1.12.0` + + - Support bucket priorities and partial syncs. + +#### `powersync_sqlcipher` - `v0.1.5` + + - Support bucket priorities and partial syncs. + + ## 2025-02-17 ### Changes diff --git a/demos/benchmarks/pubspec.yaml b/demos/benchmarks/pubspec.yaml index 941ff677..ebff3765 100644 --- a/demos/benchmarks/pubspec.yaml +++ b/demos/benchmarks/pubspec.yaml @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - powersync: ^1.11.3 + powersync: ^1.12.0 path_provider: ^2.1.1 path: ^1.8.3 logging: ^1.2.0 diff --git a/demos/django-todolist/pubspec.yaml b/demos/django-todolist/pubspec.yaml index 088ed8ee..97c119f2 100644 --- a/demos/django-todolist/pubspec.yaml +++ b/demos/django-todolist/pubspec.yaml @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - powersync: ^1.11.3 + powersync: ^1.12.0 path_provider: ^2.1.1 path: ^1.8.3 logging: ^1.2.0 diff --git a/demos/firebase-nodejs-todolist/pubspec.yaml b/demos/firebase-nodejs-todolist/pubspec.yaml index 2409f385..34829f59 100644 --- a/demos/firebase-nodejs-todolist/pubspec.yaml +++ b/demos/firebase-nodejs-todolist/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: flutter: sdk: flutter - powersync: ^1.11.3 + powersync: ^1.12.0 path_provider: ^2.1.1 supabase_flutter: ^2.0.1 path: ^1.8.3 diff --git a/demos/supabase-anonymous-auth/pubspec.yaml b/demos/supabase-anonymous-auth/pubspec.yaml index 1e9cfc5e..db51223c 100644 --- a/demos/supabase-anonymous-auth/pubspec.yaml +++ b/demos/supabase-anonymous-auth/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: flutter: sdk: flutter - powersync: ^1.11.3 + powersync: ^1.12.0 path_provider: ^2.1.1 supabase_flutter: ^2.0.2 path: ^1.8.3 diff --git a/demos/supabase-edge-function-auth/pubspec.yaml b/demos/supabase-edge-function-auth/pubspec.yaml index aa20ddb5..724a6050 100644 --- a/demos/supabase-edge-function-auth/pubspec.yaml +++ b/demos/supabase-edge-function-auth/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: flutter: sdk: flutter - powersync: ^1.11.3 + powersync: ^1.12.0 path_provider: ^2.1.1 supabase_flutter: ^2.0.2 path: ^1.8.3 diff --git a/demos/supabase-simple-chat/pubspec.yaml b/demos/supabase-simple-chat/pubspec.yaml index a0fa8777..3300612c 100644 --- a/demos/supabase-simple-chat/pubspec.yaml +++ b/demos/supabase-simple-chat/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: supabase_flutter: ^2.0.2 timeago: ^3.6.0 - powersync: ^1.11.3 + powersync: ^1.12.0 path_provider: ^2.1.1 path: ^1.8.3 logging: ^1.2.0 diff --git a/demos/supabase-todolist-drift/pubspec.yaml b/demos/supabase-todolist-drift/pubspec.yaml index 89121b07..3c9363cc 100644 --- a/demos/supabase-todolist-drift/pubspec.yaml +++ b/demos/supabase-todolist-drift/pubspec.yaml @@ -9,8 +9,8 @@ environment: dependencies: flutter: sdk: flutter - powersync_attachments_helper: ^0.6.18+1 - powersync: ^1.11.3 + powersync_attachments_helper: ^0.6.18+2 + powersync: ^1.12.0 path_provider: ^2.1.1 supabase_flutter: ^2.0.1 path: ^1.8.3 diff --git a/demos/supabase-todolist-optional-sync/pubspec.yaml b/demos/supabase-todolist-optional-sync/pubspec.yaml index fb329bf8..98f21670 100644 --- a/demos/supabase-todolist-optional-sync/pubspec.yaml +++ b/demos/supabase-todolist-optional-sync/pubspec.yaml @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - powersync: ^1.11.3 + powersync: ^1.12.0 path_provider: ^2.1.1 supabase_flutter: ^2.0.1 path: ^1.8.3 diff --git a/demos/supabase-todolist/lib/widgets/todo_list_page.dart b/demos/supabase-todolist/lib/widgets/todo_list_page.dart index 70dde161..57f1d561 100644 --- a/demos/supabase-todolist/lib/widgets/todo_list_page.dart +++ b/demos/supabase-todolist/lib/widgets/todo_list_page.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:powersync_flutter_demo/models/todo_item.dart'; +import 'package:powersync_flutter_demo/powersync.dart'; import './status_app_bar.dart'; import './todo_item_dialog.dart'; @@ -81,8 +82,9 @@ class TodoListWidgetState extends State { Widget build(BuildContext context) { return StreamBuilder( stream: TodoList.watchSyncStatus().map((e) => e.hasSynced), + initialData: db.currentStatus.hasSynced, builder: (context, snapshot) { - if (snapshot.data ?? false) { + if (snapshot.data != true) { return const Text('Busy with sync'); } diff --git a/demos/supabase-todolist/pubspec.yaml b/demos/supabase-todolist/pubspec.yaml index 7c16dc3d..1542f5e3 100644 --- a/demos/supabase-todolist/pubspec.yaml +++ b/demos/supabase-todolist/pubspec.yaml @@ -10,8 +10,8 @@ environment: dependencies: flutter: sdk: flutter - powersync_attachments_helper: ^0.6.18+1 - powersync: ^1.11.3 + powersync_attachments_helper: ^0.6.18+2 + powersync: ^1.12.0 path_provider: ^2.1.1 supabase_flutter: ^2.0.1 path: ^1.8.3 diff --git a/demos/supabase-trello/pubspec.yaml b/demos/supabase-trello/pubspec.yaml index 768ef21d..f28ba632 100644 --- a/demos/supabase-trello/pubspec.yaml +++ b/demos/supabase-trello/pubspec.yaml @@ -36,7 +36,7 @@ dependencies: random_name_generator: ^1.5.0 flutter_dotenv: ^5.2.1 logging: ^1.3.0 - powersync: ^1.11.3 + powersync: ^1.12.0 sqlite_async: ^0.11.0 path_provider: ^2.1.5 supabase_flutter: ^2.8.3 diff --git a/packages/powersync/CHANGELOG.md b/packages/powersync/CHANGELOG.md index fc9280b9..a18b9766 100644 --- a/packages/powersync/CHANGELOG.md +++ b/packages/powersync/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.12.0 + + - Support bucket priorities and partial syncs. + ## 1.11.3 - Update a dependency to the latest release. diff --git a/packages/powersync/pubspec.yaml b/packages/powersync/pubspec.yaml index 032e0dd7..7e0d9b8f 100644 --- a/packages/powersync/pubspec.yaml +++ b/packages/powersync/pubspec.yaml @@ -1,5 +1,5 @@ name: powersync -version: 1.11.3 +version: 1.12.0 homepage: https://powersync.com repository: https://github.com/powersync-ja/powersync.dart description: PowerSync Flutter SDK - sync engine for building local-first apps. @@ -12,8 +12,8 @@ dependencies: sdk: flutter sqlite3_flutter_libs: ^0.5.23 - powersync_core: ^1.1.3 - powersync_flutter_libs: ^0.4.5 + powersync_core: ^1.2.0 + powersync_flutter_libs: ^0.4.6 collection: ^1.17.0 dev_dependencies: diff --git a/packages/powersync_attachments_helper/CHANGELOG.md b/packages/powersync_attachments_helper/CHANGELOG.md index 2e6d6665..45db5e66 100644 --- a/packages/powersync_attachments_helper/CHANGELOG.md +++ b/packages/powersync_attachments_helper/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.18+2 + + - Update a dependency to the latest release. + ## 0.6.18+1 - Update a dependency to the latest release. diff --git a/packages/powersync_attachments_helper/pubspec.yaml b/packages/powersync_attachments_helper/pubspec.yaml index 2719f1b6..c1be3939 100644 --- a/packages/powersync_attachments_helper/pubspec.yaml +++ b/packages/powersync_attachments_helper/pubspec.yaml @@ -1,6 +1,6 @@ name: powersync_attachments_helper description: A helper library for handling attachments when using PowerSync. -version: 0.6.18+1 +version: 0.6.18+2 repository: https://github.com/powersync-ja/powersync.dart homepage: https://www.powersync.com/ environment: @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter - powersync_core: ^1.1.3 + powersync_core: ^1.2.0 logging: ^1.2.0 sqlite_async: ^0.11.0 path_provider: ^2.0.13 diff --git a/packages/powersync_core/CHANGELOG.md b/packages/powersync_core/CHANGELOG.md index 35bac4d0..b27ff1af 100644 --- a/packages/powersync_core/CHANGELOG.md +++ b/packages/powersync_core/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.0 + + - Support bucket priorities and partial syncs. + ## 1.1.3 - Add explicit casts in sync service, avoiding possible issues with dart2js optimizations. diff --git a/packages/powersync_core/lib/src/setup_web.dart b/packages/powersync_core/lib/src/setup_web.dart index b3ad99c9..1886c3b0 100644 --- a/packages/powersync_core/lib/src/setup_web.dart +++ b/packages/powersync_core/lib/src/setup_web.dart @@ -73,7 +73,7 @@ Future downloadWebAssets(List arguments, if (powerSyncVersion >= firstPowerSyncVersionWithOwnWasm) { final wasmUrl = - 'https://github.com/powersync-ja/powersync.dart/releases/download/powersync-$powersyncTag/$wasmFileName'; + 'https://github.com/powersync-ja/powersync.dart/releases/download/$powersyncTag/$wasmFileName'; await downloadFile(httpClient, wasmUrl, wasmPath); } else { diff --git a/packages/powersync_core/lib/src/sync_status.dart b/packages/powersync_core/lib/src/sync_status.dart index 3d883757..86579907 100644 --- a/packages/powersync_core/lib/src/sync_status.dart +++ b/packages/powersync_core/lib/src/sync_status.dart @@ -151,7 +151,9 @@ final class SyncStatus { return "SyncStatus"; } - static const _statusEquality = ListEquality(); + // This should be a ListEquality, but that appears to + // cause weird type errors with DDC (but only after hot reloads?!) + static const _statusEquality = ListEquality(); } /// The priority of a PowerSync bucket. diff --git a/packages/powersync_core/lib/src/version.dart b/packages/powersync_core/lib/src/version.dart index 5092e217..2e4ca8ca 100644 --- a/packages/powersync_core/lib/src/version.dart +++ b/packages/powersync_core/lib/src/version.dart @@ -1 +1 @@ -const String libraryVersion = '1.1.3'; +const String libraryVersion = '1.2.0'; diff --git a/packages/powersync_core/lib/src/web/sync_worker_protocol.dart b/packages/powersync_core/lib/src/web/sync_worker_protocol.dart index 8a064e1e..c8f343cf 100644 --- a/packages/powersync_core/lib/src/web/sync_worker_protocol.dart +++ b/packages/powersync_core/lib/src/web/sync_worker_protocol.dart @@ -203,7 +203,9 @@ extension type SerializedSyncStatus._(JSObject _) implements JSObject { hasSynced: hasSynced, uploadError: uploadError, downloadError: downloadError, - priorityStatusEntries: priorityStatusEntries?.toDart.map((e) { + priorityStatusEntries: [ + if (priorityStatusEntries case final jsEntries?) + ...jsEntries.toDart.map((e) { final [rawPriority, rawSynced, rawHasSynced, ...] = (e as JSArray).toDart; final syncedMillis = (rawSynced as JSNumber?)?.toDartInt; @@ -215,8 +217,8 @@ extension type SerializedSyncStatus._(JSObject _) implements JSObject { : null, hasSynced: (rawHasSynced as JSBoolean?)?.toDart, ); - }).toList() ?? - const [], + }) + ], ); } } diff --git a/packages/powersync_core/pubspec.yaml b/packages/powersync_core/pubspec.yaml index 35f26383..3e0c04d5 100644 --- a/packages/powersync_core/pubspec.yaml +++ b/packages/powersync_core/pubspec.yaml @@ -1,5 +1,5 @@ name: powersync_core -version: 1.1.3 +version: 1.2.0 homepage: https://powersync.com repository: https://github.com/powersync-ja/powersync.dart description: PowerSync Dart SDK - sync engine for building local-first apps. diff --git a/packages/powersync_flutter_libs/CHANGELOG.md b/packages/powersync_flutter_libs/CHANGELOG.md index f0e0abf0..ddcaac84 100644 --- a/packages/powersync_flutter_libs/CHANGELOG.md +++ b/packages/powersync_flutter_libs/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.4.6 + + - Bump version of core extension to 0.3.11 + ## 0.4.5 - Update core extension to 0.3.10 in preparation for bucket priorities. diff --git a/packages/powersync_flutter_libs/pubspec.yaml b/packages/powersync_flutter_libs/pubspec.yaml index c914ed58..0711c084 100644 --- a/packages/powersync_flutter_libs/pubspec.yaml +++ b/packages/powersync_flutter_libs/pubspec.yaml @@ -1,6 +1,6 @@ name: powersync_flutter_libs description: PowerSync core binaries for the PowerSync Flutter SDK. Needs to be included for Flutter apps. -version: 0.4.5 +version: 0.4.6 repository: https://github.com/powersync-ja/powersync.dart homepage: https://www.powersync.com/ diff --git a/packages/powersync_sqlcipher/CHANGELOG.md b/packages/powersync_sqlcipher/CHANGELOG.md index dde6a2c1..d2112237 100644 --- a/packages/powersync_sqlcipher/CHANGELOG.md +++ b/packages/powersync_sqlcipher/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.5 + + - Support bucket priorities and partial syncs. + ## 0.1.4+1 - Update a dependency to the latest release. diff --git a/packages/powersync_sqlcipher/pubspec.yaml b/packages/powersync_sqlcipher/pubspec.yaml index 38d1882d..b59b3cc0 100644 --- a/packages/powersync_sqlcipher/pubspec.yaml +++ b/packages/powersync_sqlcipher/pubspec.yaml @@ -1,5 +1,5 @@ name: powersync_sqlcipher -version: 0.1.4+1 +version: 0.1.5 homepage: https://powersync.com repository: https://github.com/powersync-ja/powersync.dart description: PowerSync Flutter SDK - sync engine for building local-first apps. @@ -12,8 +12,8 @@ dependencies: flutter: sdk: flutter - powersync_core: ^1.1.3 - powersync_flutter_libs: ^0.4.5 + powersync_core: ^1.2.0 + powersync_flutter_libs: ^0.4.6 sqlcipher_flutter_libs: ^0.6.4 sqlite3_web: ^0.3.0