From b999a63542e5d41d4963b56ce6c3ba61f58757d4 Mon Sep 17 00:00:00 2001 From: LucDeCaf Date: Mon, 18 May 2026 17:00:36 +0200 Subject: [PATCH 1/7] Kotlin Android and Node.js Windows --- resources/supported-platforms.mdx | 196 +++++++++++++++--------------- 1 file changed, 99 insertions(+), 97 deletions(-) diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index 7252f1d8..4a481c4d 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -3,130 +3,132 @@ title: "Supported Platforms" description: "Supported platforms and feature availability for each PowerSync Client SDK across mobile, web, and desktop." --- +_Note: We are working on documenting the Minimum Platform for all SDKs._ + ## Dart/Flutter SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| Android | Yes (x86-64, aarch64, armv7) | Requires Flutter | -| iOS | Yes | Requires Flutter | -| macOS | Yes (x86-64, aarch64) | | -| Windows | Yes (x86-64, x86, aarch64) | | -| Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | | -| Web | Yes | Only dart2js is tested, dart2wasm has issues | -| HTTP connection method | Yes | | -| WebSocket connection method | No | | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| Android | Yes (x86-64, aarch64, armv7) | | Requires Flutter | +| iOS | Yes | | Requires Flutter | +| macOS | Yes (x86-64, aarch64) | | | +| Windows | Yes (x86-64, x86, aarch64) | | | +| Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | | | +| Web | Yes | | Only dart2js is tested, dart2wasm has issues | +| HTTP connection method | Yes | | | +| WebSocket connection method | No | | | ## React Native SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| React Native | Yes | | -| React Native w/ Expo | Yes | | -| React Native for Web | Yes | | -| React Strict DOM | YMMV - not tested | | -| React Native for Windows | No | | -| HTTP connection method | Yes | Legacy (supported) | -| WebSocket connection method | Yes | Default | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| React Native | Yes | | | +| React Native w/ Expo | Yes | | | +| React Native for Web | Yes | | | +| React Strict DOM | YMMV - not tested | | | +| React Native for Windows | No | | | +| HTTP connection method | Yes | | Legacy (supported) | +| WebSocket connection method | Yes | | Default | ## JS/Web SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| Chrome & Chrome-based | Yes | See VFS notes | -| Firefox | Yes | OPFS Not supported in private tabs | -| Safari | Yes | OPFS Not supported in private tabs | -| HTTP connection method | Yes | | -| WebSocket connection method | Yes | | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| Chrome & Chrome-based | Yes | | See VFS notes | +| Firefox | Yes | | OPFS Not supported in private tabs | +| Safari | Yes | | OPFS Not supported in private tabs | +| HTTP connection method | Yes | | | +| WebSocket connection method | Yes | | | ## Capacitor SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| iOS | Yes | Uses native SQLite via Capacitor Community SQLite. | -| Android | Yes | Uses native SQLite via Capacitor Community SQLite. | -| Web | Yes | Uses WASQLite via the PowerSync Web SDK. | -| Electron | Yes | Uses WASQLite via the PowerSync Web SDK. | -| HTTP connection method | Yes | | -| WebSocket connection method | Yes | | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| iOS | Yes | | Uses native SQLite via Capacitor Community SQLite. | +| Android | Yes | | Uses native SQLite via Capacitor Community SQLite. | +| Web | Yes | | Uses WASQLite via the PowerSync Web SDK. | +| Electron | Yes | | Uses WASQLite via the PowerSync Web SDK. | +| HTTP connection method | Yes | | | +| WebSocket connection method | Yes | | | ## Tauri SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| Windows | Yes | Untested. | -| macOS | Yes | | -| Linux | Yes | | -| iOS | Yes | Untested. | -| Android | Yes | Untested. | -| HTTP connection method | Yes | Connections must currently be managed through Rust. | -| WebSocket connection method | No | | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| Windows | Yes | | Untested. | +| macOS | Yes | | | +| Linux | Yes | | | +| iOS | Yes | | Untested. | +| Android | Yes | | Untested. | +| HTTP connection method | Yes | | Connections must currently be managed through Rust. | +| WebSocket connection method | No | | | ## Node.js SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| macOS | Yes | | -| Linux | Yes | | -| Windows | Yes | | -| HTTP connection method | Yes | | -| WebSocket connection method | Yes | | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| macOS | Yes | | | +| Linux | Yes | | | +| Windows | Yes | Windows 10
Node.js v20.18.1 | | +| HTTP connection method | Yes | | | +| WebSocket connection method | Yes | | | ## Kotlin SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| Android | Yes (x86-64, x86, aarch64, armv7) | | -| Android native | No | | -| iOS | Yes (aarch64 device, x86-64 and aarch64 simulators) | | -| macOS (native) | Yes (x86-64, aarch64) | | -| macOS catalyst (native) | No | Blocked on [KT-40442: Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64)](https://youtrack.jetbrains.com/issue/KT-40442/Support-building-Kotlin-Native-for-Mac-Catalyst-x86-64-and-arm64) | -| watchOS | Yes (aarch64 device, armv8 32-bit pointers ABI, x86-64 and aarch64 simulators) | | -| tvOS | Yes (aarch64 device, x86-64 and aarch64 simulators) | | -| visionOS | No | Blocked on [KT-59571: Add support for visionOS SDK](https://youtrack.jetbrains.com/issue/KT-59571/Add-support-for-visionOS-SDK) | -| Windows (JVM) | Yes (x86-64 only) | | -| Linux (JVM) | Yes (x86-64, aarch64) | | -| macOS (JVM) | Yes (x86-64, aarch64) | | -| Linux (native) | No | Maybe soon | -| Windows (native) | No | Maybe soon | -| JS | No | | -| WebAssembly | No | | -| HTTP connection method | Yes | | -| WebSocket connection method | Yes | Note: Only as an automated fallback for clients without backpressure support. | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| Android | Yes (x86-64, x86, aarch64, armv7) | Android SDK 24 | | +| Android native | No | | | +| iOS | Yes (aarch64 device, x86-64 and aarch64 simulators) | | | +| macOS (native) | Yes (x86-64, aarch64) | | | +| macOS catalyst (native) | No | | Blocked on [KT-40442: Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64)](https://youtrack.jetbrains.com/issue/KT-40442/Support-building-Kotlin-Native-for-Mac-Catalyst-x86-64-and-arm64) | +| watchOS | Yes (aarch64 device, armv8 32-bit pointers ABI, x86-64 and aarch64 simulators) | | | +| tvOS | Yes (aarch64 device, x86-64 and aarch64 simulators) | | | +| visionOS | No | | Blocked on [KT-59571: Add support for visionOS SDK](https://youtrack.jetbrains.com/issue/KT-59571/Add-support-for-visionOS-SDK) | +| Windows (JVM) | Yes (x86-64 only) | | | +| Linux (JVM) | Yes (x86-64, aarch64) | | | +| macOS (JVM) | Yes (x86-64, aarch64) | | | +| Linux (native) | No | | Maybe soon | +| Windows (native) | No | | Maybe soon | +| JS | No | | | +| WebAssembly | No | | | +| HTTP connection method | Yes | | | +| WebSocket connection method | Yes | | Note: Only as an automated fallback for clients without backpressure support. | ## Swift SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| macOS | Yes | | -| iOS | Yes | | -| watchOS | Yes | watchOS 26 not supported yet | -| iPadOS | Yes | | -| tvOS | Yes | Added in v1.11.0 | -| macOS Catalyst | No | KT-40442 Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64) | -| visionOS | No | KT-59571 Add support for visionOS SDK | -| Non-apple targets (Linux, Windows) | No | No good way to link PowerSync | -| HTTP connection method | Yes | | -| WebSocket connection method | No | | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| macOS | Yes | | | +| iOS | Yes | | | +| watchOS | Yes | | watchOS 26 not supported yet | +| iPadOS | Yes | | | +| tvOS | Yes | | Added in v1.11.0 | +| macOS Catalyst | No | | KT-40442 Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64) | +| visionOS | No | | KT-59571 Add support for visionOS SDK | +| Non-apple targets (Linux, Windows) | No | | No good way to link PowerSync | +| HTTP connection method | Yes | | | +| WebSocket connection method | No | | | ## .NET SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| WPF | Yes | | -| MAUI | Android, iOS, Mac Catalyst, Windows | Mac Catalyst added in `PowerSync.Maui` 0.1.2. | -| Winforms | YMMV - not tested | | -| CLI Windows | Yes (x64, ARM) | | -| CLI Mac | Yes (x64, ARM) | | -| CLI Linux | Yes (x64, ARM) | | -| Avalonia UI | YMMV - not tested | | -| HTTP connection method | Yes | | -| WebSocket connection method | No | | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| WPF | Yes | | | +| MAUI | Android, iOS, Mac Catalyst, Windows | | Mac Catalyst added in `PowerSync.Maui` 0.1.2. | +| Winforms | YMMV - not tested | | | +| CLI Windows | Yes (x64, ARM) | | | +| CLI Mac | Yes (x64, ARM) | | | +| CLI Linux | Yes (x64, ARM) | | | +| Avalonia UI | YMMV - not tested | | | +| HTTP connection method | Yes | | | +| WebSocket connection method | No | | | ## Rust SDK -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| All | Yes | The SDK supports all `std` Rust targets, but is currently only tested on Linux. | -| HTTP connection method | Yes | | -| WebSocket connection method | No | | +| Platform / Feature | Supported? | Minimum Platform | Notes | +| --- | --- | --- | --- | +| All | Yes | | The SDK supports all `std` Rust targets, but is currently only tested on Linux. | +| HTTP connection method | Yes | | | +| WebSocket connection method | No | | | From 3a039cbde36527d23225624d0612ce34c9046b3b Mon Sep 17 00:00:00 2001 From: LucDeCaf Date: Thu, 11 Jun 2026 12:30:21 +0200 Subject: [PATCH 2/7] Add versions, web compat table, source db table --- resources/supported-platforms.mdx | 126 +++++++++++++++++++++--------- 1 file changed, 88 insertions(+), 38 deletions(-) diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index 4a481c4d..35fe25d4 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -3,57 +3,99 @@ title: "Supported Platforms" description: "Supported platforms and feature availability for each PowerSync Client SDK across mobile, web, and desktop." --- -_Note: We are working on documenting the Minimum Platform for all SDKs._ +Jump to: [Source Databases](#supported-source-databases), [SDK Platforms](#supported-sdk-platforms), [Supported Platforms Policy](#supported-platforms-policy), [SDK Versioning Policy](#sdk-versioning-policy) -## Dart/Flutter SDK +## Supported Source Databases -| Platform / Feature | Supported? | Minimum Platform | Notes | +Each supported source database has a minimum required version to be compatible with PowerSync. + +| Database | Platform Version | Notes | +| --- | --- | --- | +| PostgreSQL | 11+ | | +| MongoDB | 6.0+ | | +| MySQL | 5.7+ | | +| SQL Server (beta) | SQL Server 2019+ (15.0+) or Azure SQL Database | Beta release.
Azure SQL Database is always running on the latest version of the SQL Server DB Engine. | +| Convex (alpha) | — | Alpha release. | + +## Supported SDK Platforms + +Jump to: [ Dart/Flutter SDK](#dart/flutter-sdk), [ React Native SDK](#react-native-sdk), [ Javascript SDK](#js/web-sdk), [ Capacitor SDK](#capacitor-sdk), [ Tauri SDK](#tauri-sdk), [ Node.js SDK](#node-js-sdk), [ Kotlin SDK](#kotlin-sdk), [ Swift SDK](#swift-sdk), [ .NET SDK](#net-sdk), [ Rust SDK](#rust-sdk) + +### Widespread SDK Platform Support + +The versions below are the minimum supported versions across all PowerSync Client SDKs, so you can expect them to work regardless of which SDK you use. + +| Platform | Platform Version | +| --- | --- | +| Android | SDK 24 (Android 7.0) | +| iOS | 15.0 | +| macOS | 14.0 (Sonoma) | +| Windows | 10 | +| Linux | Ubuntu 22.04 | +| Web | See [Web Compatibility](#web-compatibility). | + +### Web Compatibility + +PowerSync's web-targeting SDKs use either [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) or [OPFS](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) virtual filesystem (VFS) to persist rows on the user's device. Both options have differing levels of platform support across browsers / devices / operating systems. + +| VFS | Chrome | Chrome incognito | Firefox | Firefox incognito | Safari | Safari incognito | iOS Webkit | Android Chrome | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| IDBBatchAtomicVFS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| OPFSCoopSyncVFS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | +| AccessHandlePoolVFS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | +| OPFSWriteAheadVFS | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | + +### Dart/Flutter SDK + +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | -| Android | Yes (x86-64, aarch64, armv7) | | Requires Flutter | -| iOS | Yes | | Requires Flutter | -| macOS | Yes (x86-64, aarch64) | | | -| Windows | Yes (x86-64, x86, aarch64) | | | -| Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | | | -| Web | Yes | | Only dart2js is tested, dart2wasm has issues | +| Android | Yes (x86-64, aarch64, armv7) | SDK 24 (Android 7.0) | Requires Flutter | +| iOS | Yes | 14.0 (UNTESTED) | Requires Flutter | +| macOS | Yes (x86-64, aarch64) | 14.0 (UNTESTED) | | +| Windows | Yes (x86-64, x86, aarch64) | 10 (UNTESTED) | | +| Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | Requires glibc 2.34+ | | +| Web | Yes | See [Web Compatibility](#web-compatibility). | Only dart2js is tested, dart2wasm has issues | | HTTP connection method | Yes | | | | WebSocket connection method | No | | | -## React Native SDK +### React Native SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | | React Native | Yes | | | | React Native w/ Expo | Yes | | | -| React Native for Web | Yes | | | +| React Native for Web | Yes | See [Web Compatibility](#web-compatibility). | | | React Strict DOM | YMMV - not tested | | | | React Native for Windows | No | | | | HTTP connection method | Yes | | Legacy (supported) | | WebSocket connection method | Yes | | Default | -## JS/Web SDK +### JS/Web SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | -| --- | --- | --- | --- | -| Chrome & Chrome-based | Yes | | See VFS notes | -| Firefox | Yes | | OPFS Not supported in private tabs | -| Safari | Yes | | OPFS Not supported in private tabs | -| HTTP connection method | Yes | | | -| WebSocket connection method | Yes | | | +| Platform / Feature | Supported? | Notes | +| --- | --- | --- | +| Chrome & Chrome-based | Yes | See VFS notes | +| Firefox | Yes | OPFS Not supported in private tabs | +| Safari | Yes | OPFS Not supported in private tabs | +| HTTP connection method | Yes | | +| WebSocket connection method | Yes | | + +See [Web Compatibility](#web-compatibility) for more details on IndexedDB/OPFS support across different browsers. -## Capacitor SDK +### Capacitor SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | -| iOS | Yes | | Uses native SQLite via Capacitor Community SQLite. | -| Android | Yes | | Uses native SQLite via Capacitor Community SQLite. | -| Web | Yes | | Uses WASQLite via the PowerSync Web SDK. | -| Electron | Yes | | Uses WASQLite via the PowerSync Web SDK. | +| iOS | Yes | 15.0 | Uses native SQLite via Capacitor Community SQLite. | +| Android | Yes | SDK 24 (Android 7.0) | Uses native SQLite via Capacitor Community SQLite. | +| Web | Yes | See [Web Compatibility](#web-compatibility). | Uses WASQLite via the PowerSync Web SDK. | +| Electron | Yes | Electron 28+ (TO BE VERIFIED) | Uses WASQLite via the PowerSync Web SDK. | | HTTP connection method | Yes | | | | WebSocket connection method | Yes | | | -## Tauri SDK +### Tauri SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | | Windows | Yes | | Untested. | | macOS | Yes | | | @@ -64,9 +106,9 @@ _Note: We are working on documenting the Minimum Platform for all SDKs._ | WebSocket connection method | No | | | -## Node.js SDK +### Node.js SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | | macOS | Yes | | | | Linux | Yes | | | @@ -74,9 +116,9 @@ _Note: We are working on documenting the Minimum Platform for all SDKs._ | HTTP connection method | Yes | | | | WebSocket connection method | Yes | | | -## Kotlin SDK +### Kotlin SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | | Android | Yes (x86-64, x86, aarch64, armv7) | Android SDK 24 | | | Android native | No | | | @@ -96,9 +138,9 @@ _Note: We are working on documenting the Minimum Platform for all SDKs._ | HTTP connection method | Yes | | | | WebSocket connection method | Yes | | Note: Only as an automated fallback for clients without backpressure support. | -## Swift SDK +### Swift SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | | macOS | Yes | | | | iOS | Yes | | | @@ -111,9 +153,9 @@ _Note: We are working on documenting the Minimum Platform for all SDKs._ | HTTP connection method | Yes | | | | WebSocket connection method | No | | | -## .NET SDK +### .NET SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | | WPF | Yes | | | | MAUI | Android, iOS, Mac Catalyst, Windows | | Mac Catalyst added in `PowerSync.Maui` 0.1.2. | @@ -125,10 +167,18 @@ _Note: We are working on documenting the Minimum Platform for all SDKs._ | HTTP connection method | Yes | | | | WebSocket connection method | No | | | -## Rust SDK +### Rust SDK -| Platform / Feature | Supported? | Minimum Platform | Notes | +| Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | | All | Yes | | The SDK supports all `std` Rust targets, but is currently only tested on Linux. | | HTTP connection method | Yes | | | | WebSocket connection method | No | | | + +## Supported Platforms Policy + +TBD + +## SDK Versioning Policy + +TBD From 5d5cd093829c3c52b028309b1bedda69ea180b69 Mon Sep 17 00:00:00 2001 From: LucDeCaf Date: Tue, 30 Jun 2026 14:24:12 +0200 Subject: [PATCH 3/7] Supported Platforms policy --- resources/supported-platforms.mdx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index 7ae11e31..ee31155a 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -183,8 +183,17 @@ The Node SDK supports all [non-EOL Node.js versions](https://nodejs.org/en/about ## Supported Platforms Policy -TBD +PowerSync supports a wide number of target platforms across its many SDKs. We aim to support as many platforms and versions as are useful for users and practical to maintain. -## SDK Versioning Policy +### When we raise the minimum version + +In general, PowerSync aims to support any platform version that still receives security updates from the platform provider. For platforms that follow an LTS and Current release model, this means we aim to support all active LTS releases along with the Current release. + +Supporting every version that fits the above criteria is [not always feasible](#exceptions). When we cannot support all of them, we prioritise support for newer versions over older versions to ease maintenance. We will occasionally maintain support for an older version if an enterprise customer requires it. + +### Exceptions + +- **Dart/Flutter**: The Dart/Flutter team only supports the latest stable release (three-month cycle). We don't follow this release schedule, since dropping support for versions only three months old is undesirable. For the Dart/Flutter SDK's minimum Dart SDK version, see [pub.dev](https://pub.dev/packages/powersync/versions) / the project's [pubspec.yaml](https://github.com/powersync-ja/powersync.dart/blob/main/pubspec.yaml#L6). + +- **Android**: Several of our SDKs require [AndroidX](https://developer.android.com/jetpack/androidx/versions) libraries. We set our minimum to the current AndroidX default `minSdk` (which AndroidX picks to cover ~99% of Play Store users), except in cases where other factors force a higher `minSdk`. -TBD From ec4de0c427cb49ba411570208fd27342d6400980 Mon Sep 17 00:00:00 2001 From: LucDeCaf Date: Tue, 30 Jun 2026 14:27:31 +0200 Subject: [PATCH 4/7] Remove file ';' --- ; | 190 -------------------------------------------------------------- 1 file changed, 190 deletions(-) delete mode 100644 ; diff --git a/; b/; deleted file mode 100644 index e9f5a411..00000000 --- a/; +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: "Supported Platforms" -description: "Supported platforms and feature availability for each PowerSync Client SDK across mobile, web, and desktop." ---- - -Jump to: [Source Databases](#supported-source-databases), [SDK Platforms](#supported-sdk-platforms), [Supported Platforms Policy](#supported-platforms-policy), [SDK Versioning Policy](#sdk-versioning-policy) - -## Supported Source Databases - -Each supported source database has a minimum required version to be compatible with PowerSync. - -| Database | Version | Notes | -| --- | --- | --- | -| PostgreSQL | 11+ | | -| MongoDB | 6.0+ | | -| MySQL | 5.7+ | | -| SQL Server (beta) | SQL Server 2019+ (15.0+) or Azure SQL Database | Beta release.
Azure SQL Database is always running on the latest version of the SQL Server DB Engine. | -| Convex (alpha) | — | Alpha release. | - -## Supported SDK Platforms - -Jump to: [ Dart/Flutter SDK](#dart/flutter-sdk), [ React Native SDK](#react-native-sdk), [ Javascript SDK](#js/web-sdk), [ Capacitor SDK](#capacitor-sdk), [ Tauri SDK](#tauri-sdk), [ Node.js SDK](#node-js-sdk), [ Kotlin SDK](#kotlin-sdk), [ Swift SDK](#swift-sdk), [ .NET SDK](#net-sdk), [ Rust SDK](#rust-sdk) - -### Widespread SDK Platform Support - -The versions below are the minimum supported versions across all PowerSync Client SDKs, so you can expect them to work regardless of which SDK you use. - -| Platform | Version | -| --- | --- | -| Android | SDK 24 (Android 7.0) | -| iOS | 15.0 | -| macOS | 14.0 (Sonoma) | -| Windows | 10 | -| Linux | glibc 2.34+ | -| Web | See [Web Compatibility](#web-compatibility). | - -### Web Compatibility - -PowerSync's web-targeting SDKs use either [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) or [OPFS](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) virtual filesystem (VFS) to persist rows on the user's device. Both options have differing levels of platform support across browsers / devices / operating systems. - -| VFS | Chrome | Chrome incognito | Firefox | Firefox incognito | Safari | Safari incognito | iOS Webkit | Android Chrome | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| IDBBatchAtomicVFS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | -| OPFSCoopSyncVFS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | -| AccessHandlePoolVFS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | -| OPFSWriteAheadVFS | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | - -### Dart/Flutter SDK - -| Platform / Feature | Supported? | Platform Version | Notes | -| --- | --- | --- | --- | -| Android | Yes (x86-64, aarch64, armv7) | SDK 24 (Android 7.0) | Requires Flutter | -| iOS | Yes | 14.0 (UNTESTED) | Requires Flutter | -| macOS | Yes (x86-64, aarch64) | 14.0 (UNTESTED) | | -| Windows | Yes (x86-64, x86, aarch64) | 10 (UNTESTED) | | -| Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | Requires glibc 2.34+ | | -| Web | Yes | See [Web Compatibility](#web-compatibility). | Only dart2js is tested, dart2wasm has issues | -| HTTP connection method | Yes | | | -| WebSocket connection method | No | | | - -### React Native SDK - -| Platform / Feature | Supported? | Platform Version | Notes | -| --- | --- | --- | --- | -| React Native | Yes | | | -| React Native w/ Expo | Yes | | | -| React Native for Web | Yes | See [Web Compatibility](#web-compatibility). | | -| React Strict DOM | YMMV - not tested | | | -| React Native for Windows | No | | | -| HTTP connection method | Yes | | Legacy (supported) | -| WebSocket connection method | Yes | | Default | - -### JS/Web SDK - -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| Chrome & Chrome-based | Yes | See VFS notes | -| Firefox | Yes | OPFS Not supported in private tabs | -| Safari | Yes | OPFS Not supported in private tabs | -| HTTP connection method | Yes | | -| WebSocket connection method | Yes | | - -See [Web Compatibility](#web-compatibility) for more details on IndexedDB/OPFS support across different browsers. - -### Capacitor SDK - -Requires Capacitor 8 or later. See the [Capacitor v8 upgrade guide](https://capacitorjs.com/docs/updating/8-0) if you are on Capacitor 6 or 7. - -| Platform / Feature | Supported? | Platform Version | Notes | -| --- | --- | --- | --- | -| iOS | Yes | 15.0 | Uses native SQLite via Capacitor Community SQLite. | -| Android | Yes | SDK 24 (Android 7.0) | Uses native SQLite via Capacitor Community SQLite. | -| Web | Yes | See [Web Compatibility](#web-compatibility). | Uses WASQLite via the PowerSync Web SDK. | -| Electron | Yes | Electron 28+ (TO BE VERIFIED) | Uses WASQLite via the PowerSync Web SDK. | -| HTTP connection method | Yes | | | -| WebSocket connection method | Yes | | | - -### Tauri SDK - -| Platform / Feature | Supported? | Platform Version | Notes | -| --- | --- | --- | --- | -| Windows | Yes | | Untested. | -| macOS | Yes | | | -| Linux | Yes | | | -| iOS | Yes | | Untested. | -| Android | Yes | | Untested. | -| HTTP connection method | Yes | | Connections must currently be managed through Rust. | -| WebSocket connection method | No | | | - -### Node.js SDK - -| Platform / Feature | Supported? | Platform Version | Notes | -| --- | --- | --- | --- | -| macOS | Yes | Node LTS | The Node SDK runs on all [non-EOL Node.js versions](https://nodejs.org/en/about/previous-releases#looking-for-the-latest-release-of-a-version-branch) (versions). | -| Linux | Yes | Node LTS | | -| Windows | Yes | Node LTS | | -| HTTP connection method | Yes | | | -| WebSocket connection method | Yes | | | - -### Kotlin SDK - -// TODO Readd platform col - -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| Android | Yes (x86-64, x86, aarch64, armv7) | | -| Android native | No | | -| iOS | Yes (aarch64 device and simulator) | | -| macOS (native) | Yes (aarch64) | | -| macOS catalyst (native) | No | Blocked on [KT-40442: Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64)](https://youtrack.jetbrains.com/issue/KT-40442/Support-building-Kotlin-Native-for-Mac-Catalyst-x86-64-and-arm64) | -| watchOS | Yes (aarch64 device, armv8 32-bit pointers ABI, aarch64 simulator) | | -| tvOS | Yes (aarch64 device, aarch64 simulator) | | -| visionOS | No | Blocked on [KT-59571: Add support for visionOS SDK](https://youtrack.jetbrains.com/issue/KT-59571/Add-support-for-visionOS-SDK) | -| Windows (JVM) | Yes (x86-64 only) | | -| Linux (JVM) | Yes (x86-64, aarch64) | | -| macOS (JVM) | Yes (x86-64, aarch64) | | -| Linux (native) | No | Maybe soon | -| Windows (native) | No | Maybe soon | -| JS | No | | -| WebAssembly | No | | -| HTTP connection method | Yes | | -| WebSocket connection method | Yes | Note: Only as an automated fallback for clients without backpressure support. | - -### Swift SDK - -| Platform / Feature | Supported? | Platform Version | Notes | -| --- | --- | --- | --- | -| macOS | Yes | | | -| iOS | Yes | | | -| watchOS | Yes | | watchOS 26 not supported yet | -| iPadOS | Yes | | | -| tvOS | Yes | | Added in v1.11.0 | -| macOS Catalyst | No | | Please [reach out](https://github.com/powersync-ja/powersync-swift/issues/138) if you're interested. | -| visionOS | No | | Please [reach out](https://github.com/powersync-ja/powersync-swift/issues/138) if you're interested. | -| Non-apple targets (Linux, Windows) | No | | No good way to link PowerSync | -| HTTP connection method | Yes | | | -| WebSocket connection method | No | | | - -### .NET SDK - -| Platform / Feature | Supported? | Platform Version | Notes | -| --- | --- | --- | --- | -| WPF | Yes | Windows 10 (UNTESTED) | | -| MAUI for Android | Yes | SDK 24 (Android 7.0) | | -| MAUI for iOS | Yes | 14.0 | | -| MAUI for Windows | Yes | 10 (UNTESTED) | | -| MAUI for Mac Catalyst | Yes | Catalyst 17.0 (macOS 14.0) (UNTESTED) | Added in `PowerSync.Maui` 0.1.2. | -| Winforms | YMMV - not tested | | | -| CLI Windows | Yes (x64, ARM) | | | -| CLI Mac | Yes (x64, ARM) | | | -| CLI Linux | Yes (x64, ARM) | | | -| Avalonia UI | YMMV - not tested | | | -| HTTP connection method | Yes | | | -| WebSocket connection method | No | | | - -### Rust SDK - -| Platform / Feature | Supported? | Notes | -| --- | --- | --- | -| All | Yes | The SDK supports all `std` Rust targets, but is currently only tested on Linux. | -| HTTP connection method | Yes | | -| WebSocket connection method | No | | - -## Supported Platforms Policy - -TBD - -## SDK Versioning Policy - -TBD From 51b62e6f444c2cd0d323519fc76a1f5eccd7281e Mon Sep 17 00:00:00 2001 From: LucDeCaf Date: Tue, 30 Jun 2026 15:38:12 +0200 Subject: [PATCH 5/7] PR feedback part 1 --- resources/supported-platforms.mdx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index ee31155a..87d687cb 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -25,6 +25,8 @@ Jump to: [ Dart/Flutter SDK](#dart/flutt The versions below are the minimum supported versions across all PowerSync Client SDKs, so you can expect them to work regardless of which SDK you use. +Note: Some client SDKs may support lower versions than the ones listed here. + | Platform | Version | | --- | --- | | Android | SDK 24 (Android 7.0) | @@ -67,7 +69,7 @@ PowerSync's web-targeting SDKs use either [IndexedDB](https://developer.mozilla. | React Native for Web | Yes | See [Web Compatibility](#web-compatibility). | | | React Strict DOM | YMMV - not tested | | | | React Native for Windows | No | | | -| HTTP connection method | Yes | | Legacy (supported) | +| HTTP connection method | Yes | | | | WebSocket connection method | Yes | | Default | ### JS/Web SDK @@ -145,11 +147,11 @@ The Node SDK supports all [non-EOL Node.js versions](https://nodejs.org/en/about | Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | -| macOS | Yes | | | -| iOS | Yes | | | -| watchOS | Yes | | watchOS 26 not supported yet | -| iPadOS | Yes | | | -| tvOS | Yes | | Added in v1.11.0 | +| macOS | Yes | 12.0 (Monterey) | | +| iOS | Yes | | 15.0 | +| watchOS | Yes | | 9.0 | +| iPadOS | Yes | 15.0 | | +| tvOS | Yes | 15.0 | Added in v1.11.0 | | macOS Catalyst | No | | Please [reach out](https://github.com/powersync-ja/powersync-swift/issues/138) if you're interested. | | visionOS | No | | Please [reach out](https://github.com/powersync-ja/powersync-swift/issues/138) if you're interested. | | Non-apple targets (Linux, Windows) | No | | No good way to link PowerSync | From f3808e4b4c6c28345ae7fea6cfa901e6e7034bfd Mon Sep 17 00:00:00 2001 From: LucDeCaf Date: Tue, 30 Jun 2026 16:10:25 +0200 Subject: [PATCH 6/7] PR feedback part 2 --- resources/supported-platforms.mdx | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index 87d687cb..ea0c68ed 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -36,17 +36,6 @@ Note: Some client SDKs may support lower versions than the ones listed here. | Linux | glibc 2.34+ | | Web | See [Web Compatibility](#web-compatibility). | -### Web Compatibility - -PowerSync's web-targeting SDKs use either [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) or [OPFS](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) virtual filesystem (VFS) to persist rows on the user's device. Both options have differing levels of platform support across browsers / devices / operating systems. - -| VFS | Chrome | Chrome incognito | Firefox | Firefox incognito | Safari | Safari incognito | iOS Webkit | Android Chrome | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| IDBBatchAtomicVFS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | -| OPFSCoopSyncVFS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | -| AccessHandlePoolVFS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | -| OPFSWriteAheadVFS | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | - ### Dart/Flutter SDK | Platform / Feature | Supported? | Platform Version | Notes | @@ -56,7 +45,7 @@ PowerSync's web-targeting SDKs use either [IndexedDB](https://developer.mozilla. | macOS | Yes (x86-64, aarch64) | 14.0 (UNTESTED) | | | Windows | Yes (x86-64, x86, aarch64) | 10 (UNTESTED) | | | Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | Requires glibc 2.34+ | | -| Web | Yes | See [Web Compatibility](#web-compatibility). | Only dart2js is tested, dart2wasm has issues | +| Web | Yes | OPFS by default, IndexedDB as backup ([see more](/client-sdks/frameworks/flutter-web-support)) | Only dart2js is tested, dart2wasm has issues | | HTTP connection method | Yes | | | | WebSocket connection method | No | | | @@ -82,7 +71,16 @@ PowerSync's web-targeting SDKs use either [IndexedDB](https://developer.mozilla. | HTTP connection method | Yes | | | WebSocket connection method | Yes | | -See [Web Compatibility](#web-compatibility) for more details on IndexedDB/OPFS support across different browsers. +#### Web Compatibility + +PowerSync's web-targeting SDKs use either [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) or [OPFS](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) virtual filesystem (VFS) to persist rows on the user's device. On Dart/Flutter, the VFS is chosen automatically. On JS, the developer can choose which VFS strategy they prefer. Each VFS enjoys differing levels of platform support across browsers / devices / operating systems. + +| VFS | Chrome | Chrome incognito | Firefox | Firefox incognito | Safari | Safari incognito | iOS Webkit | Android Chrome | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| IDBBatchAtomicVFS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| OPFSCoopSyncVFS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | +| AccessHandlePoolVFS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | +| OPFSWriteAheadVFS | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ### Capacitor SDK From 0c2a3f23a74cd22fe9f98287f8632b10948a0050 Mon Sep 17 00:00:00 2001 From: LucDeCaf Date: Tue, 30 Jun 2026 16:19:27 +0200 Subject: [PATCH 7/7] PR feedback finale --- resources/supported-platforms.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index ea0c68ed..e7eeda4e 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -41,9 +41,9 @@ Note: Some client SDKs may support lower versions than the ones listed here. | Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | | Android | Yes (x86-64, aarch64, armv7) | SDK 24 (Android 7.0) | Requires Flutter | -| iOS | Yes | 14.0 (UNTESTED) | Requires Flutter | -| macOS | Yes (x86-64, aarch64) | 14.0 (UNTESTED) | | -| Windows | Yes (x86-64, x86, aarch64) | 10 (UNTESTED) | | +| iOS | Yes | 13.0 | Requires Flutter | +| macOS | Yes (x86-64, aarch64) | 12.0 (Monterey) | | +| Windows | Yes (x86-64, x86, aarch64) | 10 | | | Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | Requires glibc 2.34+ | | | Web | Yes | OPFS by default, IndexedDB as backup ([see more](/client-sdks/frameworks/flutter-web-support)) | Only dart2js is tested, dart2wasm has issues | | HTTP connection method | Yes | | | @@ -113,8 +113,8 @@ The Node SDK supports all [non-EOL Node.js versions](https://nodejs.org/en/about | Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | -| macOS | Yes | 14.0 (UNTESTED) | | -| Linux | Yes | glibc 2.34+ (UNTESTED) | | +| macOS | Yes | 14.0 | | +| Linux | Yes | glibc 2.34+ | | | Windows | Yes | 10 | | | HTTP connection method | Yes | | | | WebSocket connection method | Yes | | | @@ -160,11 +160,11 @@ The Node SDK supports all [non-EOL Node.js versions](https://nodejs.org/en/about | Platform / Feature | Supported? | Platform Version | Notes | | --- | --- | --- | --- | -| WPF | Yes | Windows 10 (UNTESTED) | | +| WPF | Yes | Windows 10 | | | MAUI for Android | Yes | SDK 24 (Android 7.0) | | | MAUI for iOS | Yes | 14.0 | | -| MAUI for Windows | Yes | 10 (UNTESTED) | | -| MAUI for Mac Catalyst | Yes | Catalyst 17.0 (macOS 14.0) (UNTESTED) | Added in `PowerSync.Maui` 0.1.2. | +| MAUI for Windows | Yes | 10 | | +| MAUI for Mac Catalyst | Yes | Catalyst 17.0 (macOS 14.0) | Added in `PowerSync.Maui` 0.1.2. | | Winforms | YMMV - not tested | | | | CLI Windows | Yes (x64, ARM) | | | | CLI Mac | Yes (x64, ARM) | | |