Repository navigation
Conversation
Upgrade platform floors and Expo integration. Keep native regression checks local or manually dispatched.
Cover both regressions with real Xcode fixtures and refresh the Expo snapshot.
🦋 Changeset detectedLatest commit: ec50bf1 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Bridging-header inheritance and commented Gradle placeholders can currently cause prebuild failures or missing redirect configuration.
Review effort: Balanced
Findings: 3
Open (3)
What changed in this PR
Modernizes platform baselines and examples for 9.0 while improving Expo configuration and token revocation.
Changes:
- Requires React Native 0.86+, iOS 15.1+, Android API 24+, Expo SDK 57+, and Node 22.13+.
- Updates CLI/Expo examples and native regression coverage.
- Corrects revocation encoding and expands config-plugin handling.
| File | Description |
|---|---|
README.md |
Updates compatibility requirements. |
packages/react-native-app-auth/revoke.spec.js |
Adds revocation regression tests. |
packages/react-native-app-auth/react-native-app-auth.podspec |
Raises iOS minimum to 15.1. |
packages/react-native-app-auth/plugin/src/ios/info-plist.ts |
Makes URL-scheme insertion idempotent. |
packages/react-native-app-auth/plugin/src/ios/index.ts |
Updates iOS plugin exports. |
packages/react-native-app-auth/plugin/src/ios/bridging-header.ts |
Reworks bridging-header discovery and configuration. |
packages/react-native-app-auth/plugin/src/ios/app-delegate.ts |
Adds Swift callback patching. |
packages/react-native-app-auth/plugin/src/ios/app-delegate-header.ts |
Updates Expo compatibility branching. |
packages/react-native-app-auth/plugin/src/index.ts |
Integrates updated platform plugins. |
packages/react-native-app-auth/plugin/src/expo-version.ts |
Raises Expo SDK minimum. |
packages/react-native-app-auth/plugin/src/android/main-activity.ts |
Adds authorization-result forwarding. |
packages/react-native-app-auth/plugin/src/android/index.ts |
Exports the MainActivity plugin. |
packages/react-native-app-auth/plugin/src/android/app-build-gradle.ts |
Merges Android manifest placeholders. |
packages/react-native-app-auth/plugin/src/__tests__/app-delegate.test.ts |
Updates AppDelegate tests. |
packages/react-native-app-auth/plugin.fixture-coverage.spec.ts |
Adds broad plugin regression coverage. |
packages/react-native-app-auth/package.json |
Updates dependencies, tests, and peer baseline. |
packages/react-native-app-auth/native-tests/android-recovery.sh |
Adds Android recovery test runner. |
packages/react-native-app-auth/native-auth-errors.spec.js |
Tests native error preservation. |
packages/react-native-app-auth/index.js |
Form-encodes revocation parameters. |
packages/react-native-app-auth/android/build.gradle |
Raises Android SDK baselines. |
package.json |
Updates Node, Yarn, ESLint, and resolutions. |
examples/expo-cng/README.md |
Updates Expo example instructions. |
examples/expo-cng/package.json |
Upgrades Expo and React Native. |
examples/expo-cng/App.tsx |
Expands the authentication smoke flow. |
examples/expo-cng/app.json |
Enables scenes and new architecture. |
examples/expo-cng/.yarnrc.yml |
Configures Yarn 4. |
examples/expo-cng/.gitignore |
Ignores Yarn artifacts. |
examples/demo/tsconfig.json |
Updates TypeScript configuration. |
examples/demo/README.md |
Documents upgraded native tests. |
examples/demo/package.json |
Upgrades React Native tooling. |
examples/demo/metro.config.js |
Updates monorepo resolution. |
examples/demo/jest.config.js |
Uses the current Jest preset. |
examples/demo/ios/Podfile.lock |
Refreshes iOS dependencies. |
examples/demo/ios/Podfile |
Enforces the iOS deployment target. |
examples/demo/ios/Example/SceneDelegate.swift |
Adds scene lifecycle forwarding. |
examples/demo/ios/Example/Info.plist |
Configures scenes and Metro. |
examples/demo/ios/Example/AppDelegate.swift |
Defers startup to the scene delegate. |
examples/demo/ios/Example.xcodeproj/project.pbxproj |
Integrates scene and build settings. |
examples/demo/App.tsx |
Uses safe-area-context. |
examples/demo/android/gradlew.bat |
Updates the Windows Gradle wrapper. |
examples/demo/android/gradlew |
Updates the Unix Gradle wrapper. |
examples/demo/android/gradle/wrapper/gradle-wrapper.properties |
Upgrades Gradle. |
examples/demo/android/gradle.properties |
Adds AGP 9 settings. |
examples/demo/android/build.gradle |
Updates Android build tooling. |
examples/demo/android/app/src/main/java/com/example/MainApplication.kt |
Adopts the current RN application entry point. |
examples/demo/android/app/src/main/java/com/example/MainActivity.kt |
Forwards authorization results. |
examples/demo/android/app/src/main/AndroidManifest.xml |
Configures cleartext behavior. |
examples/demo/android/app/src/debug/AndroidManifest.xml |
Removes the obsolete debug manifest. |
examples/demo/android/app/src/androidTest/java/com/example/RNAppAuthRecoveryInstrumentation.java |
Adds native recovery regression tests. |
examples/demo/android/app/build.gradle |
Configures instrumentation and dependencies. |
examples/demo/__tests__/App.test.tsx |
Updates app mocks. |
docs/docs/usage/manual-setup.md |
Updates iOS setup guidance. |
docs/docs/usage/expo-setup.md |
Documents Expo SDK 57 setup. |
docs/docs/introduction.md |
Documents new platform requirements. |
.github/workflows/release.yml |
Moves release CI to Node 22. |
.github/workflows/pull-request.yml |
Moves PR CI to Node 22. |
.changeset/revocation-form-encoding.md |
Records revocation encoding fix. |
.changeset/current-react-native-baseline.md |
Records the breaking platform baseline. |
.changeset/configured-headers-and-gradle-comments.md |
Records plugin fixes. |
.changeset/android-recovery-review-fixes.md |
Records Kotlin import handling. |
.changeset/android-plugin-placeholder-scope.md |
Records placeholder scope handling. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| "react": "19.2.3", | ||
| "react-native": "0.87.1", | ||
| "react-native-app-auth": "*", | ||
| "react-native-safe-area-context": "^5.5.2" | ||
| }, |
Cover existing callbacks, comments, and formatted forwarding. Remove the stale demo npm lockfile and document root Yarn installs.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The iOS config plugin updates raw Expo configuration instead of the generated Info.plist mod result, potentially omitting the OAuth URL scheme.
Review effort: Balanced
Findings: 2
Open (2)
Resolved since last review (1)
Update modResults using Expo's plist type. Verify separate mod objects, disk output, and repeated generation.

Description
Prepare 9.0 by requiring React Native 0.86+, iOS 15.1+, Android API 24+, and Expo SDK 57+ for the config plugin. Upgrade the CLI and Expo examples and update compatibility documentation.
Fix Expo plugin handling of Swift bridging headers, Gradle placeholders/comments, and Kotlin imports. Correct token revocation encoding and expand regression coverage. Native regression suites run locally; CI retains build, lint, and unit checks.
Older applications can use 8.5.0, which includes #1146 and #1148.
Steps to verify