expo-widgets
58.0.21 · 19 Oct 2026MIT322k / weekRepositoryHomepagenpmAtom feed
99 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
- 58.x · latest line
58.0.21
19 Oct 2026Only updates a dependency:@expo/ui 58.0.21
58.0.20
16 Oct 2026Fix Android apps crashing at launch with
constructor cannot be nullwhen they use expo-widgets. TheCustomNotificationclass now has a constructor that throws, because instances only come fromCustomNotificationFactory.Fix the Android build failing with
Unresolved reference 'jakex7'. Custom notifications now import theio.github.expo.peekpackages that thepeek-emittablesdependency provides.[Android] Fix the layout registry script exiting without output when the package path contains a symlink, for example in a pnpm install.
Patch Changes
Fix Android apps crashing at launch with
constructor cannot be nullwhen they use expo-widgets. TheCustomNotificationclass now has a constructor that throws, because instances only come fromCustomNotificationFactory.Fix the Android build failing with
Unresolved reference 'jakex7'. Custom notifications now import theio.github.expo.peekpackages that thepeek-emittablesdependency provides.[Android] Fix the layout registry script exiting without output when the package path contains a symlink, for example in a pnpm install.
58.0.18 – 58.0.192 releases that only update dependencies@expo/ui 58.0.19Show each
- 58.0.1916 Oct 2026@expo/ui 58.0.19
- 58.0.1815 Oct 2026@expo/ui 58.0.18
58.0.17
14 Oct 2026[Android] Add custom notifications.
[iOS] Rebuild the widgets JS bundle on every Xcode build so JS changes are picked up without a clean build.
Patch Changes
[Android] Add custom notifications.
[iOS] Rebuild the widgets JS bundle on every Xcode build so JS changes are picked up without a clean build.
58.0.16
13 Oct 2026[Android] Fix
generateExpoWidgetsLayoutRegistryfailing on Windows withRangeError: Maximum call stack size exceededwhen a widget setsinitialLayout. Absolute Windows paths (D:\...) are now resolved as files instead of being stubbed as empty modules.[Android] Fix minified release builds crashing on launch with
Failed to create an instance of class androidx.work.impl.WorkDatabase.canonicalName. R8 stripped the no-arg constructor of WorkManager's Room database, which WorkManager creates by reflection;expo-widgetsnow ships consumer keep rules for it and for WorkManager's input mergers.[iOS] Show an empty widget, instead of an error, before the app has been launched. The widget layout is stored when the app first runs
createWidget(), so a freshly installed or updated app that hasn't been opened yet has no layout. Widgets in this state, including previews in the widget gallery, rendered the "No layout found" red box. Because that view has no container background, iOS 17+ replaced it with the system's "Please adopt containerBackground API" placeholder. They now render an empty view with the system's tertiary fill until the app runs.
Patch Changes
[Android] Fix
generateExpoWidgetsLayoutRegistryfailing on Windows withRangeError: Maximum call stack size exceededwhen a widget setsinitialLayout. Absolute Windows paths (D:\...) are now resolved as files instead of being stubbed as empty modules.[Android] Fix minified release builds crashing on launch with
Failed to create an instance of class androidx.work.impl.WorkDatabase.canonicalName. R8 stripped the no-arg constructor of WorkManager's Room database, which WorkManager creates by reflection;expo-widgetsnow ships consumer keep rules for it and for WorkManager's input mergers.[iOS] Show an empty widget, instead of an error, before the app has been launched. The widget layout is stored when the app first runs
createWidget(), so a freshly installed or updated app that hasn't been opened yet has no layout. Widgets in this state, including previews in the widget gallery, rendered the "No layout found" red box. Because that view has no container background, iOS 17+ replaced it with the system's "Please adopt containerBackground API" placeholder. They now render an empty view with the system's tertiary fill until the app runs.[iOS] Fix widget layout errors being hidden behind the system's "Please adopt containerBackground API" placeholder on iOS 17+. The red box shown when a widget's layout fails to evaluate now declares a container background, so its error message is visible.
[Android] Fix a release build failing
checkReleaseDuplicateClasseswhen another dependency brings WorkManager 2.8 or newer, by pinningwork-runtime-ktxforward from the 2.7.1 that Glance requests.
58.0.12 – 58.0.154 releases that only update dependencies@expo/ui 58.0.15Show each
- 58.0.159 Oct 2026@expo/ui 58.0.15
- 58.0.146 Oct 2026@expo/ui 58.0.14
- 58.0.135 Oct 2026@expo/ui 58.0.13
- 58.0.123 Oct 2026@expo/ui 58.0.12
58.0.11
1 Oct 2026[Android] Fix update during active Glance sessions.
Patch Changes
[Android] Fix update during active Glance sessions.
58.0.10
1 Oct 2026Add React hook and component helper stubs to prevent missing API errors when rendering widgets, including
memoandforwardRef.[iOS] Stop linking WidgetKit into apps that use
@expo/uiwithout widgets. ThewidgetURL,activityBackgroundTint,widgetAccentedRenderingMode, andcontainerBackground(widgetplacement) modifiers and theAccessoryWidgetBackgroundview now take effect only insideexpo-widgetswidgets and Live Activities.
Patch Changes
Add React hook and component helper stubs to prevent missing API errors when rendering widgets, including
memoandforwardRef.[iOS] Stop linking WidgetKit into apps that use
@expo/uiwithout widgets. ThewidgetURL,activityBackgroundTint,widgetAccentedRenderingMode, andcontainerBackground(widgetplacement) modifiers and theAccessoryWidgetBackgroundview now take effect only insideexpo-widgetswidgets and Live Activities.
58.0.9
29 Sep 2026Force-bump all packages, due to migration to changesets.
Patch Changes
Force-bump all packages, due to migration to changesets.
58.0.8
28 Sep 2026This version does not introduce any user-facing changes.
58.0.7
25 Sep 2026[iOS] Fix
with-node.shignoring the app'sNODE_BINARYand.xcode.envwhen building without CocoaPods.
58.0.6
23 Sep 2026This version does not introduce any user-facing changes.
58.0.5
22 Sep 2026[Android] Added support for the
cornerRadiusmodifier.
58.0.4
21 Sep 2026This version does not introduce any user-facing changes.
58.0.3
16 Sep 2026This version does not introduce any user-facing changes.
58.0.2
15 Sep 2026[Android] Add support for the
Imagecomponent.
58.0.1
14 Sep 2026[iOS] Add support for
Overlay,Background, andMaskin widgets and Live Activities.[iOS] Preserve SwiftUI view identity across widget and Live Activity updates so system update animations can run.
[Android] Fix Gradle build failure when no Android widget is configured.
New features
[iOS] Add support for
Overlay,Background, andMaskin widgets and Live Activities.
Bug fixes
[iOS] Preserve SwiftUI view identity across widget and Live Activity updates so system update animations can run.
[Android] Fix Gradle build failure when no Android widget is configured.
Others
Upgrade React Native to 0.88.0-rc.0
58.0.0
10 Sep 2026- breaking
Handle undefined props instead fallback to empty object.
[iOS] Expose stable ActivityKit identifiers on Live Activity instances.
[Android] Create a JS bundle for widgets.
Breaking changes
- breaking
Handle undefined props instead fallback to empty object.
New features
[iOS] Expose stable ActivityKit identifiers on Live Activity instances.
[Android] Create a JS bundle for widgets.
[iOS] Expose ActivityKit's
staleDateonLiveActivity.start()andLiveActivity.update().Add an initial layout registry for widgets.
Add
initialPropsto widgets layout registry.[Android] Add Hermes runtime.
[Android] Basic Android components.
[Android] Implement widgets.
[Android] Support interactions.
[iOS][plugin] Fix extension
CFBundleVersionsync.[iOS] Changing widget configuration at runtime.
[Android] Refactor to Peek emittables.
[Android] Support Material Colors inside widgets.
[iOS] Expose ActivityKit's
isStaleonLiveActivityEnvironment.
Bug fixes
[iOS] Localize widget gallery names and descriptions using the app's
Localizable.stringsfiles.[iOS] Fix widget and Live Activity
Textmodifiers being applied twice.Resolve deep
react-native/*imports as empty modules when bundling widget layouts, fixing every widget failing with "Could not create context for layout evaluation" after@expo/ui57.0.14 introduced such an import.[iOS] Fix XCFramework precompilation failing on the unguarded
ActivityViewContextparameter ofgetLiveActivityEnvironment, which requires iOS 16.1.[iOS] Quote script-phase paths so iOS builds work from a project path containing a space.
[iOS] Fix
LiveActivityFactory.getInstances()returning live activities that belong to other factories or that have already ended.[iOS] Deliver the Live Activity
start()URL to the Lock Screen banner, and scope it to the activity that set it instead of storing it globally per factory name.[Android] Add 16KB page size support.
Make deprecated root-level widget config fields optional.
[iOS][plugin] Only add the
aps-environmententitlement whenenablePushNotificationsis enabled, and keep a pre-existing value.[Android] Fix modifiers type cast.
Fix blank widget when JSX children mix a
.map()array with sibling elements.[iOS] Restore push token observation when retrieving existing Live Activities.
[iOS] Resolve autolinking relative to expo.
Others
[iOS] Remove availability check for iOS 16.
[Android] Migrate to Peek 0.2.0
- 57.x
57.0.8 – 57.0.2619 releases without a noteShow each
- 57.0.2615 Oct 2026no note
- 57.0.2514 Oct 2026no note
- 57.0.2412 Oct 2026no note
- 57.0.236 Oct 2026no note
- 57.0.2229 Sep 2026no note
- 57.0.2124 Sep 2026no note
- 57.0.2018 Sep 2026no note
- 57.0.1911 Sep 2026no note
- 57.0.188 Sep 2026no note
- 57.0.174 Sep 2026no note
- 57.0.161 Sep 2026no note
- 57.0.1528 Aug 2026no note
- 57.0.1428 Aug 2026no note
- 57.0.1326 Aug 2026no note
- 57.0.1224 Aug 2026no note
- 57.0.1120 Aug 2026no note
- 57.0.1014 Aug 2026no note
- 57.0.910 Aug 2026no note
- 57.0.84 Aug 2026no note
57.0.7
29 Jul 2026This version does not introduce any user-facing changes.
57.0.6
17 Jul 2026Reading the note…
57.0.5
15 Jul 2026Reading the note…
57.0.4
15 Jul 2026Reading the note…
57.0.3
7 Jul 2026Reading the note…
57.0.2
3 Jul 2026Reading the note…
57.0.1
27 Jun 2026Reading the note…
57.0.0
25 Jun 2026Reading the note…
- 56.x
56.0.27
17 Aug 2026