Conversation
# Why This PR adds a new `showSignificantUpdateAcknowledgementAsync` and `getRequiredRegulatoryFeaturesAsync` functions to the expo-age-range module # How - Added `showSignificantUpdateAcknowledgementAsync` and `getRequiredRegulatoryFeaturesAsync` functions to the AgeRange module that display a system-provided interface for users to acknowledge significant app updates, and required regulatory features, respectively. iOS 26.4+ only. - Added new buttons to the AgeRange screen to test the functionality # Test Plan - bare expo on device # Checklist - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
…ge focus (#46235) # Why <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan <!-- 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. --> - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
@expo/ui@56.0.14 expo-widgets@56.0.15 expo-updates@56.0.17 expo-router@56.2.7 expo-network-addons@56.0.5 expo-modules-autolinking@56.0.13 expo-observe@56.0.16 expo-modules-core@56.0.13 expo-module-template@56.0.11 expo-linking@56.0.12 expo-dev-launcher@56.0.16 expo-crypto@56.0.4 expo-build-properties@56.0.15 expo-background-task@56.0.15 expo-auth-session@56.0.12 expo-brownfield@56.0.15 expo-audio@56.0.11 expo@56.0.5 expo-age-range@56.0.5 @expo/prebuild-config@56.0.13 @expo/router-server@56.0.12 @expo/metro-config@56.0.13 @expo/local-build-cache-provider@56.0.8 @expo/fingerprint@0.19.3 @expo/inline-modules@0.0.10 expo-template-tabs@56.0.19 expo-template-default@56.0.19 expo-template-blank-typescript@56.0.19 expo-template-blank@56.0.19 expo-template-bare-minimum@56.0.19 @expo/metro-runtime@56.0.13 @expo/cli@56.1.12 expo-asset@56.0.15 expo-constants@56.0.16 expo-task-manager@56.0.15 expo-app-metrics@56.0.14 expo-dev-menu@56.0.15 patch-project@56.0.16 expo-background-fetch@56.0.15 expo-sharing@56.0.14 expo-processing@56.0.14 expo-notifications@56.0.14 expo-location@56.0.14 expo-insights@56.0.14 expo-image-manipulator@56.0.15 expo-image-picker@56.0.14 expo-dev-client@56.0.16
patch-project@56.0.16 expo-widgets@56.0.15 expo-updates@56.0.17 @expo/ui@56.0.14 expo-task-manager@56.0.15 expo-standard-web-crypto@56.0.3 expo-sharing@56.0.14 expo-processing@56.0.14 expo-observe@56.0.16 expo-router@56.2.7 expo-notifications@56.0.14 expo-network-addons@56.0.5 expo-module-template@56.0.11 expo-modules-autolinking@56.0.13 expo-modules-core@56.0.13 expo-location@56.0.14 expo-linking@56.0.12 expo-insights@56.0.14 expo-image-picker@56.0.14 expo-image-manipulator@56.0.15 expo-dev-menu@56.0.15 expo-dev-launcher@56.0.16 expo-crypto@56.0.4 expo-dev-client@56.0.16 expo-constants@56.0.16 expo-build-properties@56.0.15 expo-brownfield@56.0.15 expo-background-task@56.0.15 expo-background-fetch@56.0.15 expo-auth-session@56.0.12 expo-audio@56.0.11 expo-app-metrics@56.0.14 expo-asset@56.0.15 expo@56.0.5 expo-age-range@56.0.5 @expo/router-server@56.0.12 @expo/prebuild-config@56.0.13 @expo/metro-runtime@56.0.13 @expo/metro-config@56.0.13 @expo/local-build-cache-provider@56.0.8 @expo/inline-modules@0.0.10 @expo/fingerprint@0.19.3 @expo/cli@56.1.12 expo-template-tabs@56.0.19 expo-template-default@56.0.19 expo-template-blank-typescript@56.0.19 expo-template-blank@56.0.19 expo-template-bare-minimum@56.0.19 babel-preset-expo@56.0.13
# Why <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan <!-- 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. --> - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
create-expo-module@56.0.3
…ds installations (#43605) ## Summary When a project manages CocoaPods via Bundler (i.e., has a `Gemfile` that lists `cocoapods` as a dependency), `pod-install` currently fails to detect it and only looks for a globally installed `pod` CLI. This causes "pod not found" errors for projects using `bundle install` to manage their Ruby dependencies. This PR adds Bundler detection to `pod-install` and `CocoaPodsPackageManager`: - **`isUsingBundlerAsync(projectRoot)`** — walks up from the project root looking for a `Gemfile` that contains `cocoapods`, then verifies `bundle exec pod --version` works - **`useBundler` constructor option** — when set, all pod commands (`install`, `update`, `--version`) run via `bundle exec pod` instead of bare `pod` - **`pod-install` CLI** — automatically detects Bundler and passes `useBundler` through to the package manager ### Changes - `packages/@expo/package-manager/src/ios/CocoaPodsPackageManager.ts` — add `isUsingBundlerAsync()`, `findGemfile()`, `useBundler` support in constructor, `_runAsync`, `versionAsync`, `isCLIInstalledAsync` - `packages/pod-install/src/index.ts` — detect Bundler before CLI check, pass `useBundler` to manager - `packages/@expo/package-manager/src/ios/__tests__/CocoaPodsPackageManager-test.ts` — tests for Bundler detection and Bundler-mode execution ## Test plan - [x] Added unit tests for `isUsingBundlerAsync` (no Gemfile, Gemfile without cocoapods, Gemfile with cocoapods but bundle fails, Gemfile with cocoapods and bundle succeeds) - [x] Added unit tests for Bundler-mode `versionAsync` and `isCLIInstalledAsync` - [x] Added unit test for Bundler-mode `installAsync` - [ ] Manual: create a project with `Gemfile` containing `gem 'cocoapods'`, run `bundle install`, then `npx pod-install` — should see "Using Bundler to run CocoaPods" and use `bundle exec pod install` Fixes #34949 --------- Co-authored-by: Phil Pluckthun <phil@kitten.sh>
…es and platform tag `AudioAttributes` (#46255)
…TextInput, Picker) (#46258) # Why The web implementations of the `expo-ui` universal components were minimal placeholders: hardcoded blue colors, no focus styles, no hover/pressed states worth speaking of, and inconsistent styling between components. This PR brings them closer in polish to the native SwiftUI / Jetpack Compose versions so apps using `Host` on web get something usable out of the box. # How - Added `webUtils.ts` with shared design tokens (colors, durations, easings, shadows), a `css` tagged template helper, and a `createWebComponent` wrapper around `unstable_createElement` that types the resulting component as a regular React Native element (accepting `style`, `dataSet`, `testID`, etc.). - Light and dark themes are exposed as CSS variables on `:root`, with `prefers-color-scheme` handling the switch. `Host` injects this global stylesheet once via React 19's `<style precedence>`. - Added a small OKLCH-based color scale generator so a single seed color produces a coherent 50 to 900 primary scale. `Host` currently seeds it with `#007aff` (the `colorScheme` and `seedColor` props are wired up but the scale generation from `seedColor` is left as a TODO). - Added a `useFocusVisible` hook that mirrors the browser's `:focus-visible` heuristic, since `Pressable` doesn't expose it. Used by every interactive component to render a focus ring only on keyboard navigation. - Rewrote `Button`, `Checkbox`, `Switch`, `TextInput`, `Picker`, and `Slider` to use the shared tokens, with proper hover / pressed / focused / disabled states and smooth transitions. `Checkbox` and `Switch` now render a visually hidden native `<input>` for accessibility while keeping the styled visual on top. - Extended the local `react-native-web.d.ts` declarations to cover `dataSet`, animation / transition style properties, `whiteSpace`, and `appearance`. # Test Plan - Open the `expo-ui` example app on web and exercise each component (Button, Checkbox, Switch, TextInput, Picker, Slider) inside a `Host`. - Toggle the OS color scheme and confirm the components follow it. - Tab through the page and confirm the focus ring only appears on keyboard focus, not on mouse clicks. - Verify disabled states and `onValueChange` / `onPress` callbacks still fire as expected. # Checklist - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) # Screenshots <img width="250" height="445" src="https://github.com/user-attachments/assets/372bab80-c42f-471b-9fa9-4ba26997a908" /> <img width="250" height="445" src="https://github.com/user-attachments/assets/1b145e63-939a-44c1-a9d9-877871f56372" /> <img width="250" height="445" src="https://github.com/user-attachments/assets/d87cde17-3a0e-4b54-8a0d-2489bddc322c" /> <img width="250" height="445" src="https://github.com/user-attachments/assets/98339564-9f4c-479d-800f-a42b7583ed35" /> <img width="250" height="445" src="https://github.com/user-attachments/assets/f15d97cc-9e94-47d8-987f-862a7e85dff4" /> <img width="250" height="445" src="https://github.com/user-attachments/assets/b4424a9f-07df-4a65-82d9-508d3dbeb2c5" />
# Why Widgets on Android needs it's own bundle. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How Register a gradle task that wil generate the bundle in the `expo-widgets/res` directory.  <!-- How did you build this feature or fix this bug and why? --> # Test Plan Build Android with expo-widgets and inspect in Android Studio. <!-- 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. --> - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [x] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )