feat(prebuild): Generate universal 1024x1024 iOS icon only. (#22833)# Why Xcode 14 will resize and sort icons based on a single 1024x1024 icon with no transparency. We can now simplify our pre
feat(prebuild): Generate universal 1024x1024 iOS icon only. (#22833)# Why Xcode 14 will resize and sort icons based on a single 1024x1024 icon with no transparency. We can now simplify our prebuild pipeline by leveraging this functionality. Supports [Xcode +14 only](https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes), min iOS 12, min watchOS 4. Our minimum as of SDK 48 is iOS 13 and we don't officially support watchOS, nor does this feature overlap with watchOS. Unclear if Apple is doing a better job scaling or optimizing icons. Also unclear if this is faster than our pipeline, but it's presumably going to be more in-sync with different iOS versions. # How - Generate the new universal iOS icon according to how Xcode generates and assigns icons. <!-- How did you build this feature or fix this bug and why? --> # Test Plan - Updated automated tests. - Tested an upload with `yarn create expo` -> `nexpo prebuild -p ios` -> `eas build -p ios --auto-submit` -> Build did not fail app store processing. [EAS Submit details](https://expo.dev/accounts/bacon/projects/app2026/submissions/ebb02b82-8834-4ddf-bf10-8d962ed07ef4). <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). --------- Co-authored-by: Expo Bot <[email protected]>
show more ...
[prebuild-config] Fix build error casued by `android.adapative.monochromeImage` field specified in `app.json` (#22000)
chore(prebuild-config, config-plugins): rewrite tests to use latest template for fixtures (#21339)# Why - The previous tests were using static representations of the versioned fixtures. This me
chore(prebuild-config, config-plugins): rewrite tests to use latest template for fixtures (#21339)# Why - The previous tests were using static representations of the versioned fixtures. This meant that many tests were possibly outdated. - Now that the CLI is versioned, we can test against the latest templates to ensure our config plugins are always up to date. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - Pull in fixtures from the local template. - Rewrite tests to work with new fixtures. <!-- How did you build this feature or fix this bug and why? --> # Test Plan - Tests should continue to pass. --------- Co-authored-by: Expo Bot <[email protected]>
[2/3] upgrade react native 0.71 (#20832)# Why follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests. close ENG-7192 # How - upgrade packag
[2/3] upgrade react native 0.71 (#20832)# Why follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests. close ENG-7192 # How - upgrade packages - `jest: ^26.0.24 -> ^29.2.1` - `jest-watch-typeahead: 0.6.4 -> 2.2.1` - `@types/jest: ^26.0.24 -> ^29.2.1` - `babel-jest: ^26.6.3 -> ^29.2.1` - `@jest/create-cache-key-function: ^27.0.1 -> ^29.2.1` - `@babel/preset-env: ^7.12.9 -> ^7.14.0` - `eslint: ^8.20.0 -> ^8.29.0` - add `jest-environment-jsdom` because new jest does not include it by default - [core] fix `SyntheticPlatformEmitter` type error. originally it refers to `react-native/Libraries/EventEmitter/RCTDeviceEventEmitter` internal file which has incorrect type setup in 0.71. we could use the `react-native.DeviceEventEmitter` instead. - [expo-linking]: remove the deprecated `Linking.removeEventListener` (which is also removed from upstream) - [firebase-recaptcha] remove broken web test because firebase ESM which is not supported by jest. this pr simply remove the test case because the package is deprecated. - [jest-expo-enzyme] remove this package and move to [the archived repo](https://github.com/expo/jest-expo-enzyme). enzyme cannot upgrade to jest 29. - remove `@types/react-native` and the versioned cli package check. because 0.71 ships the types directly. - [ncl] workaround `@react-native-community/slider`, `@react-native-segmented-control/segmented-control`, and `@react-native-masked-view/masked-view` type errors in the `react-native-71-fix.d.ts`. - for other details, please check the commit histories one by one. # Test Plan - ci passed - for test-suite ios ci error, i've mentioned in #20799
Add Support For monochrome Android Adaptive Icons (#20074)# Why In Android 13, Android added the ability to include a monochrome adaptive icon that will be themed to the OS theme color. # Ho
Add Support For monochrome Android Adaptive Icons (#20074)# Why In Android 13, Android added the ability to include a monochrome adaptive icon that will be themed to the OS theme color. # How I added this to the already-included Adaptive Icon config, as Android includes it in their [Adaptive Icon docs](https://developer.android.com/develop/ui/views/launch/icon_design_adaptive#design-adaptive-icons). # Test Plan Tests written (mostly copied from other image tests). # Checklist - [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). # Notes I am unsure why the rest of the files changed when I built again. I only changed two source files. Co-authored-by: Evan Bacon <[email protected]> Co-authored-by: Bartosz Kaszubowski <[email protected]>
Change baseline icon pixel size (#19948)
chore: migrate config, config-plugins, config-types, prebuild-config (#17958)