Skip to content

Releases: WillyAntunez/react-native-xtool

v0.1.0-alpha.4

v0.1.0-alpha.4 Pre-release
Pre-release

Choose a tag to compare

@WillyAntunez WillyAntunez released this 02 Nov 18:27

Versions without surprises

A patch release of Expo or React Native should not need a new rn-xtool release. Expo published 58.0.22 while this release was being prepared, and rn-xtool needed no change for it.

New

  • Expo SDK 57 now has a floor. rn-xtool accepts expo 57.0.31 or any newer 57.x. A newer release than the verified one builds with a warning that names the verified versions.
  • Bare React Native accepts every patch of a supported minor, starting from these floors: 0.86.x from 0.86.2, 0.87.x from 0.87.1, and 0.88.x from 0.88.0.
  • rn-xtool doctor --project checks only the project, without Swift, xtool or a device. It shows:
    • the version line that covers your versions, or the reason none does;
    • which SwiftPM scripts the build would use;
    • whether React Native's prebuilt artifacts are cached, local or published;
    • whether the Expo modules are precompiled;
    • which podspec features your libraries use.

Changed

  • On Expo SDK 57 and 58, a package from another SDK's release line (for example expo-modules-core 59.x on SDK 58) now stops the build with a remedy instead of only warning.
  • The SwiftPM scripts are chosen from the layout of the installed scripts, not from the version number. Every supported version gets the same scripts as before.

Fixed

  • rn-xtool needs Node 22.12 or newer, the minimum its own dependencies declare. doctor checks it.
  • A malformed rn-xtool.config.json is named in the error.

Upgrading from alpha.3: nothing to do for most projects. See the CHANGELOG.

Known limits:

  • No app icon or splash screen yet.
  • The first launch after an install shows "No script URL provided" behind iOS's Local Network prompt: tap Allow, then Reload.

Tested with: xtool 1.23.0, Swift 6.4.1, Expo SDK 57 and 58, React Native 0.86.3, 0.87.1 and 0.88.1.

v0.1.0-alpha.3

v0.1.0-alpha.3 Pre-release
Pre-release

Choose a tag to compare

@WillyAntunez WillyAntunez released this 29 Oct 02:40

Expo SDK 57 support, and current Expo SDK 58

alpha.2 fails on any Expo SDK 58 project created today (Expo moved to 58.0.21 / React Native 0.88.1). This release fixes that and adds SDK 57, the most used Expo SDK.

New

  • Expo SDK 57 (expo 57.0.31, React Native 0.86.3). Verified on an iPhone with expo-haptics, expo-image-picker, expo-file-system, react-native-screens, safe-area-context, gesture-handler, reanimated + worklets, expo-router and expo-dev-client.
  • Expo SDK 58 on a 58.0.21 floor: newer 58.x versions build with a warning. Clear checks and working remedies for version, duplicate-module and missing-binary problems.
  • A precompiled-framework symbol check that stops the build instead of letting the app crash at launch.
  • reanimated and worklets build on Linux with no manual patch. rn-xtool makes their Package.swift portable.
  • Bare React Native 0.88.1, and bare apps with Expo modules on SDK 58.

Upgrading from alpha.2: see the "Upgrading from 0.1.0-alpha.2" section in the CHANGELOG.

Known limits:

  • No app icon or splash screen yet (they need Xcode tools; a fix is planned for the next alpha).
  • The first launch after an install shows "No script URL provided" behind iOS's Local Network prompt. Tap Allow, then Reload.

Tested with xtool 1.23.0, Swift 6.4.1, Expo SDK 57.0.31 and 58.0.21, and React Native 0.86.3, 0.88.0 and 0.88.1.

v0.1.0-alpha.2

v0.1.0-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@WillyAntunez WillyAntunez released this 27 Oct 18:51

Added

  • Bare React Native 0.86.2, 0.86.3 and 0.87.1, through vendored copies of React Native 0.88.0's SwiftPM scripts
    (vendor/rn-spm/), a rn-artifacts build step that downloads and, for 0.86, adapts the prebuilt artifacts, and an
    exact-version gate. 0.86.3 and 0.87.1 are verified on a physical iPhone (doctor, build, install over Wi‑Fi, Metro,
    Fast Refresh, and the library matrix in docs/libraries.md; reanimated/worklets only on 0.86.3); 0.86.2 is
    build-verified only.
  • The patches step warns about persisted scaffold patches made for another React Native version (for example after
    moving from 0.86.3 to 0.87.1) and says which file to delete; it changes nothing on its own.

Changed

  • An Expo project whose react-native is not 0.88.0 now stops at the patches step with a message to pin
    react-native to 0.88.0 (before, a cleanly applying patch only warned).
  • Persisted scaffold patches that still carry the old expo-xtool-scaffold-revision marker are re-scaffolded once (the
    marker became rn-xtool-scaffold-revision in 0.1.0-alpha.1); patches with the current marker are kept.
  • A React Native version rn-xtool does not support now gets one error naming the supported list (0.86.2, 0.86.3,
    0.87.1 and 0.88.0); 0.88 prereleases and 0.88.x other than 0.88.0 are refused.
  • README and docs mark WSL2 as "should work, not tested yet" instead of supported.

v0.1.0-alpha.1

v0.1.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@WillyAntunez WillyAntunez released this 27 Oct 00:06
75ff7cd

react-native-xtool 0.1.0-alpha.1 (alpha)

Build, sign and install Expo and bare React Native iOS dev builds from Linux, with no Mac, then develop with Metro and Fast Refresh over Wi-Fi.

npm i -g react-native-xtool@alpha
rn-xtool setup --xcode-xip ~/Downloads/Xcode_27.1.xip
rn-xtool auth login
rn-xtool run

What works

  • Expo SDK 58 projects, bare React Native 0.88 projects, and bare projects with Expo modules (hybrid).
  • Swift, Objective-C and C++ sources in the app target; CocoaPods-only libraries get a generated Package.swift.
  • Installs over USB or Wi-Fi (no cable after a one-time pairing), smart rebuilds (rn-xtool run), Fast Refresh.
  • Verified on a physical iPhone: Expo and bare templates, 11+ libraries (see docs/libraries.md), expo-dev-client, clean-machine run in Docker.

Known limits

  • Expo SDK 57 and older, React Native 0.87 and older: not yet.
  • No iOS simulator, no production builds (use EAS), Linux x86_64 only (WSL2 works; arm64 untested).
  • No Xcode tools on Linux: asset catalogs, storyboards and Metal shaders are skipped; library resource bundles and vendored xcframeworks are not supported yet.
  • Free Apple ID: 7-day signatures, 3 apps.

Tested with

xtool 1.23.0, Swift 6.4.1, Darwin SDK from Xcode 27.1, Expo 58.0.19, React Native 0.88.0, Node 20+/22.