This release line starts desktop support for React Native out-of-tree
platforms. macOS support lands through react-native-macos; React Native
Windows support lands through react-native-windows.
Added
- Added experimental macOS support for
react-native-macos. - Added a separate macOS example workspace in
examples/macos. - Added a macOS Zig prebuilt xcframework at
third_party/zig-files-hash-prebuilt/macos/ZigFilesHash.xcframework. - Added
scripts/build-zig-macos.shfor rebuilding the macOS Zig prebuilt. - Added experimental Windows support for
react-native-windows. - Added a separate Windows example workspace in
examples/windows. - Added Windows Zig prebuilt
.libartifacts forWin32,x64, andARM64
atthird_party/zig-files-hash-prebuilt/windows. - Added
scripts/build-zig-windows.shfor rebuilding Windows Zig prebuilts. - Added desktop development notes and workspace commands to
CONTRIBUTING.md. - Added release benchmark snapshots for experimental macOS and Windows Zig
desktop support toBENCHMARKS.md. - Added platform status badges and short desktop support links to
README.md.
Changed
- The podspec now declares both iOS and macOS platforms.
- macOS uses the Zig engine only. The native Apple engine switch remains iOS
specific. - Windows uses the Zig engine only. There is no Windows native-engine switch.
- Updated the bundled Zig core to
zig-files-hashv0.0.6. Windows Zig
prebuilts are rebuilt with bundled compiler-rt so MSVC consumers do not hit
unresolved runtime helpers such as__divti3when linking
zig_files_hash.lib. - iOS and macOS Zig xcframework builds now expose only the C API headers in
theirHeadersdirectories instead of the full Zig source tree. - The npm package allowlist now separates repository build inputs from
consumer package contents. Source submodules remain in the repository for
maintainers, while npm users receive only the native build inputs needed by
Gradle/CocoaPods. - The npm package no longer includes large unused upstream directories such as
third_party/xxhash/tests,third_party/xxhash/cli,
third_party/blake3/src,third_party/blake3/benches, and
third_party/zig-files-hash/src/*.zig. scripts/check-packed-prebuilts.shnow verifies the minimal required
third-party artifacts and fails if unnecessary third-party source/test
directories re-enter the packed tarball.- The Windows example uses the Hermes compiler from the React Native Windows
Hermes NuGet package for release bundling, keeping the generated bytecode
aligned with the RNW runtime used by the app.
Package size
Local npm pack --dry-run --json numbers after this cleanup and the Windows
prebuilt addition:
- package entries:
310->106 - unpacked size:
24.35 MB->23.24 MB - tarball size:
5.75 MB->5.98 MB
The tarball is slightly larger than before because this release adds three
Windows .lib prebuilts. The cleanup still removes unused upstream sources and
keeps the shipped payload focused on required native build inputs. Most of the
remaining package size is the expected Zig prebuilt payload for Android, iOS,
macOS, and Windows.