Skip to content

feat!: bump to v4.0.0 (New Architecture Release)#467

Merged
kieran-osgood-shopify merged 3 commits into
mainfrom
cx-rn-new-arch-v4
May 6, 2026
Merged

feat!: bump to v4.0.0 (New Architecture Release)#467
kieran-osgood-shopify merged 3 commits into
mainfrom
cx-rn-new-arch-v4

Conversation

@kieran-osgood-shopify
Copy link
Copy Markdown
Contributor

@kieran-osgood-shopify kieran-osgood-shopify commented Apr 16, 2026

v4.0.0 — React Native New Architecture

v4 is a breaking release. The library now requires the React Native
New Architecture (TurboModules + Fabric) and no longer supports the
legacy bridge. Apps that are still on the old architecture should stay
on the 3.x line.

Changelog

Breaking changes

New Architecture is now required.

Several promise-returning APIs are now synchronous. Drop await
from call sites:

API Before After
getConfig() Promise<Configuration> Configuration
setConfig(config) Promise<void> void
configureAcceleratedCheckouts(config) Promise<boolean> boolean
isAcceleratedCheckoutAvailable() Promise<boolean> boolean
isApplePayAvailable() Promise<boolean> boolean
- const config = await shopify.getConfig();
+ const config = shopify.getConfig();

- await shopify.setConfig({preloading: true});
+ shopify.setConfig({preloading: true});

- const available = await shopify.isAcceleratedCheckoutAvailable();
+ const available = shopify.isAcceleratedCheckoutAvailable();

Under the hood

  • Native modules migrated from legacy bridge (RCT_EXTERN_MODULE / ReactPackage) to TurboModules (NativeShopifyCheckoutSheetKitSpecBase on iOS, TurboReactPackage on Android).
  • Old-architecture conditional code paths removed from RNShopifyCheckoutSheetKit.podspec and Android build.gradle.
  • AcceleratedCheckoutButtons now registered via codegenNativeComponent.
  • Added runtime coercion for colorScheme / logLevel values returned by getConfig() — unknown values from native now fall back to safe defaults (automatic / error) rather than silently passing through as untyped strings.

Migration checklist

  • Enable New Architecture in your app (see React Native docs)
  • Remove await from the five APIs listed above
  • Reinstall pods: cd ios && bundle exec pod install

Copy link
Copy Markdown
Contributor Author

kieran-osgood-shopify commented Apr 16, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 16, 2026

Coverage Report

Lines Statements Branches Functions
Coverage: 99%
99.53% (214/215) 95.96% (119/124) 100% (64/64)

@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from b78d8d1 to ead781e Compare April 16, 2026 16:21
@kieran-osgood-shopify kieran-osgood-shopify marked this pull request as ready for review April 16, 2026 17:06
@kieran-osgood-shopify kieran-osgood-shopify requested a review from a team as a code owner April 16, 2026 17:06
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the cx-rn-new-arch-v4 branch 2 times, most recently from 771ea81 to 7abe062 Compare April 17, 2026 08:27
@kieran-osgood-shopify kieran-osgood-shopify changed the title feat!: bump to v4.0.0 for New Architecture clean break feat!: bump to v4.0.0 (New Architecture Release) Apr 17, 2026
Comment thread README.md Outdated
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from 49c3334 to bc90cac Compare April 17, 2026 08:45
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the cx-rn-new-arch-v4 branch 2 times, most recently from 6e3733e to 255301a Compare April 17, 2026 08:47
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from bc90cac to ec03ad1 Compare April 17, 2026 08:55
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from ec03ad1 to bbe259c Compare April 17, 2026 09:00
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the cx-rn-new-arch-v4 branch 2 times, most recently from ad74867 to f7678ce Compare April 17, 2026 09:06
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from bbe259c to 07d29f6 Compare April 17, 2026 09:06
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from 07d29f6 to ba34eac Compare April 17, 2026 09:16
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from ba34eac to 9c8a074 Compare April 17, 2026 09:22
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from 9c8a074 to 4be033f Compare April 17, 2026 09:31
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch 2 times, most recently from fa18e5f to 0d43f55 Compare May 5, 2026 16:00
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from 0d43f55 to dc837d5 Compare May 5, 2026 17:17
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the cx-rn-new-arch-v4 branch 3 times, most recently from d329e98 to fb44c4e Compare May 5, 2026 17:52
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from dc837d5 to bf8dba6 Compare May 5, 2026 17:52
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from bf8dba6 to 6ddb3e2 Compare May 5, 2026 21:07
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the cx-rn-new-arch-v4 branch 2 times, most recently from 6a453b4 to c4032a1 Compare May 5, 2026 21:13
@Juanita-Dash Juanita-Dash changed the base branch from kieran-osgood/03-30-featreplaceinteropwithnewarchcode to graphite-base/467 May 6, 2026 18:07
@kieran-osgood-shopify kieran-osgood-shopify changed the base branch from graphite-base/467 to kieran-osgood/03-30-featreplaceinteropwithnewarchcode May 6, 2026 18:51
Copy link
Copy Markdown
Contributor Author

kieran-osgood-shopify commented May 6, 2026

Merge activity

  • May 6, 7:17 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • May 6, 7:50 PM UTC: Graphite couldn't merge this pull request because a downstack PR Remove New Arch interop checks - New Arch only #456 failed to merge.
  • May 6, 8:46 PM UTC: Graphite couldn't merge this PR because it failed for an unknown reason (GitHub is reporting that this PR is not mergeable, despite passing required status checks defined by your branch protection rules. Please check your rulesets for additional blocking criteria. Graphite Merge Queue does not currently support rulesets. Please contact Graphite support for further assistance.).

@kieran-osgood-shopify kieran-osgood-shopify changed the base branch from kieran-osgood/03-30-featreplaceinteropwithnewarchcode to graphite-base/467 May 6, 2026 19:18
kieran-osgood-shopify and others added 2 commits May 6, 2026 20:14
BREAKING CHANGE: This library now requires React Native New Architecture.
Consumers must have newArchEnabled=true (Android) and
new_arch_enabled: true (iOS Podfile). Old architecture is no longer
supported.

- Bump version to 4.0.0
- Update test mocks to use TurboModuleRegistry instead of NativeModules

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a Version Compatibility table so consumers can see at a glance which
package line targets which React Native architecture, and include setup
steps for enabling the New Architecture on both platforms.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@graphite-app graphite-app Bot changed the base branch from graphite-base/467 to main May 6, 2026 20:15
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@kieran-osgood-shopify kieran-osgood-shopify merged commit d0cd665 into main May 6, 2026
8 checks passed
@kieran-osgood-shopify kieran-osgood-shopify deleted the cx-rn-new-arch-v4 branch May 6, 2026 20:50
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.

5 participants