[go] Improve the incompatible SDK version error screen (#24310)# Why We want to improve the incompatible SDK error screen in Expo Go, because we will be supporting only two SDK versions, so mor
[go] Improve the incompatible SDK version error screen (#24310)# Why We want to improve the incompatible SDK error screen in Expo Go, because we will be supporting only two SDK versions, so more people will see it. # How - The header is now descriptive instead of generic "Something went wrong" - Updated the message to provide more information - The message now contains a link to a docs page - On iOS it was created with attributed string and replacing the UILabel with UITextView - On Android we embed html hyperlink into the message and then render the text as HTML - Added update instructions into the docs page. Also added instructions on how to install an older version of Expo Go. # Test Plan Tested in Go on iOS 16 and Android SDK 33, 34 <img width="190" alt="image" src="https://github.com/expo/expo/assets/31368152/c79ec613-8f19-4aef-91d0-99c682124f31"> <img width="190" alt="image" src="https://github.com/expo/expo/assets/31368152/292d8fcd-5532-4ac9-828a-6d870c396040"> <img width="190" alt="image" src="https://github.com/expo/expo/assets/31368152/d94eff4e-0113-4cea-a5ee-64a9284fb254"> <img width="190" alt="image" src="https://github.com/expo/expo/assets/31368152/6c819e52-2cc5-4e6f-9614-0bb22427e61c"> --------- Co-authored-by: Brent Vatne <[email protected]>
show more ...
[android] Remove unnecessary version checks (#24203)# Why This PR is related to #24201, it removes unnecessary version checks # How Remove version check logic for SDK's < 23 # Test Pla
[android] Remove unnecessary version checks (#24203)# Why This PR is related to #24201, it removes unnecessary version checks # How Remove version check logic for SDK's < 23 # Test Plan Tested in Bare Expo in Android 13 simulator
[android] Drop Android SDK 21 and 22 support (#24201)# Why We are dropping Android SDK 21 and 22 support, we want to use this opportunity to also change the way minSdkVersion and other build.g
[android] Drop Android SDK 21 and 22 support (#24201)# Why We are dropping Android SDK 21 and 22 support, we want to use this opportunity to also change the way minSdkVersion and other build.gradle options which are the same across most of the modules are handled. Right now for each module minSdkVersion is read from the root project properties, if undefined it fallbacks to a default value which is defined on a per-module basis. In the new version we want the option to be configured from a gradle plugin so that it's not necessary to change the fallback value in ~70 files when changing the property. For now the SDK 49 compatibility checks increase amount of boilerplate in the , but with SDK 51 we will be able to remove them and ship modules with a lot less of it. # How Used the gradle plugin as a source of the minSdkVersion compileSdkVersion and targetSdkVersion settings. Settings are applied automatically with the plugin and can be overwritten in the build.gradle of the module. Along with these options lintOptions have been moved to the gradle plugin and two functions were created: useExpoPublising and useCoreDependencies both can be called after the plugin is applied to reduce some of the boilerplate. # Test Plan Tested in Bare Expo and Expo Go on Android SDK 33 and 34 (emulator)
[packages] fix react-native 0.73 compatibility [1/3] (#24018)# Why fix react-native 0.73 compatibility. these are for AGP 8 support - https://github.com/react-native-community/discussions-and-pr
[packages] fix react-native 0.73 compatibility [1/3] (#24018)# Why fix react-native 0.73 compatibility. these are for AGP 8 support - https://github.com/react-native-community/discussions-and-proposals/issues/671#issuecomment-1677632448 # How - [packages][bare-expo] set jvm version only if AGP < 8 - [av][dev-launcher] fix AGP 8 non transitive R issue - [dev-client][dev-launcher][dev-menu][core][notifications] fix AGP 8 non default buildConfig issue # Test Plan ci passed in #23961 (https://github.com/expo/expo/pull/23961/checks)
[home] Publish new prod home
[go] fix crashlytics gradle plugin build error (#23139)# Why building error for `./gradlew :app:assembleVersionedRelease` ``` FAILURE: Build failed with an exception. * What went wrong:
[go] fix crashlytics gradle plugin build error (#23139)# Why building error for `./gradlew :app:assembleVersionedRelease` ``` FAILURE: Build failed with an exception. * What went wrong: A problem was found with the configuration of task ':app:mergeVersionedReleaseNativeLibs' (type 'MergeNativeLibsTask'). - Gradle detected a problem with the following location: '/Users/kudo/01_Work/Repos/expo/expo/android/app/build/intermediates/merged_native_libs/versionedRelease/out'. Reason: Task ':app:injectCrashlyticsBuildIdsVersionedRelease' uses this output of task ':app:mergeVersionedReleaseNativeLibs' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':app:mergeVersionedReleaseNativeLibs' as an input of ':app:injectCrashlyticsBuildIdsVersionedRelease'. 2. Declare an explicit dependency on ':app:mergeVersionedReleaseNativeLibs' from ':app:injectCrashlyticsBuildIdsVersionedRelease' using Task#dependsOn. 3. Declare an explicit dependency on ':app:mergeVersionedReleaseNativeLibs' from ':app:injectCrashlyticsBuildIdsVersionedRelease' using Task#mustRunAfter. Please refer to https://docs.gradle.org/8.0.1/userguide/validation_problems.html#implicit_dependency for more details about this problem. ``` # How - upgrade crashlytics gradle plugin. this issue probably relate to this: https://github.com/firebase/firebase-android-sdk/issues/4682 - since this pr touches `android/build.gradle`, it will trigger ci for building versioned expo-go and suffered from the error of "no space left" on github ci. i've tried to address the problem by some changes: - only upload crashlytics on eas build - add a composite github action to cleanup github linux runner disk space # Test Plan - ci passed - `./gradlew :app:assembleVersionedRelease`
[home] Publish dev and prod home
[android] Bump Expo Go version
[go] add android sdk49 versioned code (#23110)# Why for sdk 49 # How - [go] add android sdk 49 versioned code - [tools] minor fix for android versioning # Test Plan ci passed
[Android] Remove SDK 46 (#22755)
Remove Amplitude from Expo Go (#22523)
Upgrade roboletric and junit versions to be consistent (#22395)# Why The bumping of robolectric to 4.10 means that we no longer need jetifier to translate old support library dependencies. #
Upgrade roboletric and junit versions to be consistent (#22395)# Why The bumping of robolectric to 4.10 means that we no longer need jetifier to translate old support library dependencies. # How * Updates `robolectric` to `4.10` and `junit` to `4.13.2` * Updates test dependencies in `expo-modules-test-core` to their latest versions * A minor change needed to be made to the `expo-clipboard` test because of changes to the way that robolectric handles decoding bitmaps for tests. # Test Plan Ensured [unit tests still pass](https://github.com/josephyanks/expo/actions/runs/4896200135/jobs/8742724860) Trying to verify end to end tests locally.
[go] integrate firebase crashlytics on android (#22036)# Why to have more information about the crashes than just from google play store. this pr tries to integrate firebase crashlytics with mor
[go] integrate firebase crashlytics on android (#22036)# Why to have more information about the crashes than just from google play store. this pr tries to integrate firebase crashlytics with more powerful features like ndk integration and custom logging. close ENG-1380 # How - integrate crashlytics with ndk support - log the loading experience manifest url - [tools] we need a further step `./gradlew :app:uploadCrashlyticsSymbolFileUnversionedRelease` for uploading ndk native symbols to crashlytics. we also integrate this into fastlane and expotools. this step may take longer time to process. from my environment, it takes about 30mins. # Test Plan manually triggering crash and see the crashlytics dashboard
[go] fix glide app module kapt issue for expo-image (#21355)# Why close ENG-7642 # How the kapt generated code for AppGlideModule should cover all versioned LibraryGlideModule. previously
[go] fix glide app module kapt issue for expo-image (#21355)# Why close ENG-7642 # How the kapt generated code for AppGlideModule should cover all versioned LibraryGlideModule. previously we put it inside **expoview**, so it includes the unversioned loaders only. this pr moves the AppGlideModule to **android/app**, so that kapt should able to generate modules from all versioned code. # Test Plan versioned expo go + https://github.com/brentvatne/expo-image-go-repro
[home] Update prod home
[home] Publish prod home
[ios][android] Once again bump versions
[ios][android] Bump versions [skip ci]
[android][tools] add sdk 48 versioned code (#21076)# Why add android sdk 48 versioned code # How - `et add-sdk -p android -s 48.0.0` - there is a big problem for versioning this time wher
[android][tools] add sdk 48 versioned code (#21076)# Why add android sdk 48 versioned code # How - `et add-sdk -p android -s 48.0.0` - there is a big problem for versioning this time where versioned aar size is from ~17MB to ~131MB because of prefab, so it's not able to commit to git. this pr proposes to upload versioned aar to github and having an `et android-download-versioned-aars` to download aars before gradle building. # Test Plan - sdk 48 android versioned expo go + sdk 48 ncl smoking test - ci passed
[Android] Bump `compileSdkVersion` and `targetSdkVersion` to 33 (#20721)# Why Bumps the compile and target SDK version to 33. # How Changed SDK version from 31 to 33. Version 32 is correl
[Android] Bump `compileSdkVersion` and `targetSdkVersion` to 33 (#20721)# Why Bumps the compile and target SDK version to 33. # How Changed SDK version from 31 to 33. Version 32 is correlated with Android 12l which improves user experience on tablets or foldable phones. It doesn't require any changes from us. The 33 is introducing a couple of things that we may want to address. Most of them are connected with permissions. Fixes for that will be applied in a separate PR. Apart from that, everything else seems to be working fine. Behavior changes: - https://developer.android.com/about/versions/13/behavior-changes-all - https://developer.android.com/about/versions/13/behavior-changes-13 # Test Plan - Expo go with NCL and test-suite - simulator with API 33 ✅ - simulator with API 31 ✅ - physical device with API 33 ✅ - physical device with API 31 ✅ - Bare expo - simulator with API 33 ✅ - simulator with API 31 ✅ - physical device with API 33 ✅ - physical device with API 31 ✅ - Dev-Client - simulator with API 33 ✅ - simulator with API 31 ✅ - physical device with API 33 ✅ - physical device with API 31 ✅
[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.
[android] Remove versioned code for SDK 45
[android] Bump Expo Go version [skip ci]
[android] Add react-native-svg proguard rulesRef: https://github.com/software-mansion/react-native-svg#problems-with-proguard
12345678910>>...28