No breaking API changes. If your app divided safe-area insets by devicePixelRatio, read the goodbye below.
01 / Try it
One flag and one hook.
{"WEBVIEW_CONFIG": {"ai": { "enabled": true },"edgeToEdge": {"enabled": true,"statusBarStyle": "auto"}}}
import { useAI } from "catalyst-core/hooks"const { generate, output } = useAI({provider: "native",})generate({messages: [{ role: "user", content: "Hi" }],})
Full setup: useAI and edge-to-edge.
02 / What's new
Fresh in 1.0.1.

On-device AI, now on iOS
useNativeAI and useAI({ provider: "native" }) run on the iPhone. Set ai.enabled: true, install catalyst-ai, and build the iOS app as usual. Without ai.enabled, catalyst-ai adds nothing to the iOS build.

It picks the engine
LiteRT-LM runs Gemma 4 E2B after a one-time download of about 2.6 GB. Apple Foundation Models needs no download on iOS 26 Apple Intelligence devices. The default uses whichever is ready, and litert or foundation-models pins one.

Edge-to-edge, done right
The Android WebView draws under transparent system bars instead of opaque ones. The new statusBarStyle sets the bar icon colour, and the bottom inset holds steady while the keyboard is open.
03 / Goodbye, hello
Goodbye inset / devicePixelRatio, hello inset.
useSafeArea() and the X-Safe-Area-* headers now report insets in CSS pixels, and 0 when edge-to-edge is disabled. Apps that divided the insets by devicePixelRatio should remove that.
04 / Also fixed
Smaller things, sorted.
- The bottom safe-area inset no longer shrinks the viewport a second time while the keyboard is open.
- Dependency updates clear security advisories in
compression,proxy-addrandsource-map-js. catalyst-corecan be installed from a git branch. Itspreparescript no longer reads files outside the package.- The 0.3 to 1.0 upgrade guide and the MCP server's upgrade context are corrected.
Thank you.
Catalyst 1.0.1 was built by these people.
Questions or ideas? Find us on Discord, X and GitHub Discussions.
Full release notes
This release fixes Android edge-to-edge and brings on-device AI to iOS through catalyst-ai 1.0.1. There are no breaking API changes, but apps that converted safe-area insets from device pixels should read the edge-to-edge section.
On-device AI on iOS
useNativeAI and useAI({ provider: "native" }) now run on-device on iOS. Set ai.enabled: true in WEBVIEW_CONFIG, install catalyst-ai, and build the iOS app as usual. Two engines sit behind the same hook. LiteRT-LM runs Gemma 4 E2B by default and downloads the model, about 2.6 GB, once. Apple Foundation Models needs no download and runs on iOS 26 or later on Apple Intelligence devices. The default engine: "auto" uses LiteRT-LM if its model is already downloaded, then Foundation Models if it is available, and otherwise LiteRT-LM with a download. The providers litert and foundation-models pin one engine. Installing catalyst-ai without ai.enabled adds nothing to the iOS build. Device requirements are in the catalyst-ai README.
Android edge-to-edge
With WEBVIEW_CONFIG.edgeToEdge.enabled, the WebView now draws under transparent system bars instead of opaque ones, and the bottom inset stays stable while the keyboard is open. useSafeArea() and the X-Safe-Area-* headers report insets in CSS pixels, and 0 when edge-to-edge is disabled. Apps that divided the insets by devicePixelRatio should remove that. The new edgeToEdge.statusBarStyle option (auto, dark-content, light-content) sets the system bar icon colour.
Fixes
- Dependency updates clear security advisories in
compression,proxy-addr(throughexpress) andsource-map-js. catalyst-corecan be installed from a git branch. Itspreparescript no longer reads files outside the package.- The 0.3 to 1.0 upgrade guide and the MCP server's upgrade context are corrected.