Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
190 changes: 190 additions & 0 deletions ;
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
---
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 |
| --- | --- | --- |
| <Icon icon="elephant" iconType="solid" /> PostgreSQL | 11+ | |
| <Icon icon="leaf" iconType="solid" /> MongoDB | 6.0+ | |
| <Icon icon="dolphin" iconType="solid" /> MySQL | 5.7+ | |
| <Icon icon="server" iconType="solid" /> SQL Server (beta) | SQL Server 2019+ (15.0+) or Azure SQL Database | Beta release.<br />Azure SQL Database is always running on the latest version of the SQL Server DB Engine. |
| <Icon icon="database" iconType="solid" /> Convex (alpha) | — | Alpha release. |

## Supported SDK Platforms

Jump to: [<Icon icon="flutter" iconType="solid" /> Dart/Flutter SDK](#dart/flutter-sdk), [<Icon icon="react" iconType="solid" /> React Native SDK](#react-native-sdk), [<Icon icon="js" iconType="solid" /> Javascript SDK](#js/web-sdk), [<Icon icon="c" iconType="solid" /> Capacitor SDK](#capacitor-sdk), [<Icon icon="rust" /> Tauri SDK](#tauri-sdk), [<Icon icon="node-js" /> Node.js SDK](#node-js-sdk), [<Icon icon="android" /> Kotlin SDK](#kotlin-sdk), [<Icon icon="swift" iconType="solid" /> Swift SDK](#swift-sdk), [<Icon icon="microsoft" iconType="solid" /> .NET SDK](#net-sdk), [<Icon icon="rust" /> 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 |
| --- | --- |
| <Icon icon="android" /> Android | SDK 24 (Android 7.0) |
| <Icon icon="apple" /> iOS | 15.0 |
| <Icon icon="apple" /> macOS | 14.0 (Sonoma) |
| <Icon icon="windows" /> Windows | 10 |
| <Icon icon="linux" /> Linux | glibc 2.34+ |
| <Icon icon="js" /> 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 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |

### <Icon icon="flutter" iconType="solid" size={24}/> 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 | | |

### <Icon icon="react" iconType="solid" size={24}/> 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 |

### <Icon icon="js" iconType="solid" size={24}/> 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.

### <Icon icon="c" iconType="solid" size={24}/> 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 | | |

### <Icon icon="/logo/tauri.svg" iconType="solid" size={24}/> 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 | | |

### <Icon icon="node-js" iconType="solid" size={24}/> 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 | | |

### <Icon icon="android" iconType="solid" size={24}/> 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. |

### <Icon icon="swift" iconType="solid" size={24}/> 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 | | |

### <Icon icon="microsoft" iconType="solid" size={24}/> .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 | | |

### <Icon icon="rust" iconType="solid" size={24}/> 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
Loading