Revision Date Author Comments
# c0a96678 07-Jun-2023 Kudo Chien <[email protected]>

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]>

show more ...


# 84f418d7 17-Jan-2023 Kudo Chien <[email protected]>

[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.

show more ...


# dec397fd 29-Jun-2022 Kudo Chien <[email protected]>

Upgrade to react-native 0.69 (#18006)

# Why

for sdk 46
close ENG-5353

# How

- update packages
- react -> 18.0.0
- react-native -> 0.69.0
- react-dom -> 18.0.0
- react-native-w

Upgrade to react-native 0.69 (#18006)

# Why

for sdk 46
close ENG-5353

# How

- update packages
- react -> 18.0.0
- react-native -> 0.69.0
- react-dom -> 18.0.0
- react-native-web -> ~0.18.1
- react-test-renderer -> ~18.0.0
- @types/react -> ~18.0.14
- @types/react-native -> ~0.69.1
- early patch react-native for 0.69.1 fixes
- https://github.com/facebook/react-native/commit/43f831b
- https://github.com/facebook/react-native/commit/c2088e1
- https://github.com/facebook/react-native/commit/f97c6a5
- https://github.com/facebook/react-native/commit/79baca6
- https://github.com/facebook/react-native/pull/34064#issuecomment-1168810152
- migrate `expo-template-bare-minimum`, `bare-expo`, `bare-sandbox` to 0.69. reference from https://react-native-community.github.io/upgrade-helper/?from=0.68.1&to=0.69.0
- also remove the `hermesCommand` because 0.69 uses the builtin hermes-engine
- `expo-av`, `expo-modules-core`, `expo-gl-cpp`: fix android cpp building errors, because 0.69 ships both release and debug aar
- `expo-dev-client`: fix android build error from RedBox package rename
- `html-elements`: update RNWView where react-native-web removed [the `css` import](https://github.com/necolas/react-native-web/commit/b27c9820)
- `expo`: move Expo.podspec out from ios, because newer [rn-cli removed the `podspecPath` and `project` support](https://github.com/react-native-community/cli/commit/25eec7c#diff-0dddbcedebb33032fcac5991f3dcdfa44157e6ae87afcf3dabcd240a0db09832L58).
- [ ] disable dev-client because the vendored reanimated in dev menu doesn't support 0.69 yet, e.g. `folly_json -> folly_runtime`
- update reanimated and gesture-handler to latest for 0.69 support
- `jest-expo`: update to [fix the deprecated react-native-web jest preset](https://github.com/necolas/react-native-web/commit/9b0c119)
- `NCL`, `home`, patch `react-native-svg`: fix react 18 that [`children` should be explicitly added](https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html#updates-to-typescript-definitions)
- `@expo/cli` fix react-native-web and react-dom version checks

# Test Plan

- android bare-expo smoke test
- ios bare-expo smoke test
- ci passed
- updates e2e is broken because in the flow the react-native doesn't include 0.69.1 fixes.

show more ...


# a2dc4da9 03-Dec-2021 Brent Vatne <[email protected]>

[template] First pass at removing dependencies from bare template (#15383)


# 2a007913 03-Dec-2021 Kudo Chien <[email protected]>

[templates] Align Android back button behavior with classic build (#15378)

# Why

fix #15326 where we have the default Android implementation on eas build but move activities to background on [cla

[templates] Align Android back button behavior with classic build (#15378)

# Why

fix #15326 where we have the default Android implementation on eas build but move activities to background on [classic build](https://github.com/expo/expo/blob/28d5976df2379540936083e599b100a50bd3575d/android/expoview/src/main/java/host/exp/exponent/experience/BaseExperienceActivity.kt#L93-L103). actually, finishing activities is the default behavior on Android, so i kinda dunno which solution is better. after i found that on Android S, [the default behavior for root activities is also moving background](https://developer.android.com/about/versions/12/behavior-changes-all#back-press), i would try to align the design with Android S.

# How

- for android <= 11 + root activities, move to background.
- for android <= 11 + non-root activities, use the platform default implementation (`finish()`)
- for android > 11, use the platform default implementation. (assuming to move root activities in background)

# Test Plan

use the [example repo](https://github.com/psnet/eastest) from #15326 + this patch
- test `expo run:android`
- test `eas build`

Co-authored-by: Brent Vatne <[email protected]>
Co-authored-by: Evan Bacon <[email protected]>

show more ...


# a066f3d4 05-Nov-2021 Evan Bacon <[email protected]>

Revert "Update onConfigurationChanged for Android (#14929)" (#15059)

This reverts commit a2de9262009432b3390a99e515f6359ed3282070.


# a2de9262 05-Nov-2021 Evan Bacon <[email protected]>

Update onConfigurationChanged for Android (#14929)


# 9781212e 20-Sep-2021 Kudo Chien <[email protected]>

[templates] Update templates for the next SDK (#14409)

# Why

Update templates for the next SDK

# How

- `et update-project-templates`
- manually updated some dependencies like `react`, `rea

[templates] Update templates for the next SDK (#14409)

# Why

Update templates for the next SDK

# How

- `et update-project-templates`
- manually updated some dependencies like `react`, `react-dom`, `react-native`, `react-native-web`, `@types/react`
- migrated bare template from unimodules to expo modules
- [android] migrate unimodules to expo-modules
- [android] integrate ReactNativeHostWrapper / ReactActivityDelegateWrapper
- replace splash screen integration by in-module setup
- replace expo-updates integration by in-module setup
- add Podfile.properties.json with hermes support
- fix other `node_modules` resolution where breaking monorepo support, e.g. hermes-engine or maven repo.
- use mavenCentral before jcenter because [jcenter will be a read-only mirror repository](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/)

Co-authored-by: Tomasz Sapeta <[email protected]>
Co-authored-by: Cedric van Putten <[email protected]>

# Test Plan

```sh
expo init -t /path/to/templates/expo-template-bare-minimum sdk43
cd sdk43
expo run:android
expo run:android --variant release
expo run:ios
expo run:ios --configuration Release
```

show more ...


# d298d661 10-Jun-2021 Evan Bacon <[email protected]>

Reset Android theme manually (#13216)


# 869784e9 02-Mar-2021 kevgrig <[email protected]>

[templates] Fix bare templates on Android to avoid potential inconsistencies when restoring from background (#12043)

Fixes #12002. Unless a developer makes a conscious effort to carefully restore ap

[templates] Fix bare templates on Android to avoid potential inconsistencies when restoring from background (#12043)

Fixes #12002. Unless a developer makes a conscious effort to carefully restore app state,
restoring from background generally won't work [1]; worse, it may cause
crashes [2]. Given this possibility, it's better to default the bare
template to avoid this issue.

[1] https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-425027574
[2] https://github.com/software-mansion/react-native-screens/tree/2.18.0#android

show more ...


# 9541d918 29-Sep-2020 Bartłomiej Bukowski <[email protected]>

[splash-screen][templates] Update expo-splash-screen dependency (#10444)


# f9b34a3b 17-Sep-2020 Eric Samelson <[email protected]>

[templates][bare] update to RN 0.63.2


# ba3c3bac 10-May-2020 Brent Vatne <[email protected]>

[template] [bare-minimum] Add expo-splash-screen and a default splash screen


# 2a736950 25-Mar-2020 Eric Samelson <[email protected]>

[templates][bare] move to simpler index.js entryPoint that's a clone of expo/AppEntry.js (#7466)


# ed546445 09-Jul-2019 Brent Vatne <[email protected]>

[expo] Remove most expo-* packages from expo package (#4815)

# Why

In SDK33 we deprecated imports from the Expo package, instead users install them separately, eg: `expo install expo-sensors`. Th

[expo] Remove most expo-* packages from expo package (#4815)

# Why

In SDK33 we deprecated imports from the Expo package, instead users install them separately, eg: `expo install expo-sensors`. This has many benefits that we're already aware of that I'm not going to repeat here for brevity.

# How

I removed the dependencies and tested in a local bare project to ensure that the project would build and run in Xcode and also that it would work in the Expo client.

I had to keep some of the unimodule dependencies around because they are used by parts of the expo package in a way we can't remove (globals, for example).

# Test Plan

You can install `[email protected]` to a bare project and give it a try!

# Checklist

- [x] Verify it works as expected in bare on iOS and Android
- [x] Verify it works as expected in managed on iOS and Android
- [x] Verify it works for web
- [x] Add docs for community native modules we include now that they can't be imported from the expo package
- [x] Create a package for the `Google.ts` file so it doesn't need to live in the `expo` package and force a dependency on `expo-app-auth`
- [x] Update new project template to include RNGH

# Followup

- @EvanBacon is planning on removing maps related code from the package and into something like `expo-maps`

show more ...


# ade898b0 05-Mar-2019 Ville Immonen <[email protected]>

Move expo-template-bare-minimum to correct folder