Skip to content

fix: support Expo 58 and React Native 0.88 - #237

Merged
tannerlinsley merged 1 commit into
mainfrom
taren/expo-58-compatibility
Oct 18, 2026
Merged

tannerlinsley merged 1 commit into
mainfrom
taren/expo-58-compatibility

Conversation

@tannerlinsley

@tannerlinsley tannerlinsley commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Fix the peer dependency rejection reported by @NiGhTTraX in #236.

Both @tanstack/charts and @tanstack/react-native-charts accept React Native 0.86.x or 0.88.x. The existing bare fixture stays on 0.86.2, while the Expo fixture moves to SDK 58 with its recommended React 19.3, React Native 0.88, and SVG 15.16 versions. Other native minor versions remain outside the declared support range.

The fixture upgrade also exposed pnpm selecting mismatched optional React peers for Octane. Declaring the matching React pair in each fixture keeps the existing web consumers on 19.2.3. Regression tests check the installed Octane renderer dependency as well as both native peer ranges.

The patch Changeset covers both public install paths. It joins the existing fixed-group 1.2.0 release queue. This does not publish a package or close #236.

AI review notes:
pnpm validate passed all 19 targets: 2,253 DOM tests, six framework test targets, TypeScript, docs, catalog checks, packed native/Expo iOS and Android consumers, seven adapter package gates, and the unified artifact gate. Validation log.
Both bundle size policy and comparison gates passed with their existing limits. All 188 regenerated preview SVGs are unchanged; only the source hash in their manifest changed.
No library runtime source, bundle budgets, or performance tolerances changed. Expo 58 simulator and physical-device rendering have not been verified.

Summary by CodeRabbit

  • New Features
    • Added support for React Native 0.88 alongside 0.86 in the native charts packages, including Expo 58 installation guidance.
  • Documentation
    • Clarified compatibility and verification status, including that Expo 58 has not yet been verified on a simulator or device.

@changeset-bot

changeset-bot Bot commented Oct 18, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: b20528c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
Name Type
@tanstack/charts Patch
@tanstack/react-native-charts Patch
@tanstack/alpine-charts Patch
@tanstack/angular-charts Patch
@tanstack/lit-charts Patch
@tanstack/octane-charts Patch
@tanstack/preact-charts Patch
@tanstack/react-charts Patch
@tanstack/solid-charts Patch
@tanstack/svelte-charts Patch
@tanstack/vue-charts Patch
@tanstack/charts-scales Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedreact@​19.3.01001008497100
Updatedreact-native-svg@​15.15.4 ⏵ 15.16.09910010085100
Addedreact-dom@​19.3.01001009298100
Addedreact-native@​0.88.09710099100100
Updatedexpo@​57.0.9 ⏵ 58.0.1498 +28100100 +1100 +1100

View full report

@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d7385fc9-e1a8-4c13-9026-5ee2e90f2b16
📥 Commits

Reviewing files that changed from the base of the PR and between f8f8ed7 and b20528c.

⛔ Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 12
  • .changeset/expo-58-native-peers.md
  • API-FRICTION.md
  • benchmarks/conformance/previews/manifest.json
  • docs/installation.md
  • examples/charts-expo/package.json
  • examples/charts-octane/package.json
  • packages/charts-core/docs/installation.md
  • packages/charts-core/package.json
  • packages/octane-charts/package.json
  • packages/react-native-charts/README.md
  • packages/react-native-charts/package.json
  • scripts/workspace-packages.test.mjs
💤 Files with no reviewable changes: 1
  • packages/react-native-charts/README.md

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

📝 Walkthrough

The packages now accept React Native 0.88 alongside 0.86. The Expo example and compatibility guidance cover Expo 58. Workspace tests check supported React Native versions and React dependency alignment in the Octane fixture.

Changes: Framework compatibility

Layer / File(s) Summary
React Native 0.88 support
.changeset/*, docs/installation.md, packages/charts-core/..., packages/react-native-charts/..., examples/charts-expo/package.json, scripts/workspace-packages.test.mjs, benchmarks/conformance/previews/manifest.json
Both package peer ranges now include ^0.88.0. The Expo example dependencies and installation guidance cover Expo 58 and React Native 0.88. Tests check supported and rejected React Native versions. The documentation says Expo 58 has not been verified on a simulator or device.
Octane React dependency alignment
examples/charts-octane/package.json, packages/octane-charts/package.json, scripts/workspace-packages.test.mjs, API-FRICTION.md
The Octane example and package development dependencies specify React and React DOM 19.2.3. Tests check version alignment and React resolution. The API friction entry records these fixture updates and the Expo 58 follow-up.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix · Severity of issue fixed: Low

Merge Risk: ⚪ Minimal · up to b2052

The change declares React Native 0.88 support and updates the Expo fixture; the supplied context reports packed checks passing and documents that Expo 58 device rendering has not been verified. No actionable merge-blocking risk is identified.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main changes: Expo 58 and React Native 0.88 support.
Linked Issues check Passed Issue #236 requires Expo 58 and React Native 0.88 compatibility. The PR changes the react-native peer range in both packages/charts-core/package.json and `packages/react-native-charts/package.json…
Out of Scope Changes check Passed The changes stay within the support update for issue #236. Fixture dependency updates reproduce the Expo 58 and Octane peer-resolution cases. Tests cover the peer ranges and resolved Octane renderer d…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Full details: Linked Issues check

Explanation

Issue #236 requires Expo 58 and React Native 0.88 compatibility. The PR changes the react-native peer range in both packages/charts-core/package.json and packages/react-native-charts/package.json to accept ^0.86.0 || ^0.88.0. The Expo fixture uses Expo 58 with React Native 0.88.0. scripts/workspace-packages.test.mjs covers acceptance of both supported ranges and rejection of unsupported minor versions.

Full details: Out of Scope Changes check

Explanation

The changes stay within the support update for issue #236. Fixture dependency updates reproduce the Expo 58 and Octane peer-resolution cases. Tests cover the peer ranges and resolved Octane renderer dependency. Documentation, the Changeset, API friction records, and removal of stale device-verification claims support the compatibility update. The preview manifest changes only its source hash, and the summary reports unchanged asset entries.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1 files. (10 skipped: 10 unsupported.)

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nx-cloud

nx-cloud Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit b20528c

Command Status Duration Result
nx run charts-workspace:ci-distributed ✅ Succeeded 3m 13s View ↗
nx run charts-workspace:package-check ✅ Succeeded <1s View ↗
nx run charts-workspace:benchmark-check ✅ Succeeded <1s View ↗

☁️ Nx Cloud last updated this comment at 2026-10-18 11:46:07 UTC

@tannerlinsley
tannerlinsley merged commit a2e82ab into main Oct 18, 2026
19 checks passed
@github-actions github-actions Bot mentioned this pull request Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expo 58 react-native 0.88 compatibility

1 participant