From 7ab8dba72f076c2ef2fe2fd209d1df237035cb85 Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 29 Jan 2026 14:50:40 +0200 Subject: [PATCH 01/10] Update sync/streams/overview.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --- sync/streams/overview.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 071927e8..ea30ca02 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -45,6 +45,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, * React hooks: v1.8.0 * Dart: v1.16.0 * Kotlin: v1.7.0 + * .NET: v0.0.8-alpha.1 * Swift: [In progress](https://github.com/powersync-ja/powersync-swift/pull/86). * Use of the [Rust-based sync client](https://releases.powersync.com/announcements/improved-sync-performance-in-our-client-sdks) From 5dd7ed359ee896770c0b496387347025ff2c0472 Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 29 Jan 2026 14:50:55 +0200 Subject: [PATCH 02/10] Update sync/streams/overview.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --- sync/streams/overview.mdx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index ea30ca02..f78fb3a1 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -100,6 +100,13 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Swift client later by removing the option. + + The .NET SDK uses the Rust-based sync client by default. No additional configuration is required. + + ```csharp + await db.Connect(new MyConnector()); + ``` + * Sync Stream definitions. They are currently defined in the same YAML file as Sync Rules: `sync_rules.yaml` (PowerSync Cloud) or `config.yaml` (Open Edition/self-hosted). To enable Sync Streams, add the following configuration: From 05a3e7ba745f33f17150d4d0f013eb4d4723951e Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 29 Jan 2026 14:51:06 +0200 Subject: [PATCH 03/10] Update sync/streams/overview.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --- sync/streams/overview.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index f78fb3a1..0997bd6c 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -403,6 +403,23 @@ Select your language for specific examples: ``` + + ```csharp + var sub = await db.SyncStream("issues", new Dictionary { { "id", "issue-id" } }) + .Subscribe(new SyncStreamSubscribeOptions { Ttl = TimeSpan.FromHours(1) }); + + // Resolve current status for subscription + var status = db.CurrentStatus.ForStream(sub); + var progress = status?.Progress; + + // Wait for this subscription to have synced + await sub.WaitForFirstSync(); + + // When the component needing the subscription is no longer active... + sub.Unsubscribe(); + ``` + + Coming soon From 037cfb32f7453a90b39e86ab09927485835d616a Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 29 Jan 2026 14:56:26 +0200 Subject: [PATCH 04/10] Update sync/streams/overview.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --- sync/streams/overview.mdx | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 0997bd6c..270cf9a0 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -48,10 +48,13 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, * .NET: v0.0.8-alpha.1 * Swift: [In progress](https://github.com/powersync-ja/powersync-swift/pull/86). * Use of the [Rust-based sync client](https://releases.powersync.com/announcements/improved-sync-performance-in-our-client-sdks) - + + The Rust-based sync client is enabled by default on the latest version of all SDKs. If you are on a lower version, follow the instructions below to enable it. + + - In JavaScript SDKs, pass the `clientImplementation` option when connecting: + The Rust client became the default in Web SDK v1.32.0. For lower versions, pass the `clientImplementation` option when connecting: ```js await db.connect(new MyConnector(), { @@ -62,7 +65,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the JavaScript client later by removing the option. - Pass the `syncImplementation` option when connecting: + The Rust client became the default in Dart SDK v[VERSION]. For lower versions, pass the `syncImplementation` option when connecting: ```dart database.connect( @@ -76,7 +79,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Dart client later by removing the option. - Pass the `newClientImplementation` option when connecting: + The Rust client became the default in Kotlin SDK v[VERSION]. For lower versions, pass the `newClientImplementation` option when connecting: ```kotlin //@file:OptIn(ExperimentalPowerSyncAPI::class) @@ -88,7 +91,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Kotlin client later by removing the option. - Pass the `newClientImplementation` option when connecting: + The Rust client became the default in Swift SDK v[VERSION]. For lower versions, pass the `newClientImplementation` option when connecting: ```swift @_spi(PowerSyncExperimental) import PowerSync @@ -101,11 +104,16 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Swift client later by removing the option. - The .NET SDK uses the Rust-based sync client by default. No additional configuration is required. + The Rust client became the default in .NET SDK v0.0.8-alpha.1. For lower versions, pass the `UseRustSyncClient` option when connecting: ```csharp - await db.Connect(new MyConnector()); + await db.Connect(new MyConnector(), new ConnectOptions + { + UseRustSyncClient = true + }); ``` + + You can migrate back to the .NET client later by removing the option. From 2ac2b4053037acdf70918d843f93ae045fa34901 Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 29 Jan 2026 15:01:06 +0200 Subject: [PATCH 05/10] Update sync/streams/overview.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --- sync/streams/overview.mdx | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 270cf9a0..f34e5e45 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -104,16 +104,11 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Swift client later by removing the option. - The Rust client became the default in .NET SDK v0.0.8-alpha.1. For lower versions, pass the `UseRustSyncClient` option when connecting: + The Rust client became the default in .NET SDK v0.0.6-alpha.1. No additional configuration is required. ```csharp - await db.Connect(new MyConnector(), new ConnectOptions - { - UseRustSyncClient = true - }); + await db.Connect(new MyConnector()); ``` - - You can migrate back to the .NET client later by removing the option. From b5efabbffd92bf0078e2288c9711e6238a73c289 Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 29 Jan 2026 15:01:18 +0200 Subject: [PATCH 06/10] Update sync/streams/overview.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --- sync/streams/overview.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index f34e5e45..877d7ea9 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -45,7 +45,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, * React hooks: v1.8.0 * Dart: v1.16.0 * Kotlin: v1.7.0 - * .NET: v0.0.8-alpha.1 + * .NET: v0.0.9-alpha.1 * Swift: [In progress](https://github.com/powersync-ja/powersync-swift/pull/86). * Use of the [Rust-based sync client](https://releases.powersync.com/announcements/improved-sync-performance-in-our-client-sdks) From bc8c98e7fa0c0ba2c69cbda2f0b48a12ef3473e5 Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 29 Jan 2026 15:08:12 +0200 Subject: [PATCH 07/10] Update sync/streams/overview.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --- sync/streams/overview.mdx | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 877d7ea9..28d4f2d6 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -53,7 +53,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, - + The Rust client became the default in Web SDK v1.32.0. For lower versions, pass the `clientImplementation` option when connecting: ```js @@ -64,8 +64,30 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the JavaScript client later by removing the option. + + The Rust client became the default in React Native SDK v1.29.0. For lower versions, pass the `clientImplementation` option when connecting: + + ```js + await db.connect(new MyConnector(), { + clientImplementation: SyncClientImplementation.RUST + }); + ``` + + You can migrate back to the JavaScript client later by removing the option. + + + The Rust client became the default in Node.js SDK v0.16.0. For lower versions, pass the `clientImplementation` option when connecting: + + ```js + await db.connect(new MyConnector(), { + clientImplementation: SyncClientImplementation.RUST + }); + ``` + + You can migrate back to the JavaScript client later by removing the option. + - The Rust client became the default in Dart SDK v[VERSION]. For lower versions, pass the `syncImplementation` option when connecting: + The Rust client is not yet the default in the Dart SDK. Pass the `syncImplementation` option when connecting: ```dart database.connect( @@ -79,7 +101,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Dart client later by removing the option. - The Rust client became the default in Kotlin SDK v[VERSION]. For lower versions, pass the `newClientImplementation` option when connecting: + The Rust client became the default in Kotlin SDK v1.9.0. For lower versions, pass the `newClientImplementation` option when connecting: ```kotlin //@file:OptIn(ExperimentalPowerSyncAPI::class) @@ -91,7 +113,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Kotlin client later by removing the option. - The Rust client became the default in Swift SDK v[VERSION]. For lower versions, pass the `newClientImplementation` option when connecting: + The Rust client became the default in Swift SDK v1.8.0. For lower versions, pass the `newClientImplementation` option when connecting: ```swift @_spi(PowerSyncExperimental) import PowerSync @@ -104,7 +126,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Swift client later by removing the option. - The Rust client became the default in .NET SDK v0.0.6-alpha.1. No additional configuration is required. + The Rust client became the default in .NET SDK v0.0.5. No additional configuration is required. ```csharp await db.Connect(new MyConnector()); From 6a1fc6427cfccd9ab9476af6a707d60f42893f54 Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 29 Jan 2026 15:09:27 +0200 Subject: [PATCH 08/10] Update sync/streams/overview.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --- sync/streams/overview.mdx | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 28d4f2d6..31f73c2f 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -53,30 +53,8 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, - - The Rust client became the default in Web SDK v1.32.0. For lower versions, pass the `clientImplementation` option when connecting: - - ```js - await db.connect(new MyConnector(), { - clientImplementation: SyncClientImplementation.RUST - }); - ``` - - You can migrate back to the JavaScript client later by removing the option. - - - The Rust client became the default in React Native SDK v1.29.0. For lower versions, pass the `clientImplementation` option when connecting: - - ```js - await db.connect(new MyConnector(), { - clientImplementation: SyncClientImplementation.RUST - }); - ``` - - You can migrate back to the JavaScript client later by removing the option. - - - The Rust client became the default in Node.js SDK v0.16.0. For lower versions, pass the `clientImplementation` option when connecting: + + The Rust client became the default in Web SDK v1.32.0, React Native SDK v1.29.0, and Node.js SDK v0.16.0. For lower versions, pass the `clientImplementation` option when connecting: ```js await db.connect(new MyConnector(), { From e2cbaa5441b45cd08ebf4bcd613c46978cbe9d1d Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Thu, 29 Jan 2026 15:18:09 +0200 Subject: [PATCH 09/10] Corrections --- sync/streams/overview.mdx | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 31f73c2f..60ab88a9 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -47,14 +47,12 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, * Kotlin: v1.7.0 * .NET: v0.0.9-alpha.1 * Swift: [In progress](https://github.com/powersync-ja/powersync-swift/pull/86). -* Use of the [Rust-based sync client](https://releases.powersync.com/announcements/improved-sync-performance-in-our-client-sdks) - - The Rust-based sync client is enabled by default on the latest version of all SDKs. If you are on a lower version, follow the instructions below to enable it. +* Use of the [Rust-based sync client](https://releases.powersync.com/announcements/improved-sync-performance-in-our-client-sdks). The Rust-based sync client is enabled by default on the latest version of all SDKs. If you are on a lower version, follow the instructions below to enable it. - The Rust client became the default in Web SDK v1.32.0, React Native SDK v1.29.0, and Node.js SDK v0.16.0. For lower versions, pass the `clientImplementation` option when connecting: + The Rust client became the default in Web SDK v1.32.0, React Native SDK v1.29.0, Node.js SDK v0.16.0, and Capacitor SDK v0.3.0. For lower versions, pass the `clientImplementation` option when connecting: ```js await db.connect(new MyConnector(), { @@ -65,7 +63,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the JavaScript client later by removing the option. - The Rust client is not yet the default in the Dart SDK. Pass the `syncImplementation` option when connecting: + The Rust client became the default in Flutter/Dart SDK v1.17.0. Pass the `syncImplementation` option when connecting: ```dart database.connect( @@ -104,11 +102,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Swift client later by removing the option. - The Rust client became the default in .NET SDK v0.0.5. No additional configuration is required. - - ```csharp - await db.Connect(new MyConnector()); - ``` + The Rust clientwas introducted as the default in .NET SDK v0.0.5-alpha.1. No additional configuration is required. From 29a478080f1a7cf06e1b5ab5e56b9d055b88106d Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Thu, 29 Jan 2026 15:24:55 +0200 Subject: [PATCH 10/10] Typos --- sync/streams/overview.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 60ab88a9..88bfe4cd 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -102,7 +102,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, You can migrate back to the Swift client later by removing the option. - The Rust clientwas introducted as the default in .NET SDK v0.0.5-alpha.1. No additional configuration is required. + The Rust client was introduced as the default in .NET SDK v0.0.5-alpha.1. No additional configuration is required.