@expo/ui
58.0.21 · 19 Oct 2026MIT3.5M / weekRepositoryHomepagenpmAtom feed
96 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
- 58.x · latest line
58.0.21
19 Oct 2026[iOS] Fix
List.ForEachwithdataand achildrenrender function. With recycling,Listignored themoveDisabledanddeleteDisabledmodifiers on a row. Withrecycling={false}, dragging a row did not reorder it or callonMove, andonDeletereceived the wrong index.[Web] Stop the community
SegmentedControlfrom logging theuseNativeDriverwarning when it mounts.
58.0.20
16 Oct 2026[iOS] Add an
alignmentprop to the SwiftUIHost. It sets where the content sits in the host when their sizes differ. AmatchContentshost anchored to the trailing edge of its row can now keep that edge still while its content animates to a new width.
58.0.19
16 Oct 2026Add
accessibilityLabel,accessibilityHint(iOS) andtestIDto the communitySlider. The drop-in dropped them, so VoiceOver and TalkBack announced a slider by its value alone and end-to-end tools could not find it. iOS applies them as SwiftUI accessibility modifiers, Android as thesemanticsandtestIDmodifiers, and web asaria-labelanddata-testid.[iOS] Stop shipping a precompiled iOS framework.
ArrangementViewandonHingeChangenow work on iOS 27.1 withoutbuildFromSourcewhen the app is built with Xcode 27.1 or later.
58.0.18
15 Oct 2026[iOS] Speed up app launch by naming the SwiftUI views without protocol conformance lookups.
Fix Android universal TextInput placeholders ignoring textStyle.
[iOS] Fix
FormandListsections in aHoststarting 20pt inside the large title beside the iPhone Duo's rail, where iOS drops its content margin. This works around a SwiftUI bug and applies only on an edge where the inset comes from a bar beside the content.
58.0.17
14 Oct 2026- deprecated
[Android] Bump Jetpack Compose UI and Foundation to 1.12.1 and Material3 to 1.5.0-beta01. Add
preferredItemWidthtoHorizontalCenteredHeroCarouseland deprecatemaxItemWidth, matching the Material3 rename. AddTimePickerElementColorsprops without theUnselectedinfix (for exampleclockDialContentColor) and deprecate the old names. [Android] Fix the universal
ListItemignoringtestID. The prop was never passed to Compose, so end-to-end tools such as Maestro could not find list rows on Android. It is now applied as thetestIDmodifier, like the universalButtonandCheckboxdo.
58.0.16
13 Oct 2026[Internal] Bump precompiled artifacts due to ABI breakage in expo-modules-jsi, which makes
JavaScriptValuea non-copyable struct.[iOS] Fix the community
BottomSheetclipping its content when the sheet is narrower than the window, as on iPhone Duo. When the sheet sized itself to its content, the content was pinned to the window width and centered in the sheet, so its leading edge was cut off. The content now takes its width from the sheet and its height from the content.presentationSizingtakes afittedoption ({ horizontal, vertical }) to fit a sheet to its content on one axis only.[Android] Fix an
RNHostViewthat ignores touches when a Compose button with a ripple in the sameHostwas pressed earlier. The ripple container that Compose adds was found first during React Native's touch-target search, so the touch went to theHostinstead of the hosted view.
Patch Changes
[Internal] Bump precompiled artifacts due to ABI breakage in expo-modules-jsi, which makes
JavaScriptValuea non-copyable struct.[iOS] Fix the community
BottomSheetclipping its content when the sheet is narrower than the window, as on iPhone Duo. When the sheet sized itself to its content, the content was pinned to the window width and centered in the sheet, so its leading edge was cut off. The content now takes its width from the sheet and its height from the content.presentationSizingtakes afittedoption ({ horizontal, vertical }) to fit a sheet to its content on one axis only.[Android] Fix an
RNHostViewthat ignores touches when a Compose button with a ripple in the sameHostwas pressed earlier. The ripple container that Compose adds was found first during React Native's touch-target search, so the touch went to theHostinstead of the hosted view.Fixed
measure()of views hosted inRNHostViewinside SwiftUI and Jetpack Compose containers.Added a development warning when a
Hostrenders directly inside anotherHostwithout anRNHostView. The universalBottomSheetno longer adds its ownHostwhen it renders inside one.[iOS] Fixed
measure()of views hosted inRNHostViewwhen SwiftUI insets theHost's content, for example by the safe area.[Android] Fix the community
MenuViewopening detached above its anchor near the bottom of the screen, and add apropertiesprop to the Jetpack ComposeDropdownMenu.[Android] Fix a numeric
width()modifier crashing the app on launch withFieldCastException: Cannot cast value for field 'width'since theIntrinsicSizesupport added in 57.0.22 / 58.0.9. JS numbers reach the modifier record asDouble, which matched neither branch ofEither<Int, IntrinsicSizeType>; the field is nowEither<Double, IntrinsicSizeType>, so numeric widths convert again andwidth(IntrinsicSize.Min|Max)keeps working.[iOS] Add
cornerRadiusandopacitytoChart'spieStyle. Pie slices could not have rounded corners, and their opacity was fixed at 0.8, so a chart drawn in solid colors always looked washed out. Both default to the previous behavior. Rounded corners let a single-slice donut work as a progress ring with rounded ends.
58.0.15
9 Oct 2026[iOS] Fix
ChartignoringlineStyle.widthon line charts. The line mark applied.lineStyletwice (once for the dash pattern, once for the width), and the first one wins, so lines always rendered at 1 pt. The width and the dash pattern are now set in oneStrokeStyle.[Android] Add
showTitleandshowHeadlineto the Jetpack ComposeDateTimePicker,DatePickerDialog,DateRangePicker, andDateRangePickerDialogto hide Material 3's title and headline. The communityDateTimePickerwithpresentation="inline"now hides both on Android, matching iOS. To keep the title and headline, useDateTimePickerfrom@expo/ui/jetpack-composeinstead.[Android] Fix a
Pressable(or any JS responder) being cancelled when aMaskedView, or any other component that renders aHost, is laid over it. Once React Native grants the JS responder, the responder's view intercepts the touch stream and sendsACTION_CANCELto its native children, including thatHost. TheHostreported this cancel as Compose claiming the gesture, which cancelled the press it belonged to. Holds longer than about 30 ms never firedonPress.
Patch Changes
[iOS] Fix
ChartignoringlineStyle.widthon line charts. The line mark applied.lineStyletwice (once for the dash pattern, once for the width), and the first one wins, so lines always rendered at 1 pt. The width and the dash pattern are now set in oneStrokeStyle.[Android] Add
showTitleandshowHeadlineto the Jetpack ComposeDateTimePicker,DatePickerDialog,DateRangePicker, andDateRangePickerDialogto hide Material 3's title and headline. The communityDateTimePickerwithpresentation="inline"now hides both on Android, matching iOS. To keep the title and headline, useDateTimePickerfrom@expo/ui/jetpack-composeinstead.[Android] Fix a
Pressable(or any JS responder) being cancelled when aMaskedView, or any other component that renders aHost, is laid over it. Once React Native grants the JS responder, the responder's view intercepts the touch stream and sendsACTION_CANCELto its native children, including thatHost. TheHostreported this cancel as Compose claiming the gesture, which cancelled the press it belonged to. Holds longer than about 30 ms never firedonPress.Fix iOS
Pickernot reporting a selection that equals the lastselectionprop when the user changes it again before the prop updates.[iOS] Add
searchableandsearchToolbarBehaviorSwiftUI modifiers.
58.0.14
6 Oct 2026[Android] Fix the community
DateTimePickerreadingvalueas a UTC day whileminimumDate/maximumDateuse the device-local day. In non-UTC timezones the picker could select and return the wrong day — one beforeminimumDate.value's local calendar day is now sent to Material3 as a UTC day, and the picked day is returned as a local date that keepsvalue's time of day.[Internal] Import React Native internals from
react-native/unstable-internals-do-not-use.
58.0.13
5 Oct 2026[iOS] Add
ArrangementViewcomponent andarrangementViewStyle,splitArrangementLayoutRatio,splitArrangementLayoutSize,splitArrangementFixedLayoutSize, andoverlayArrangementEdgemodifiers.[Android] Fix
TimePickerDialogignoringelementColors.containerColor.[iOS][tvOS] Fix the tvOS build failing to compile with
'inlineLarge' is unavailable in tvOSwhen@expo/uiis linked.ToolbarTitleDisplayMode.inlineLargeis unavailable on tvOS, but theinlineLargecase of thetoolbarTitleDisplayModemodifier was only gated behind an OS version check that listedtvOS 18.0, so it was compiled into the tvOS slice. It is now guarded by platform and returnsnilon tvOS. The same check also required iOS 18.0 / macOS 15.0, soinlineLargesilently fell back toautomaticon iOS 17 and macOS 14 even though it is available there; it now applies on those versions.
Patch Changes
[iOS] Add
ArrangementViewcomponent andarrangementViewStyle,splitArrangementLayoutRatio,splitArrangementLayoutSize,splitArrangementFixedLayoutSize, andoverlayArrangementEdgemodifiers.[Android] Fix
TimePickerDialogignoringelementColors.containerColor.[iOS][tvOS] Fix the tvOS build failing to compile with
'inlineLarge' is unavailable in tvOSwhen@expo/uiis linked.ToolbarTitleDisplayMode.inlineLargeis unavailable on tvOS, but theinlineLargecase of thetoolbarTitleDisplayModemodifier was only gated behind an OS version check that listedtvOS 18.0, so it was compiled into the tvOS slice. It is now guarded by platform and returnsnilon tvOS. The same check also required iOS 18.0 / macOS 15.0, soinlineLargesilently fell back toautomaticon iOS 17 and macOS 14 even though it is available there; it now applies on those versions.[iOS]
onHingeChangealso accepts a callback fromuseWorkletCallback, which runs on the UI thread to track the hinge angle without a JS-thread round trip.[iOS] Added the
onHingeChangemodifier, which reports the device hinge angle and status on iPhone Duo (iOS 27.1+).Added the
useWorkletCallbackhook, which wraps a worklet function so a modifier that accepts one can run it synchronously on the UI thread.
58.0.12
3 Oct 2026[iOS] Added the
smooth,snappy, andbouncyspring presets toAnimation. Like their SwiftUI counterparts, they take an optionaldurationandextraBounce.[iOS] Fixed
delay()andrepeat()modifying the animation they are called on. Chaining from a shared animation, such asAnimation.defaultor one stored in a constant, no longer changes that animation everywhere else it is used.[iOS] Added the
navigationBarTitleDisplayModeandtoolbarTitleDisplayModemodifiers for controlling navigation and toolbar title presentation.
58.0.11
1 Oct 2026[Android] Fix an intermittent
performMeasureAndLayout called during measure layoutcrash that tore down the ReactHost when aHostwithmatchContentswas measured while react-native-reanimated was active. TheonLayoutContentevent is now posted after the measure pass instead of emitted inside it.
58.0.10
1 Oct 2026[android] Fix
community/pickerPickernot updating its displayed label after a selection or aselectedValuechange.[web] Fix
ListItemalways showing a pointer cursor, even without anonPress, because React Native Web'sPressableapplies one unconditionally. AListItemwith noonPressnow shows the default cursor instead of misleadingly looking clickable.[iOS][Android]
RNHostViewmatchContentsaccepts{ horizontal, vertical }, so hosted content can take its width from the parent and its height from the content.
Patch Changes
[android] Fix
community/pickerPickernot updating its displayed label after a selection or aselectedValuechange.[web] Fix
ListItemalways showing a pointer cursor, even without anonPress, because React Native Web'sPressableapplies one unconditionally. AListItemwith noonPressnow shows the default cursor instead of misleadingly looking clickable.[iOS][Android]
RNHostViewmatchContentsaccepts{ horizontal, vertical }, so hosted content can take its width from the parent and its height from the content.[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.[iOS] Added the
preferredColorSchememodifier, which sets the color scheme of a presentation such asBottomSheet, including its background.
58.0.9
29 Sep 2026Force-bump all packages, due to migration to changesets.
[iOS] Added
LazyVStack.ForEachandLazyHStack.ForEach, which render rows fromdataandkeyExtractorwith achildrenfunction:{({ item, index }) => <Row item={item} />}. Rows are recycled from a small pool around the visible range, so large stacks only render the rows near the viewport. Setrecycling={false}to render every row.[android] Fix
Switchlabel rendering one letter per line inside aHostwithmatchContents.
Patch Changes
Force-bump all packages, due to migration to changesets.
[iOS] Added
LazyVStack.ForEachandLazyHStack.ForEach, which render rows fromdataandkeyExtractorwith achildrenfunction:{({ item, index }) => <Row item={item} />}. Rows are recycled from a small pool around the visible range, so large stacks only render the rows near the viewport. Setrecycling={false}to render every row.[android] Fix
Switchlabel rendering one letter per line inside aHostwithmatchContents.[android] Added
IntrinsicSizesupport to thewidthmodifier.
58.0.8
28 Sep 2026[iOS] Export the
FrameAlignmenttype for thealignmentparameter offrame().[Android] Add
contentDescriptionto thesemanticsmodifier, so TalkBack can announce a label other than the visible content.Added
get()andset()to the universalObservableStatetype and to the web implementation ofuseNativeState, as React Compiler-compliant alternatives to.value.
58.0.7
25 Sep 2026[iOS] Added
presentationCornerRadiusmodifier.[iOS] Fixed
onPresson universal components such asRowandColumnnot firing when tapping empty space, such as aSpacer.
58.0.6
23 Sep 2026- breaking
[iOS]
frame()now matches SwiftUI's twoframeoverloads, so one call accepts eitherwidth/heightormin*/ideal*/max*, not both. [iOS]
List.ForEachrecycles rows from a small pool around the visible range, so large lists only render the rows near the viewport. Deprecated element children in favor of this form.[Android] Added
LazyColumn.ItemsandLazyRow.Items, which render rows fromdataandkeyExtractorwith achildrenfunction:{({ item, index }) => <Row item={item} />}. Rows are recycled from a small pool around the visible range, so large lists only render the rows near the viewport. Setrecycling={false}to render every row.
58.0.5
22 Sep 2026[Android] Added the widget-only
cornerRadiusmodifier tojetpack-compose.[iOS] Fixed
<Host matchContents>centering its content, and so shifting it by half the height change for a frame, whenever the hosted view was not yet the size of its SwiftUI content.[Android] Cache Material 3 palettes generated from an explicit
schemeandseedColor, sogetMaterialColorsanduseMaterialColorsstop calling the synchronous native module on every render, andHoststops re-solving the same scheme on every recomposition.
58.0.4
21 Sep 2026[iOS] Added the SwiftUI
ToolbarItemcomponent withplacementandvisibilityPriority.[iOS] Added the
scrollEdgeEffectStylemodifier.[Android] Fixed
modifierspassed toRNHostViewbeing ignored.
58.0.3
16 Sep 2026[iOS] Added the SwiftUI
NavigationSplitViewcomponent, together with thenavigationSplitViewStyleandnavigationSplitViewColumnWidthmodifiers.
58.0.2
15 Sep 2026[macOS] Added minimal macOS support.
58.0.1
14 Sep 2026Update the native tabs import path in the
TabViewAPI reference.
58.0.0
10 Sep 2026- breaking
[iOS] Fix
<Host>centering its content instead of top-aligning it, so aflex: 1host matches Android's top-leading layout. - breaking
[iOS] Fix
HStack,VStackandGlassEffectContainercollapsing an unsetspacingto0instead of forwardingnilto SwiftUI, so they now use the system default spacing likeGrid,LazyHStackandLazyVStackalready do. Passspacing={0}explicitly to keep the previous layout. - breaking
[Android] Removed the
styleprop fromRNHostView. It set a React Native style on a view that Jetpack Compose positions and sizes; usemodifiersinstead. Hosted views are now measured where Compose drew them, so a style is no longer needed to keepmeasure()and the drawn position in agreement.
Breaking changes
- breaking
[iOS] Fix
<Host>centering its content instead of top-aligning it, so aflex: 1host matches Android's top-leading layout. - breaking
[iOS] Fix
HStack,VStackandGlassEffectContainercollapsing an unsetspacingto0instead of forwardingnilto SwiftUI, so they now use the system default spacing likeGrid,LazyHStackandLazyVStackalready do. Passspacing={0}explicitly to keep the previous layout. - breaking
[Android] Removed the
styleprop fromRNHostView. It set a React Native style on a view that Jetpack Compose positions and sizes; usemodifiersinstead. Hosted views are now measured where Compose drew them, so a style is no longer needed to keepmeasure()and the drawn position in agreement.
New features
[Android] Add
shadowElevationtoDropdownMenuto customize the popup shadow in dp.[Android] Added the
enabledandcolorsprops to the Jetpack ComposeRadioButtoncomponent.[Android] Added the Jetpack Compose
DateRangePickerandDateRangePickerDialogcomponents.[Android] Add
cornerRadiussupport to dropdown menu.[iOS] Added
'default'as a value for every edge of thepaddingmodifier, so a single edge can use the system default padding while the other edges use explicit lengths.[iOS] Added the
Backgroundcomponent, which draws any view behind another view with an optionalalignment, matching SwiftUI'sbackground(alignment:content:).[android] Added
maskClipmodifier, exposing Compose'sCarouselItemScope.maskClipso carousel items keep their shape while the carousel masks them.[iOS] Added
presentationBackgroundSwiftUI modifier and applied it incommunity/bottom-sheet.[iOS] Added
menuStyleandmenuIndicatorSwiftUI modifiers, which together withbuttonStyle('plain')keep aMenu's custom label as its entire trigger on Mac Catalyst.[iOS] Added an optional
kindargument to thecontentShapemodifier, so a shape can be applied to drag previews, context menu previews, hover effects, or accessibility instead of only hit-testing.[iOS] Added the
properties,anchorandisSourceparameters to thematchedGeometryEffectmodifier, matching SwiftUI's signature.[iOS] Added the
listRowSeparatorTintmodifier, so a list row separator can be recolored and not only shown or hidden.[iOS] Added the
alignmentGuidemodifier, so thelistRowSeparatorLeadingguide can set where a list row separator starts.[iOS] Added the
geometryGroupmodifier, so a view's subviews can resolve their geometry against it instead of an animating ancestor. Without it, aButtoninside a container with ananimationmodifier can draw its label away from its own background while the animation runs.[Android] Add a Jetpack Compose
Imagecomponent.[android] Add
shouldDismissOnBackPressprop to the universalBottomSheetcomponent, forwarding it toModalBottomSheetviaproperties.shouldDismissOnBackPress. When false, the back press does not dismiss the sheet (and the press still does not reach BackHandler).[universal] Added a
contentPaddingprop toBottomSheet, so sheet content can reach the sheet's edges instead of always sitting inside a hardcoded 16-unit inset.[android] Add
shouldDismissOnClickOutsideandscrimColorprops to the universalBottomSheetcomponent, forwarding them toModalBottomSheetviaproperties.shouldDismissOnClickOutsideandscrimColor.[android] Added the
amplitude,wavelengthandwaveSpeedprops toLinearWavyProgressIndicatorandCircularWavyProgressIndicator, so the Material 3 wave can be configured instead of always using the Compose defaults.[android] Added the Jetpack Compose
VerticalSlidercomponent with support for reversed direction and custom thumb and track slots.[universal] Added
containerColorandcontentColorprops toBottomSheet, and acolorsprop toListItem, so a sheet's chrome and its rows can be recolored to match an app's own theme instead of always using each platform's opaque default. Forwards to capabilities thejetpack-composeandswift-uilayers already expose (ModalBottomSheet.containerColor/contentColor,presentationBackground,ListItem.colors) without changing default behavior when omitted.[iOS] Added the
ShapeStyletype, shared by the modifiers that paint an area, and taughtforegroundStyleto accept materials (ultraThin,thin,regular,thick,ultraThickandbar).[iOS] Taught the
backgroundmodifier to paint with anyShapeStyle, so a view can be filled with a material, a gradient or a hierarchical style instead of only a color, and added theignoresSafeAreaEdgesoption from SwiftUI's signature. DeprecatedbackgroundOverlayin favor of thebackgroundmodifier and theBackgroundcomponent.[iOS] Taught the
presentationBackgroundmodifier to paint with anyShapeStyle, matching SwiftUI, so a sheet can be backed by a material, a gradient or a hierarchical style instead of only a color. iOS 26 renders a material as a flat color rather than a translucent blur.[iOS] Added the
scrollClipDisabledmodifier, which lets content that draws outside a scrollable view's bounds, such as a shadow or a scaled-up card, stay visible instead of being clipped.- deprecated
[iOS] Taught the
tint,border,strokeBorderandcontainerBackgroundmodifiers to paint with anyShapeStyle, matching SwiftUI, where all four take aShapeStylerather than a color. Thecolorparameter ofborderandstrokeBorderis deprecated in favor ofcontent, the name SwiftUI gives it. [iOS] Added the
NavigationStackandToolbarcomponents, thenavigationTitlemodifier, and theclosebutton role.[iOS] Added the
NavigationLinkcomponent, and thepathandonPathChangeprops and theNavigationDestinationcomponent, so a stack can push a destination that is built only when the link is followed.
Bug fixes
[Android] Fix hosted React Native content sliding off the top of a
BottomSheetwhen the keyboard opens.[Android] Fix
DatePickerDialogpreselecting today wheninitialDateis omitted, and keep its confirm button disabled while no date is selected soonDateSelectednever receives an invalid date.[Android][iOS] Fix
community/bottom-sheetcontent shrinking to its own width instead of filling the sheet when the sheet sizes to its content.[Android] Fixed a
Textor anIconwith no explicit color rendering black insideHost, which made it unreadable in the dark color scheme.Hostnow providesLocalContentColorfrom the color scheme.[iOS][Android] Fixed a
matchContentsRNHostViewinside amatchContentsHostgrowing the layout on every pass.[iOS] Fix modifier application rebuilding a fresh
AnyViewModifierevery body evaluation, which defeated AttributeGraph subtree pruning during scroll.[Android] Fix a drag that starts on a hosted
TextInputnot scrolling theScrollViewaround it. React Native's text input asks its ancestors not to intercept the gesture, then releases them one move later, and Jetpack Compose read that release as "Compose claimed the gesture" and cancelled the hosted subtree.RNHostViewno longer passes such a release on to Compose.[Android] Fix the system status bar and navigation bar turning light while a
BottomSheetorModalBottomSheetwith a custom dark background is open. A custom container color matches no color-scheme role, so the default content color fell back to black and Material3 themed the sheet window's system bars from it. The default content color is now derived from the container color's luminance, so it also contrasts with a custom background.[iOS] Fixed a crash when a focused
TextFieldorSecureFieldis unmounted inside a list row that is being removed, for example closing a modal with the keyboard up on a field nested inSwipeActions. Hosted text inputs now blur before React removes their native views.Fixed the keyboard staying open when tapping outside a text field hosted by
<Host>. A parentScrollView's tap-to-dismiss, itskeyboardShouldPersistTapssetting, andKeyboard.dismiss()now reach hosted text fields. React Native treats the whole<Host>as the input, so a tap on other content inside the same host still keeps the keyboard open.[Android] Fix the dev menu not opening with the menu key (Cmd+M) while a
BottomSheetis open. Material3 shows the sheet in its own dialog window, so key events did not reach the activity. The sheet now forwards them, as React Native'sModaldoes, unless a view in the sheet is accepting text.[iOS] Fix an empty
RNHostView(e.g. one hosting a hidden RNModal, which renders null untilvisibleis true) taking up space in SwiftUI containers — such as a spurious empty row in aFieldGroup/Formsection that shifts the other components. It now renders nothing until a child is mounted, which also lets the touch handler attach when the child mounts after the host appeared.[iOS] Fix
Togglerendering local state instead ofisOn, which leftcommunity/menucheckmarks out of sync and dropped every secondonPressAction.Toggleis now fully controlled: whenisOnis set, it only moves once JS updates the prop.[Android] Preserve vector drawable
fillTypevalues when loading images so even-odd paths render correctly.[universal] Fix
Cannot use shared object that was already releasedwhen a worklet callback prop closes over an unstable value.[universal] Add an explicit type annotation to
BottomSheetTextInputso its type doesn't depend on referencing React Native's internalTextInputType.[iOS] Fix
Sliderignoringvalueprop updates after the first drag.[iOS] Fix
community/bottom-sheetclose callbacks firing before the sheet finished dismissing.[iOS] Fix the
community/datetime-pickerfield collapsing to zero width — invisible and untappable — when its parent doesn't stretch it (e.g.alignItems: 'center').[iOS] Fixed viewport size measurement reading the main screen instead of the scene the view is in.
[iOS] Fixed
Overlay,Alert,ConfirmationDialogandPopoversilently ignoring themodifiersprop, which never reached the native view.[iOS] Fix a hosted
Pressabledropping its press when the finger moves, by measuring hosted React Native views where SwiftUI placed them.[iOS] Fix hosted React Native views receiving no touches inside a
BottomSheetorPopover.[Android] Fix touch handling for hosted React Native views: a
Pressabledropped its press when the finger moved, hosted content stole gestures from enclosing scrollables, a back gesture was reported as a long press, a press fired after a Jetpack Compose pager or scrollable had already claimed the gesture, and content insideAlertDialog,DropdownMenu,ExposedDropdownMenuandTooltipBoxreceived no touches at all. Hosted views are now measured where Jetpack Compose placed them, and dispatch their own touches only when presented in their own window.[Android] Fix a hosted
Pressablein aPagerViewignoring presses on pages after the first, where a re-parented host kept the bounds of the holder it left and answered for a screen area it no longer occupied.[iOS] Fix
ColorPickerreporting every color one value too low, becausecolorToHextruncated instead of rounding. Apps feed the reported value back intoselection, so the error compounded and each interaction moved all three channels down by one.[Android] Explicitly enable
buildFeatures.buildConfig, required by AGP 9.Fix
Hostcolor scheme type errors on React Native 0.87.[iOS] Fixed
PlatformColorandDynamicColorIOSvalues dropping thebackgroundColorandborderColorof a universal component. Both were stringified to"[object Object]", which the native color converter rejects, so the modifier was discarded without a trace.[iOS] Preserve string-based child identities in
Overlay,Background, andMask.
Others
[web] Replace unmaintained
vaulwith an in-house HTML<dialog>bottom sheet in community and universalBottomSheet.[Android] Change modifiers type and provide appContext.
[Android] Change
Textcolor props toColorValue.[Android] Expose
getMaterialColorTokensforexpo-widgets.
- 57.x
57.0.9 – 57.0.2517 releases without a noteShow each
- 57.0.2515 Oct 2026no note
- 57.0.2414 Oct 2026no note
- 57.0.2312 Oct 2026no note
- 57.0.226 Oct 2026no note
- 57.0.2129 Sep 2026no note
- 57.0.2024 Sep 2026no note
- 57.0.1918 Sep 2026no note
- 57.0.1811 Sep 2026no note
- 57.0.178 Sep 2026no note
- 57.0.164 Sep 2026no note
- 57.0.151 Sep 2026no note
- 57.0.1426 Aug 2026no note
- 57.0.1324 Aug 2026no note
- 57.0.1220 Aug 2026no note
- 57.0.1114 Aug 2026no note
- 57.0.1010 Aug 2026no note
- 57.0.94 Aug 2026no note
57.0.8
29 Jul 2026[iOS] Added an
anchorprop toBottomSheetto anchor the sheet to a view so opening it doesn't shift surrounding layout. (#48063 by @loganwishartcraig) (#48109 by @intergalacticspacehighway) (#48109 by @loganwishartcraig, @intergalacticspacehighway)[Android] Add a
colorSchemeprop to the communityMenuView.[iOS] Added the SwiftUI
menuOrdermodifier (automatic/fixed/priority) to control menu item ordering. With the defaultautomaticorder, menus that open upward display their items reversed.
New features
[iOS] Added an
anchorprop toBottomSheetto anchor the sheet to a view so opening it doesn't shift surrounding layout. (#48063 by @loganwishartcraig) (#48109 by @intergalacticspacehighway) (#48109 by @loganwishartcraig, @intergalacticspacehighway)[Android] Add a
colorSchemeprop to the communityMenuView.[iOS] Added the SwiftUI
menuOrdermodifier (automatic/fixed/priority) to control menu item ordering. With the defaultautomaticorder, menus that open upward display their items reversed.
Bug fixes
[iOS] Fix a
TextFieldselection crash when JavaScript replaces the text while the user types, by using the clamped selection binding on all OS versions and clearing the selection on external writes. (#48274 by @realZachi) (#48277 by @intergalacticspacehighway) (#48277 by @realZachi, @intergalacticspacehighway)[Android] Fix
Pressable(and other responder-based touchables) hosted inRNHostViewdropping presses on any finger movement. (#48131 by @BrianUribe6) (#48217 by @intergalacticspacehighway) (#48217 by @BrianUribe6, @intergalacticspacehighway)[iOS] Fix
community/masked-viewcontent being clipped after rotation because of window safe area insets.[Android] Fix unexpected resize when opening the calendar from spinner mode on Android.
[iOS] Fix
tvOSbuild failure in the SwiftUImenuOrdermodifier —MenuOrder.priorityis unavailable on tvOS, so it now falls back to.automaticthere.[iOS] Fix
community/menuMenuViewnot tinting a leaf actionButton's leading SF Symbol fromimageColor— it applied.foregroundColor(which the iOS system menu ignores for a button's content) where checkableToggleitems applied.tint; leaf buttons now use.tinttoo.
57.0.7
17 Jul 2026Reading the note…
57.0.6
15 Jul 2026Reading the note…
57.0.5
15 Jul 2026Reading the note…
57.0.4
7 Jul 2026Reading the note…
57.0.3
3 Jul 2026Reading the note…
57.0.2
1 Jul 2026Reading the note…
57.0.1
27 Jun 2026Reading the note…
57.0.0
25 Jun 2026Reading the note…
- 56.x
56.0.25 – 56.0.262 releases without a noteShow each
- 56.0.2617 Aug 2026no note
- 56.0.256 Aug 2026no note