Skip to main content
Jump to: Source Databases, SDK Platforms, Supported Platforms Policy, SDK Versioning Policy

Supported Source Databases

Each supported source database has a minimum required version to be compatible with PowerSync.
DatabaseVersionNotes
PostgreSQL11+
MongoDB6.0+
MySQL5.7+
SQL Server (beta)SQL Server 2019+ (15.0+) or Azure SQL DatabaseBeta 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, React Native SDK, Javascript SDK, Capacitor SDK, Tauri SDK, Node.js SDK, Kotlin SDK, Swift SDK, .NET 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. Note: Some client SDKs may support lower versions than the ones listed here.
PlatformVersion
AndroidSDK 24 (Android 7.0)
iOS15.0
macOS14.0 (Sonoma)
Windows10
Linuxglibc 2.34+
WebSee Web Compatibility.

Dart/Flutter SDK

Platform / FeatureSupported?Platform VersionNotes
AndroidYes (x86-64, aarch64, armv7)SDK 24 (Android 7.0)Requires Flutter
iOSYes13.0Requires Flutter
macOSYes (x86-64, aarch64)12.0 (Monterey)
WindowsYes (x86-64, x86, aarch64)10
LinuxYes (x86-64, x86, aarch64, armv7, riscv64gc)Requires glibc 2.34+
WebYesOPFS by default, IndexedDB as backup (see more)Only dart2js is tested, dart2wasm has issues
HTTP connection methodYes
WebSocket connection methodNo

React Native SDK

Platform / FeatureSupported?Platform VersionNotes
React NativeYes
React Native w/ ExpoYes
React Native for WebYesSee Web Compatibility.
React Strict DOMYMMV - not tested
React Native for WindowsNo
HTTP connection methodYes
WebSocket connection methodYesDefault

JS/Web SDK

Platform / FeatureSupported?Notes
Chrome & Chrome-basedYesSee VFS notes
FirefoxYesOPFS Not supported in private tabs
SafariYesOPFS Not supported in private tabs
HTTP connection methodYes
WebSocket connection methodYes

Web Compatibility

PowerSync’s web-targeting SDKs use either IndexedDB or OPFS 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.
VFSChromeChrome incognitoFirefoxFirefox incognitoSafariSafari incognitoiOS WebkitAndroid Chrome
IDBBatchAtomicVFS
OPFSCoopSyncVFS
AccessHandlePoolVFS
OPFSWriteAheadVFS

Capacitor SDK

Requires Capacitor 8 or later. See the Capacitor v8 upgrade guide if you are on Capacitor 6 or 7.
Platform / FeatureSupported?Platform VersionNotes
iOSYes15.0Uses native SQLite via Capacitor Community SQLite.
AndroidYesSDK 24 (Android 7.0)Uses native SQLite via Capacitor Community SQLite.
WebYesSee Web Compatibility.Uses WASQLite via the PowerSync Web SDK.
ElectronYesElectron 28+ (TO BE VERIFIED)Uses WASQLite via the PowerSync Web SDK.
HTTP connection methodYes
WebSocket connection methodYes

https://mintcdn.com/powersync-min-platform-versions/fvdGcYlb6z_IgqvX/logo/tauri.svg?fit=max&auto=format&n=fvdGcYlb6z_IgqvX&q=85&s=892e27f8fe5a8630d335e5ed7b668a95 Tauri SDK

Platform / FeatureSupported?Platform VersionNotes
WindowsYesUntested.
macOSYes
LinuxYes
iOSYesUntested.
AndroidYesUntested.
HTTP connection methodYesConnections must currently be managed through Rust.
WebSocket connection methodNo

Node.js SDK

The Node SDK supports all non-EOL Node.js versions (i.e. current and LTS).
Platform / FeatureSupported?Platform VersionNotes
macOSYes14.0
LinuxYesglibc 2.34+
WindowsYes10
HTTP connection methodYes
WebSocket connection methodYes

Kotlin SDK

Platform / FeatureSupported?Platform VersionNotes
AndroidYes (x86-64, x86, aarch64, armv7)
Android nativeNo
iOSYes (aarch64 device and simulator)
macOS (native)Yes (aarch64)
macOS catalyst (native)NoBlocked on KT-40442: Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64)
watchOSYes (aarch64 device, armv8 32-bit pointers ABI, aarch64 simulator)
tvOSYes (aarch64 device, aarch64 simulator)
visionOSNoBlocked on 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)NoMaybe soon
Windows (native)NoMaybe soon
JSNo
WebAssemblyNo
HTTP connection methodYes
WebSocket connection methodYesNote: Only as an automated fallback for clients without backpressure support.

Swift SDK

Platform / FeatureSupported?Platform VersionNotes
macOSYes12.0 (Monterey)
iOSYes15.0
watchOSYes9.0
iPadOSYes15.0
tvOSYes15.0Added in v1.11.0
macOS CatalystNoPlease reach out if you’re interested.
visionOSNoPlease reach out if you’re interested.
Non-apple targets (Linux, Windows)NoNo good way to link PowerSync
HTTP connection methodYes
WebSocket connection methodNo

.NET SDK

Platform / FeatureSupported?Platform VersionNotes
WPFYesWindows 10
MAUI for AndroidYesSDK 24 (Android 7.0)
MAUI for iOSYes14.0
MAUI for WindowsYes10
MAUI for Mac CatalystYesCatalyst 17.0 (macOS 14.0)Added in PowerSync.Maui 0.1.2.
WinformsYMMV - not tested
CLI WindowsYes (x64, ARM)
CLI MacYes (x64, ARM)
CLI LinuxYes (x64, ARM)
Avalonia UIYMMV - not tested
HTTP connection methodYes
WebSocket connection methodNo

Rust SDK

Platform / FeatureSupported?Notes
AllYesThe SDK supports all std Rust targets, but is currently only tested on Linux.
HTTP connection methodYes
WebSocket connection methodNo

Supported Platforms Policy

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.

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. 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 / the project’s pubspec.yaml.
  • Android: Several of our SDKs require AndroidX 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.