From b999a63542e5d41d4963b56ce6c3ba61f58757d4 Mon Sep 17 00:00:00 2001 From: LucDeCaf Date: Mon, 18 May 2026 17:00:36 +0200 Subject: [PATCH 1/2] 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/2] 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