Skip to content

[Drift] React Native SDK v2 removes RNQS support and @powersync/op-sqlite as a standalone package (powersync-js #1010) #525

Description

@benitav

What's changing: The JavaScript/React Native SDK v2 removes support for React Native Quick SQLite (RNQS) entirely and inlines the op-sqlite adapter into @powersync/react-native, eliminating @powersync/op-sqlite as a separately installable package. The react-native-fetch-api polyfill is also removed; expo/fetch is now the default HTTP client for streaming when available, with the global RN fetch as a fallback.

High priority — existing docs are now inaccurate or incomplete

  • React Native and Expo SDK reference (https://docs.powersync.com/client-sdks/reference/react-native-and-expo) — currently presents RNQS with its own installation tab ("By default, this SDK requires @journeyapps/react-native-quick-sqlite as a peer dependency") and shows @powersync/op-sqlite plus @op-engineering/op-sqlite as separate packages to install for the OP-SQLite path. Both patterns are wrong in v2: RNQS is removed and @powersync/op-sqlite no longer exists as a package.
  • Expo Go support (https://docs.powersync.com/client-sdks/frameworks/expo-go-support) — lists React Native Quick SQLite (@journeyapps/react-native-quick-sqlite) as a recommended adapter when moving to native builds. This adapter is not supported in v2.
  • Data encryption (https://docs.powersync.com/client-sdks/advanced/data-encryption) — states "SQLCipher support is available for PowerSync's React Native SDK through the @powersync/op-sqlite package." In v2, op-sqlite is part of @powersync/react-native directly and is no longer a separate package.
  • Pre-seeded SQLite (https://docs.powersync.com/client-sdks/advanced/pre-seeded-sqlite) — code example imports OPSqliteOpenFactory from @powersync/op-sqlite. This import path will not resolve in v2.
  • Client database diagnostics (https://docs.powersync.com/maintenance-ops/client-database-diagnostics) — lists "React Native Quick SQLite" as a supported adapter with its database file location (/data/data/com.package-name/files/). RNQS is removed in v2.
  • Full-text search (https://docs.powersync.com/client-sdks/full-text-search) — states FTS in the React Native SDK "Requires version 1.16.0 or greater (including @powersync/react-native-quick-sqlite 2.2.1+)." RNQS is no longer a supported adapter in v2.

For reviewer consideration — may be worth documenting

The PR description notes testing was done on React Native 0.85.x and 0.86, and mentions "0.85.x would be the oldest RN version we support." Current docs do not appear to state an explicit React Native minimum version. If v2 formalizes a minimum RN version, that may warrant a note on the React Native setup page.

Source PR: powersync-ja/powersync-js#1010 — merged to the v2 pre-release branch on 2026-06-29. This change has not shipped in a stable release.

Filed automatically by Claude Code (claude-sonnet-4-6). A human must verify the scope, prepare the docs PR, and publish it only once this update has been released.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions