[go] update lottie-react-native to 6.1.2 (#23843)# Why There have been a lot of changes in Lottie React Native and there are some issues for users using Expo Go. May fix: - https://github.c
[go] update lottie-react-native to 6.1.2 (#23843)# Why There have been a lot of changes in Lottie React Native and there are some issues for users using Expo Go. May fix: - https://github.com/lottie-react-native/lottie-react-native/issues/1075 - https://github.com/lottie-react-native/lottie-react-native/issues/999 - https://github.com/lottie-react-native/lottie-react-native/issues/1005 # How - Changed source type to `npm` in expoGoConfig - Ran `et uvm -m lottie-react-native -c 6.1.2` - Updated NCL example # Test Plan versioned expo go + NCL lottie test case --------- Co-authored-by: Kudo Chien <[email protected]>
show more ...
[go] update @shopify/react-native-skia to 0.1.196 (#23157)# Why 0.1.196 is the first version compatible with react-native 0.72, we need this version for sdk 49 # How - `et uvm -m @shopify/
[go] update @shopify/react-native-skia to 0.1.196 (#23157)# Why 0.1.196 is the first version compatible with react-native 0.72, we need this version for sdk 49 # How - `et uvm -m @shopify/react-native-skia -c 0.1.196` - re-add sdk49 versioned code for skia # Test Plan - [x] unversioned expo-go + unversioned ncl skia test case - [x] sdk49 versioned expo-go + sdk49 ncl skia test case - [x] ios expo go (2.29.1, the current testflight version, which is @shopify/[email protected]) + sdk49 ncl skia test case (@shopify/[email protected]). this test makes sure 0.1.196 doesn't have breaking changes and compatible with 0.1.195, so that we don't have to submit a new expo-go build.
Remove react-native-shared-element from Expo Go (#22970)
[android][tools] fix expo go versioning issues on android (#22950)# Why fix expo-go android versioning for sdk 49 close ENG-8955 # How - [tools] fix for react-native monorepo changes - [
[android][tools] fix expo go versioning issues on android (#22950)# Why fix expo-go android versioning for sdk 49 close ENG-8955 # How - [tools] fix for react-native monorepo changes - [tools] update manifest-merger because the original one doesn't support java 17. since the new manifest-merger has kotlin runtime and the jar takes about 35MB. rather than committing a prebuilt jar, now we build manifest-merger from source. - [tools] since #22609 we don't have `package` in libraries' AndroidManifest.xml, the manifest-merger still requires the `package`, so we have to temporarily put the `package` back during manifest merging. (the `package` name is generated from `namespace` in build.gradle) - [tools] the original jarjar uses outdated [ASM](https://asm.ow2.io/) and it doesn't support bytecode generated by kotlin. react-native now has some kotlin code, and the original jarjar cannot transform package name from those kotlin classes. i've tried to rebuild a jarjar from [this revision](https://github.com/google/jarjar/commit/e11d5636aa45664271c8f1603067527b2520f591). this requires some manual steps like updating ASM libs and install ant builder. so i still commit the prebuilt jarjar in this pr. - [updates] force casting for `UpdateEntity` to deal with kotlin smart casting from versioned to unversioned kernel class. (i'll leave inline comment for this) - [expo-modules-core's `android-annotation`] the project stays in a place that does not support versioning yet. in this pr i just keep it as an unversionable project. cc @lukmccall # Test Plan `et add-sdk -p android -s 49.0.0` + android versioned expo-go + sdk 49 NCL smoke test
[go] update react-native-reanimated to 3.3.0 (#22907)# Why update vendoring modules for sdk 49 # How - `et uvm -m react-native-reanimated -c 3.3.0` - publish dev home because prebuilt hom
[go] update react-native-reanimated to 3.3.0 (#22907)# Why update vendoring modules for sdk 49 # How - `et uvm -m react-native-reanimated -c 3.3.0` - publish dev home because prebuilt home still uses reanimated 3.1.0 # Test Plan unversioned expo go + ncl reanimated
[go] update @shopify/react-native-skia to 0.1.193 (#22900)# Why update @shopify/react-native-skia vendoring module for sdk 49 # How - [tools] update patch - `et uvm -m @shopify/react-nati
[go] update @shopify/react-native-skia to 0.1.193 (#22900)# Why update @shopify/react-native-skia vendoring module for sdk 49 # How - [tools] update patch - `et uvm -m @shopify/react-native-skia -c 0.1.193` - backport skia chrome/m114 to sdk47 and sdk48 code. reference changes from https://github.com/Shopify/react-native-skia/pull/1604 # Test Plan - versioned expo go + unversioned ncl skia - versioned expo go + sdk 48 ncl skia
Updated vendored react-native-webview to v13.2.2 (#22913)
Upgrade react-native 0.72.0-rc.5 (#22588)# Why upgrade react-native 0.72 for sdk 49 close ENG-8011 # How - bump package versions - `react-native 0.71.3 -> 0.72.0-rc.5` - `metro-reac
Upgrade react-native 0.72.0-rc.5 (#22588)# Why upgrade react-native 0.72 for sdk 49 close ENG-8011 # How - bump package versions - `react-native 0.71.3 -> 0.72.0-rc.5` - `metro-react-native-babel-preset 0.73.9 -> 0.76.5` - [bare-expo][templates][fabric-tester] migrate template base on [upgrade-helper](https://react-native-community.github.io/upgrade-helper/?from=0.71.7&to=0.72.0-rc.5) - [expo-template-tabs] remove the metro version overrides for expo-router. - [core][dev-laucher][dev-menu][media-library][screen-orientation][splash-screen][updates-interface][updates] add the `install_modules_dependencies` to support new architecture + use_frameworks! - [core][autolinking] fix some new architecture error on ios - [react-native-lab] update our fork to 0.72.0-rc.5 based - [go][tools] fix **react-native-lab/react-native/packages/react-native** path move because of react-native's repo monorepo changes - [go][android] fix gradle 8 errors - [go][ios] add `RCT_REMOTE_PROFILE=0` to fix the `RCT_ENABLE_INSPECTOR needs to be set to fulfill RCT_REMOTE_PROFILE` build error - [ncl] remove `ProgressViewIOS` / `ProgressBarAndroid` since they are deprecated/removed in 0.72 - [dev-menu][dev-launcher] rebuild bundles # Note - react-native-web is not bumped because of the [issue](https://github.com/necolas/react-native-web/issues/2523), so it's still react-native-web@~0.18.10. - currently disable ci typecheck for @expo/cli because of upstream metro typescript support. i'll have another pr to fix those errors. - updates e2e ci on android is broken at [here](https://github.com/expo/expo/blob/fada3d764957779fbfc3d7b723d185db1d933d95/packages/expo-updates/e2e/fixtures/Updates.e2e.ts#L518). i doubt if that's related to the react scheduler change. i'd disabled the failed test case. - the react-native upstream [migrated away the `@types/jest`](https://github.com/facebook/react-native/pull/36068). i was afraid that will be a breaking change to the existing jest test code since it requires the explicit `@jest/globals` import. i didn't do this in this upgrade. # Test Plan - ✅ fabric-tester (without expo-dev-client) - ✅ ci passed. there are some errors which are known: - updates e2e on android: as mentioned above - ios expo go on eas build: versioned expo go are broken on eas build m1 worker. this is also happening on main. - android client: no space left on the ubuntu worker. this is also happening on main. - ✅ bare-expo - ✅ unversioned expo go + ncl --------- Co-authored-by: Tomasz Sapeta <[email protected]>
Update reanimated to v3 (#22218)# WhyRight now running Expo Go causes this issue:
Update reanimated to v3 (#22218)# WhyRight now running Expo Go causes this issue:A fix for this is to upgrade vendored reanimated to V3.# How``` et update-vendored-module -m react-native-reanimated -c 3.0.2```CC @Kudo A word of warning:We saw some issues during the linking process on Android with this new version.```ld: error: undefined symbol:facebook::hermes::HermesRuntime::enableSamplingProfiler()>>> referenced by HermesSamplingProfiler.cpp:17(/Users/aleksander/Work/Expo/expo/react-native-lab/react-native/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp:17)```We believe this is caused by missing .so files in ```react-native-lab/react-native/ReactAndroid/build/intermediates/cxx/Debug/******/obj/arm64-v8a```In particular, ```libhermes_executor.so```is sometimes missing during the build process.A current fix for this was to deep clean the repo and caches, which seemed to fix the issue, or build hermes manually from gradle. Reanimated v3 uses prefabs which can cause the issue, so we might need to add some dependsOn to gradle if this occurs for you during building home.# Test PlanTested using native-component-list in Expo Go on both platforms.# Checklist<!--Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules.-->- [x] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md).- [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)- [x] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin).
[android][go] fix broken reanimated layout animation (#21579)# Why fixes #21505 # How reanimated 2.14 requires to use the `ReanimatedUIManagerFactory.create()` for uimanager binding: https
[android][go] fix broken reanimated layout animation (#21579)# Why fixes #21505 # How reanimated 2.14 requires to use the `ReanimatedUIManagerFactory.create()` for uimanager binding: https://github.com/software-mansion/react-native-reanimated/blob/fa5dc5271f49895339e0669b4f10d111e1c64e34/android/src/main/java/com/swmansion/reanimated/ReanimatedPackage.java#L76 # Test Plan versioned android expo go + ncl reanimated
[android][ios] Upgrade @react-native-community/slider to 4.4.1 (#20903)# Why Closes ENG-7322 # How Updated `@react-native-community/slider` target config `rootDir` to `package/` as they h
[android][ios] Upgrade @react-native-community/slider to 4.4.1 (#20903)# Why Closes ENG-7322 # How Updated `@react-native-community/slider` target config `rootDir` to `package/` as they have recently reorganized their repo structure And then ```sh et uvm -m @react-native-community/slider -c v4.4.1 et pods -f yarn ``` # Test Plan - [x] test using `bare-expo` Android + NCL slider - [x] test using `bare-expo` iOS + NCL slider - [x] test unversioned expo go ios + NCL slider - [x] test unversioned expo go android + NCL slider # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [x] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [x] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin).
[android][ios] Upgrade react-native-pager-view to 6.1.2 (#20932)# Why Closes ENG-7320 # How ```sh et uvm -m react-native-pager-view -c v6.1.2 et pods -f yarn ``` # Test Plan
[android][ios] Upgrade react-native-pager-view to 6.1.2 (#20932)# Why Closes ENG-7320 # How ```sh et uvm -m react-native-pager-view -c v6.1.2 et pods -f yarn ``` # Test Plan - [x] test unversioned expo go ios + NCL Pager View - [x] test unversioned expo go android + NCL Pager View # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [x] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [x] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin).
[go] update @shopify/react-native-skia to 0.1.171 (#20857)# Why upgrade for sdk 48 # How - `et uvm -m @shopify/react-native-skia -c 0.1.171` - the shared skia is upgrade to m108, we shoul
[go] update @shopify/react-native-skia to 0.1.171 (#20857)# Why upgrade for sdk 48 # How - `et uvm -m @shopify/react-native-skia -c 0.1.171` - the shared skia is upgrade to m108, we should backport the changes in sdk46 and sdk 47 # Test Plan unversioned expo go + ncl skia
[1/3] upgrade react-native 0.71 (#20799)# Why upgrade react-native 0.71 for sdk 48 close ENG-7192 # How - update package versions - `react: 18.1.0 -> 18.2.0` - `react-native 0.70.5
[1/3] upgrade react-native 0.71 (#20799)# Why upgrade react-native 0.71 for sdk 48 close ENG-7192 # How - update package versions - `react: 18.1.0 -> 18.2.0` - `react-native 0.70.5 -> 0.71.0` - `react-dom: 18.1.0 -> 18.2.0` - `react-test-renderer: 18.1.0 -> 18.2.0` - `react-native-web: 0.18.9 -> 0.18.10` - `babel-plugin-react-native-web: 0.18.9 -> 0.18.10` - `metro-react-native-babel-preset: 0.72.3 -> 0.73.5` - upgrade three project templates based on [upgrade-helper](https://react-native-community.github.io/upgrade-helper/?from=0.70.6&to=0.71.0) - bare-expo - expo-template-bare-minimum - fabric-tester (this is based on `npx expo prebuild --clean --no-install --template /path/to/expo-template-bare-minimum.tgz`) so it includes some inconsistent changes - [@expo/config-plugins]: support 0.71 template transform. the `namespace` in build.gradle and the files in `release` build variants - [fbjni] upgrade 0.3.0 to align 0.71 (also ndk version) - [expo-updates] move the `EX_UPDATES_NATIVE_DEBUG` `bundleInDebug` setup to templates. unfortunately, because RNGP setups the task dependencies pretty early. the original setup in expo-updates build.gradle is too late. note that the change doesn't reference any files from templates to expo-updates package. somehow it's not tightly coupled. - [native-tests / expo-modules-test-core / expo-modules-autolinking] fix ios unit test build error because jsc now in a dedicated podspec. in theory, the ios native unit test could now run on hermes as well. - for other details, please check commit histories one by one. # Test Plan - bare-expo ios / android - fabric ios / android - ci passed (except ios) - test-suite ios is broken for unknown reasons. it breaks only on github actions and hermes. for nightlies testing, i also [changed it to jsc](https://github.com/expo/expo/blob/1e029c89c4247802cc4880e27e116a6b4c71c502/tools/src/commands/SetupReactNativeNightly.ts#L287-L293) to make ci green. i'll try to follow up and investigate the root cause.
[go] upgrade reanimated to 2.14.0 (#20798)# Why unblock for react native 0.71 upgrade, previous reanimated doesn't support 0.71. # How - `et uvm -m react-native-reanimated -c 349a1c9305b5c
[go] upgrade reanimated to 2.14.0 (#20798)# Why unblock for react native 0.71 upgrade, previous reanimated doesn't support 0.71. # How - `et uvm -m react-native-reanimated -c 349a1c9305b5cdb22480e3631f40b70743825dde` - 2.14.0 doesn't have a tag on github, so to use commit hash instead. - [ios] fix integration: https://github.com/software-mansion/react-native-reanimated/blob/7ae587b1f5d943f880d5cd4ec9da319ac4d23418/ios/native/REAInitializer.mm#L62-L63 - [android] fix transform for the reanimated version # Test Plan unversioned expo go + reanimated ncl
[go] vendor react-native-async-storage (#20780)# Why react-native 0.71 removed the builtin async storage, to keep the backward compatibility, we should now vendor the *@react-native-async-storag
[go] vendor react-native-async-storage (#20780)# Why react-native 0.71 removed the builtin async storage, to keep the backward compatibility, we should now vendor the *@react-native-async-storage/async-storage* close ENG-7190 # How - [tools] add @react-native-async-storage/async-storage to vendoring config - to support expo-go's scoped async storage, we should further patch react-native-async-storage. they are now in the vendoring patch. - previously on ios, we had the patch [in our fork](https://github.com/expo/react-native/commit/c7d3f6d12ed566bd5700c8ec0d6b5b82018207a4) - previously on android, we did this from [the transform tool for our fork](https://github.com/expo/expo/blob/9047ecfbe233924e4848722b518d8ce1fa8b7173/android/tools/src/main/java/host/exp/exponent/tools/ReactAndroidCodeTransformer.java#L215-L216) - the new react-native-async-storage saves data in a different storage, so they have the migration steps. to keep backward compatibility for existing expo-go. i skip the migrations and read the storage data from previous expo-go paths. - the new react-native-async-storage saves ios data in [*Application Support* rather than *Documents*](https://github.com/react-native-async-storage/async-storage/pull/274). i don't want to follow the design. the reason is, besides backward compatibility, expo-go as a developer tool, it's good for developers to view the storage in *Documents*. - [ios] migrate the AsyncStorage native module from `RCTAsyncLocalStorage` to `RNCAsyncStorage` - [android] migrate `ExponentAsyncStorageModule` parent class to the new `AsyncStorageModule` - the new react-native-async-storage doesn't support turbo module, we have to move our integration from *ExpoTurboPackage* to *ExponentPackage* - the classic native module system respects the `@ReactMethod` annotation, we should add all of them in the `ExponentAsyncStorageModule`. # Test Plan - [ncl] AsyncStorage test case before this pr and after. makes sure the AsyncStorage value is kept after the changes.
[iOS][Android] Update reanimated to 2.12.0 (#19729)# Why Update `reanimated` to `2.12.0` # Test Plan - Expo Go - iOS ✅ - Android ✅
[iOS][Android] Upgrade `react-native-gesture-handler` to `2.8.0` (#19654)# Why Upgrade `react-native-gesture-handler` to `2.8.0`. Connected with https://exponent-internal.slack.com/archives/CNH
[iOS][Android] Upgrade `react-native-gesture-handler` to `2.8.0` (#19654)# Why Upgrade `react-native-gesture-handler` to `2.8.0`. Connected with https://exponent-internal.slack.com/archives/CNHBN8LNS/p1666255180108099. # How ``` et update-vendored-module -m react-native-gesture-handler -c main ``` # Test Plan - NCL in expo go ✅
[android][tools] fix vendored reanimated dependency toward react-native (#19638)# Why reanimated references _node_modules/react-native_ to extract some libraries for linking its shared library.
[android][tools] fix vendored reanimated dependency toward react-native (#19638)# Why reanimated references _node_modules/react-native_ to extract some libraries for linking its shared library. we should use _react-native-lab/react-native_ in our case. # How - [android] update build.gradle and cmake files to reference correct react-native and hermes-engine. since hermes-engine is building from source, we could use prefab in this case. - [tools] update transforms to generate the correct build.gradle and cmake files. # Test Plan unversioned expo go + reanimated NCL
[iOS][Android] Update reanimated to `2.11.0` (#19602)# Why Closes ENG-6530. # How - Adjusted the vendored process to use the new version of the script on Android. - Run `et update-vendor
[iOS][Android] Update reanimated to `2.11.0` (#19602)# Why Closes ENG-6530. # How - Adjusted the vendored process to use the new version of the script on Android. - Run `et update-vendored-module -m react-native-reanimated` - Made sure that the integration between the reanimated and the gesture-handler still works # Test Plan - bare-expo with NCL ✅
[iOS][Android] Update `react-native-svg` to `13.4.0` (#19434)# Why Closes ENG-6532. # How Run: ``` et uvm -m react-native-svg ``` > Note: This version of SVG requires a new version
[iOS][Android] Update `react-native-svg` to `13.4.0` (#19434)# Why Closes ENG-6532. # How Run: ``` et uvm -m react-native-svg ``` > Note: This version of SVG requires a new version of the home app. It will be created later because I faced other problems with the home app - see https://github.com/expo/expo/pull/19495 # Test Plan - home - android, ios ✅ - NCL - android, ios ✅
[android][ios] Upgrade @react-native-community/slider to 4.2.4 (#19424)# Why close ENG-6538 the latest slider version is v4.3.2, but it is incompatible with reanimated layout animation setup.
[android][ios] Upgrade @react-native-community/slider to 4.2.4 (#19424)# Why close ENG-6538 the latest slider version is v4.3.2, but it is incompatible with reanimated layout animation setup. mainly because it uses the [dispatchModern](https://github.com/callstack/react-native-slider/blob/7afcaeb754aad6e362cbf43da2d5ff32a1feb1f3/package/android/src/main/java/com/reactnativecommunity/slider/ReactSliderEvent.java#L50-L53). as we doesn't support fabric on android expo go, it should be fine to not upgrade slider 4.3 which is mainly for fabric support. # How - update to new style vendoring - `et uvm -m @react-native-community/slider -c v4.2.4 -p android` - `et uvm -m @react-native-community/slider -c v4.2.4 -p ios` # Test Plan - android unversioned expo go + NCL slider - ios unversioned expo go + NCL slider
[android][ios] Upgrade @shopify/react-native-skia to 0.1.153 (#19360)# Why close ENG-6536 # How - [tools] Update react-native-skia.patch - `et uvm -m @shopify/react-native-skia -c 0.1.153
[android][ios] Upgrade @shopify/react-native-skia to 0.1.153 (#19360)# Why close ENG-6536 # How - [tools] Update react-native-skia.patch - `et uvm -m @shopify/react-native-skia -c 0.1.153` - [NCL] update SkiaScreen example mainly for `useDerivedValue -> useComputedValue` # Test Plan - android unversioned expo go + NCL skia - ios unversioned expo go + NCL skia
[ios][android] Update react-native-screens to 3.18.0 (#19383)
[ios][android] Update react-native-gesture-handler to 2.7.0 (#19362)
123