What expo/expo shipped
Written by FoxPlug from the repository's own releases; not affiliated with Expo. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/expo/expo; Expo did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of October 5, 2026
What shipped
- Web exports can opt in to a BitSet chunking strategy so async routes no longer share one common chunk. Pull request #50536
- A JavaScriptCallback was added so JS functions can be kept and called from any thread. Pull request #51037
- Fixed Android modules not receiving OnCreate when the JSI NativeModulesProxy is reached first. Pull request #51310
- Fixed the community BottomSheet clipping its content on iPhone Duo. Pull request #51319
- Chart pieStyle now accepts cornerRadius and opacity on iOS. Pull request #51351
- Fixed Chart ignoring lineStyle.width on iOS line charts so lines respect the given width. Pull request #51283
- Fixed RNHostView ignoring taps after a ripple in the same Host on Android. Pull request #51237
- Fixed the numeric width() modifier crashing the app on Android since the IntrinsicSize change. Pull request #51322
- Added showTitle and showHeadline options to Android date pickers. Pull request #51274
- Fixed digest() rejecting ArrayBuffer and DataView input on Android and iOS. Pull request #51136
Why it matters
This week brings fixes across charts, bottom sheets, taps, date pickers and crypto digests, plus an opt-in web chunking strategy that changes how async routes split shared code. Android also gets two module lifecycle fixes, one for OnCreate and one for installModules waiting on an active ReactInstance.
Changelog entry
- Add opt-in BitSet chunking for web exports with async routes. Pull request #50536
- Add JavaScriptCallback to keep JS functions and call them from any thread. Pull request #51037
- Fix Android modules not receiving OnCreate when the JSI NativeModulesProxy is reached first. Pull request #51310
- Warn on Android when installModules() gives up waiting for an active ReactInstance. Pull request #49801
- Fix community BottomSheet clipping its content on iPhone Duo. Pull request #51319
- Add cornerRadius and opacity to Chart pieStyle on iOS. Pull request #51351
- Fix Chart ignoring lineStyle.width on iOS line charts. Pull request #51283
- Fix RNHostView ignoring taps after a ripple in the same Host on Android. Pull request #51237
- Fix numeric width() modifier crashing the app on Android. Pull request #51322
- Add showTitle and showHeadline to Android date pickers. Pull request #51274
- Fix digest() rejecting ArrayBuffer and DataView input. Pull request #51136
- Fix PYTHONNOUSERSITE typo so it is blocked from.env files. Pull request #51321
Web exports can opt in to BitSet chunking. Android modules no longer miss OnCreate. Charts on iOS respect line width and pie style options. digest() accepts ArrayBuffer and DataView. BottomSheet and RNHostView tap issues fixed.
This week in Expo: web exports can opt in to a BitSet chunking strategy so async routes stop sharing one common chunk. On Android, modules no longer miss OnCreate when the JSI NativeModulesProxy is reached first, and installModules now warns instead of falling through silently. iOS charts respect lineStyle.width, pieStyle accepts cornerRadius and opacity, and the community BottomSheet no longer clips content on iPhone Duo. RNHostView taps after a ripple are fixed on Android, numeric width() no longer crashes, date pickers gained showTitle and showHeadline, and digest() accepts ArrayBuffer and DataView.
Week of September 28, 2026
What shipped
- Fixed tvOS compilation failure in expo-ui by handling unavailable ToolbarTitleDisplayMode.inlineLarge. Pull request #51007
- Bumped Expo Modules v2 to 0.2.4 on Android. Pull request #51036
- Optimized iOS JSI by looking up Object.defineProperty once per runtime instead of per shared object, reducing overhead from ~2,100ns to ~150ns. Pull request #51004
- Migrated sqlite iOS native statement methods to use typed @Union values instead of free-form Any. Pull request #50894
- Fixed SharedObject.release() throwing on frozen shared objects in development. Pull request #50970
- Added smooth, snappy, and bouncy animation presets to expo-ui on iOS. Pull request #50984
- Optimized iOS JSI argument decoding to borrow values by default instead of copying, reducing heap allocations. Pull request #50960
- Upgraded jest to 30.0.0 across the workspace and added jest@^30 as peer dependency for jest-expo. Pull request #50427
- Fixed platform-specific route parsing for catch-all routes like [...]slug.web.tsx in expo-router. Pull request #49035
- Fixed delay() and repeat() animation methods in expo-ui iOS from mutating the original animation. Pull request #50927
Why it matters
This week includes iOS JSI performance optimizations that reduce memory allocations and overhead, fixes for animation and routing edge cases, Jest 30 upgrades across the workspace, and improvements to type safety in sqlite bindings. These changes address both developer experience issues and runtime performance for iOS apps.
Changelog entry
- Expo-ui tvOS: Fixed compilation failure with unavailable ToolbarTitleDisplayMode.inlineLarge Pull request #51007
- Expo-modules-core Android: Bumped to 0.2.4 Pull request #51036
- Expo-modules-core iOS JSI: Optimized Object.defineProperty lookup to once per runtime Pull request #51004
- Expo-sqlite iOS: Migrated native statement methods to typed @Union values Pull request #50894
- Expo-modules-core iOS: Fixed SharedObject.release() on frozen objects Pull request #50970
- Expo-ui iOS: Added smooth, snappy, and bouncy animation presets Pull request #50984
- Expo-modules-core iOS JSI: Optimized argument decoding to borrow values by default Pull request #50960
- Jest-expo: Upgraded to Jest 30.0.0 and added jest@^30 as peer dependency Pull request #50427
- Expo-router: Fixed platform-specific catch-all route parsing Pull request #49035
- Expo-ui iOS: Fixed delay() and repeat() methods from mutating original animation Pull request #50927
This week: iOS JSI optimizations cutting overhead 93%, animation fixes, Jest 30 upgrade, sqlite type safety improvements, and platform-specific route parsing fixes.
Expo shipping this week includes significant iOS JSI performance improvements—reducing Object.defineProperty overhead from ~2,100ns to ~150ns by looking it up once per runtime. We've also fixed animation mutations, added bouncy/snappy animation presets, upgraded to Jest 30, improved sqlite type safety, and fixed platform-specific route parsing. These updates enhance both runtime performance and developer experience across iOS, Android, and routing.
Week of September 21, 2026
What shipped
- IOS autolinking now publishes sourceOnly, deployment floor, SwiftPM dependencies and autolinkWhen in prebuilt-metadata to support React Native's SwiftPM preview. Pull request #50546
- Build-equivalence harness and manifest collateral gate added to prevent silent differences when converting Expo packages from build-time target layouts to checked-in Package.swift. Pull request #50416
- Build tool now derives SwiftPM products from checked-in Package.swift instead of generated staging trees. Pull request #50417
- Android core now rebuilds from source when prebuilt.so files are out of date, instead of ignoring C++ source changes. Pull request #50656
- React Native upgraded to 0.88.0-rc.2 across the monorepo. Pull request #50612
- IOS font registration now preserves aliases after OTA reload when duplicate font names are encountered. Pull request #50561
- Android image module fixed native crashes that occurred with certain animated GIFs. Pull request #49533
- Android media-library Album.create now uses original file names instead of full file paths when copying assets. Pull request #50621
- Config plugins now match the generated end marker correctly in files with CRLF line endings. Pull request #50381
- Core event subscriptions now properly release held listeners and emitters when removed. Pull request #50603
Why it matters
This week included significant infrastructure improvements for iOS SwiftPM support and Android native library building, alongside fixes for font handling, image rendering, media library file naming, and event subscription memory management. React Native was upgraded to 0.88.0-rc.2. Documentation and tooling were enhanced across CI workflows, Vale linting rules, and EAS Simulator references.
Changelog entry
- IOS autolinking publishes sourceOnly, deployment floor, SwiftPM dependencies and autolinkWhen in prebuilt-metadata Pull request #50546
- Build-equivalence harness and manifest collateral gate added to prevent silent differences during package conversions Pull request #50416
- Build tool now derives SwiftPM products from checked-in Package.swift Pull request #50417
- Android core rebuilds from source when prebuilt.so files are out of date Pull request #50656
- IOS font registration preserves aliases after OTA reload when duplicate font names occur Pull request #50561
- Android image module fixed native crashes with certain animated GIFs Pull request #49533
- React Native upgraded to 0.88.0-rc.2 Pull request #50612
- Config plugins now handle generated markers correctly in CRLF line ending files Pull request #50381
- Android media-library Album.create uses original file names instead of full paths when copying assets Pull request #50621
- Core event subscriptions properly release held listeners and emitters when removed Pull request #50603
This week: iOS SwiftPM autolinking improvements, Android native rebuild when sources change, React Native 0.88.0-rc.2, font alias preservation on reload, GIF crash fixes, and media library file naming correction.
Expo shipped infrastructure improvements for SwiftPM support on iOS and smarter native rebuilds on Android. We upgraded React Native to 0.88.0-rc.2 and fixed several issues: font alias preservation during OTA reload, native crashes with certain animated GIFs, media library file naming, and event subscription memory leaks. Documentation workflows and linting also improved.