Siri Swears the PR Is Reviewed
Good evening, Master Wayne.
I've read the changelog, so you needn't.
Expo SDK 58 arrived on October 15, announced by Alan Hughes and Brent Vatne.
And for once, sir, the headline is not a fresh way to break your Podfile.
So what happened to the Simulator?
Xcode 27 has retired Simulator.app, and the new expo-device-hub plugin turns your browser into a device dashboard instead.
It streams your iOS simulators and Android emulators, and you can tap, swipe and type straight into them.
Next to them sit live CPU, memory and network graphs, a bit like the screens in the Batcave.
Here it is running an iPhone 17 Pro Max simulator, courtesy of Nathan Schroeder (@nater02).

To try it, run npx expo install expo-device-hub, then npx expo start, and the link will be waiting in your terminal.
Can Siri finally talk to our apps?
The household has a new member of staff, sir.
The alpha package expo-app-intents lets Siri, Shortcuts and Spotlight trigger actions in your app.
App Intents (Apple's way of describing what your app can do) still have to be declared in Swift.
Expo queues every request for your JavaScript, so Siri can take an order even when your app is closed.
import * as AppIntents from 'expo-app-intents'; export function AppIntentHandler() { AppIntents.useAppIntents(async (pendingIntents) => { for (const invocation of pendingIntents) { // Siri may have queued this while the app was closed console.log(invocation.name, invocation.params); await AppIntents.removePendingInvocationAsync( invocation.id, ); } }); return null; }
npx expo-app-intents init sets up the Swift side for you.
In Expo's demo, Siri asks which task to mark as complete and flips the toggle in the app.

I regret to report that Siri marked "Review pull requests" as done without reading a single line.
Every bit as thorough as you on a Friday, sir.
Is the bundler any faster?
SDK 58 adds Noxcturnal, an experimental Metro transformer written in Rust with oxc.
In Expo's test, a 5,500-file app went from 5.26 seconds on Babel to 2.46 seconds, about twice as fast.
Phil Pluckthun (@_philpl) shared the timeline, with the new transformer finished at the top and Babel still working below.

You turn it on with experiments.noxcturnalTransformWorker, and it politely steps aside if you use custom Babel plugins.
Will that be all, sir?

Two Days of React in an Old London Brewery
React Advanced London is back on October 23 and 26, 2026.
IT'S THIS FU**ING FRIDAY!!!!
And we are obviously gonna be there, so if you are in London, come say hi and make our day.
The first day, October 23, is in person at The Brewery, a London venue on the site of an 18th-century brewery, and it's streamed online for everyone who can't make it.
The second day, October 26, is fully remote, so wherever you are, you still get two days of advanced React engineering.
You'll be joining 800+ engineers for 40+ talks and workshops, given by the library authors and core contributors who build the stuff you ship.
The big topics this year are React Server Components, the React Compiler and AI-assisted development.
And because this is The React Native Rewind, we have to point out there's also a talk on building game UIs in Unreal Engine with React Native.
Want a last-minute discount? Reach out to Luke or Fran.
👉 Reserve your spot at reactadvanced.com

PDF Now Stands for Pretty Damn Fast
Some say every app eventually gets a support ticket that says "just show the PDF".
And some say that the moment someone opens a 1,000-page scanned contract on a cheap Android phone, the app turns into a hand warmer.
All we know is, react-native-better-pdf hit 1.0 on October 12, built by Jakub Kasprzyk (@jkasprzyk17) and the team at GMI Software.
What's wrong with the old one?
For years, the default has been react-native-pdf, which on Android ships its own PDF engine, PDFium, inside your app.
That's like towing a caravan to a drag race.
better-pdf ditches the caravan and uses the engines the phone already has: PDFKit on iOS and PdfRenderer on Android.
It's built on Nitro Views from Margelo, so there's no WebView and no JavaScript slowing down scrolling or zooming.
Only the pages on screen are kept in memory, no matter how long the lawyers chose to write.
import { PdfView } from 'react-native-better-pdf'; export function Reader() { return ( <PdfView style={{ flex: 1 }} source={{ uri: 'https://example.com/report.pdf' }} onLoad={({ pageCount }) => console.log('pages', pageCount) } /> ); }
That's the entire reader.
How fast are we talking?
In the README's latest Android benchmark, the 1,000-page scan opens in 56 ms instead of 622 ms.
It also peaks at 142 MB of memory instead of 898 MB.
POWERRRR.
The race below is a separate run, so its numbers differ a little, but the gap doesn't.

In fairness, and we hate fairness, on iOS both libraries use PDFKit, so there the gap mostly vanishes.
What else is in the box?
Version 1.0 comes with search, fillable forms, offline caching and printing.
Search and forms answer two react-native-pdf feature requests that have been sitting open since 2021 and 2023.
Here's a form being filled in, straight from the launch video.

The catch is that you need the New Architecture and react-native-nitro-modules.
But c’mon, at this point who hasn’t moved to the New Architecture?
Anybody? Raise your hand. Anybody? Anybody?
We’ll love you anyway, but unlike our love, updates aren’t unconditional.
There's even an agent skill, so your coding agent can do the migration while we pretend to read the contract.
And on that bombshell…

Events now travel the web’s EventTarget path with real capture and bubbling, Text and TextInput get variable fonts through fontVariationSettings, and iOS picks up SceneDelegate support before Xcode 27 stops launching apps without it... and for the third time this year, no user-facing breaking changes.
Built for iOS 27 and React Native 0.88, with iPhone Duo support, a new expo-hinge package that tells you exactly how open your phone is, and expo-app-intents in alpha so Siri can finally tick off your onboarding checklist for you.
Cloud simulator sessions now default to signed-in preview links, and 25.2 adds eas simulator:control for poking a remote iOS simulator and moving files on and off it... the Mac under your desk is now officially someone else’s problem.
📦 React Native Gesture Handler 3.4
Swift Package Manager builds on iOS, a new immediatePressOut prop for Touchable, and Android now fires onPressIn when the press actually starts... rather than whenever it got round to it.
Stack v4 gets ready for iOS 27 and iPhone Duo and lays screens out properly under opaque headers on iOS 26+, though when the header bugs were reported, Apple simply pointed at its guidance against custom bar backgrounds... so maybe just go transparent.
The first stable release hot reloads edited SVGs through a Metro plugin, turns them into SF Symbols and VectorDrawables for native tab bars, and lets Reanimated animate their size and color... so nudging an icon no longer costs you a native rebuild.
Eight releases in five days land Skia m157, and Android phones without Vulkan now get pointed back to v2 instead of crashing... the Graphite herd leaves nobody behind on the savanna.
Nate (@natebirdman) renders React Native components with GPUI, the GPU-accelerated Rust framework behind the Zed editor, straight into a Metal window on the Mac... no browser, no Electron, and Apple Silicon only for now.
Saurabh (@saurra3h) brought 45 free animated components built on Reanimated, Gesture Handler and Uniwind, and npx beui-native add tabs copies one straight into your app... you own the code, and the bugs.
Priyanka (@lassiecoder) built an offline tool that reads your React Native or Expo build or crash log and tells you the real cause, with evidence and next steps... it reads the whole Gradle stack trace so you don’t have to.
Gene Cornfield wrote up moving 5,000,000 active users to a rebuilt Expo app overnight, then shipping twelve OTA updates in three days to fix what testing missed... and the whole rescue cost about $4,000.


