Faster starts and flexible top-ups
Tab bars, sheets and zoom transitions track iOS more closely. New projects start from a single prompt with the first screen in preview sooner, and cloud simulators gain a REST API. Billing loosens up: top up any amount from $5 to $500 with no subscription.
Platform
Start from one prompt
Describe an idea and the project starts building. The welcome template picker is gone: the assistant picks the template from your description and creates the project directly.
The main screen is designed first and appears in live preview while the rest of the app is built, with a demo account already signed in.
Native controls and Swift views
Zoom transitions carry the source pixels through the transition, the bottom-tab scroll-edge effect fades in instead of stepping, and form sheets share one chrome type.
Paged SwiftUI views declare page styles with swipe paging and page dots, pushed screens survive structural edits, and Swift apps load bundled JSON resources. Swift projects ship through preview and deploy.
Cloud simulators you can script and share
Create, reuse, list and stop cloud simulators through a REST API, and share sessions with short-lived tokens. Cloud Boxes embed their Metro assets at creation.
Tech
Swift builds through a wire contract
Swift projects compile through a wire contract that publishes build artifacts by URL and hash. Source keys that escape the project are refused, and only builds that actually start are charged.
The Swift serializer writes the scene tree straight into the buffer the tenant reads, skipping a copy.
Compositing and retained rendering
Static content beside animated layers replays from cache instead of redrawing live, the blurred-mask cache is scoped to the frame, and live-frame bitmaps queued to the compositor are bounded.
The GPU pipeline corpus precompiles in one pass instead of 22 awaited batches, cutting pipeline waits from 4.05 s to 2.5 s cold and 401 ms to about 235 ms warm. Scene geometry lives in one flat table, so hit queries and damage read contiguous memory.
Less memory per project
Opening a project no longer mounts a second hidden engine for Design capture, freeing 683 MB in the measured project. Bundler workers prune package files the finished module graph never reached, cutting 128 MB of retained heap per worker.
Relays and sync
Cloud relays keep attached display grants live while running. Zero mutation rate-limit resolution avoids transaction contention on D1.
AI build verification
Write and edit receipts carry incremental type diagnostics, retiring standalone typecheck turns. Slow project-claim renewals retry inside the TTL.
Native iOS fidelity
- The held tab lens tints its footprint, folds its rim and flips the glyph as it lands
- Floating tab selection commits when a held touch is released
- Dark tab-bar lens size and rim strength match the oracle
- Bottom tabs keep a search-role tab inside the pill
- Tab bar glass follows the system appearance
- SwiftUI tab bars support bottom accessories
- Sheet presentations pass touches through undimmed detents
- Bottom sheets present through the native sheet path
- Zoom pushes morph like UIKit and match native card motion
- Programmatic zoom transitions settle flush
- Back buttons blur-fade in across transitions, with toolbar labels crossfading over swipe handoffs
- Stack toolbars match the iOS 27 UIKit oracle
- Native tab minimize behaves like the device
- Stacked navigation search headers match the iOS 27 layout
- Screens pad below translucent large-title headers
- Menus and action sheets move to the iOS 27 panel glass
- Menu triggers take their declared tint
- Context menu glass matches iOS 27 surfaces
- Liquid Glass matches the interface appearance and retains textures through continuous zoom
- Liquid Glass keeps its tint during layout updates
- The Settings gear calibrates highlight opacities against directional lighting
- Home-screen artwork and press highlights clip to continuous squircles
- System icons honor their requested weight
- Status bar icons adapt to the iOS era being shown
- Standard text styles apply exact UIKit line heights
- Rich-text line breaks and ending spacing match native behavior
- Grouped lists and forms align with iOS 27 typography, spacing and dividers
- Wheel pickers, menu rows and untitled cards match the oracle
- Native switches and sliders share the held-drag feel
- Share-sheet items stay tappable while dragging
- The home indicator auto-hides and pulses at the bottom as on iOS
- Fading views fade their borders and shadows with them
- Leaf images cast shadows from content alpha
- Hit-testing catches every host view like iOS
- Scroll-edge bounce reproduces the iOS spring
- Keyboard height is reported and aligned as the keyboard moves
- App toasts arrive as notification banners
- Glass button presses animate on the compositor thread
- Skia canvases repaint instead of dropping frames under backpressure
Devices and previews
- iPhone 17 Pro previews adopt measured top safe-area insets
- Previews take the host device model and viewport
- Remote previews show an app’s opening animation
Simulator and tooling
- The on-canvas inspector overlay stays readable in narrow windows
- Inspector transform overrides update live animated elements
- Tap-to-pin holds canvas selections until dismissed
- MP4 recordings preserve the live simulator view
- Finished recordings open over the active simulator window
- Video previews hold on the final frame
- The simulator shell report gains live frame metrics
- Visual inspection listener for third-party coding agents
- Swift edits recompile during native preview hot updates
- App launches show a neutral cover frame and wake from prewarm
React Native and SwiftUI
- Paged SwiftUI views support page styles, swipe paging and page dots
- SwiftUI NavigationStack, links, destinations, titles and toolbars
- SwiftUI buttons support roles
- SwiftUI Material backgrounds render live backdrop blurs
- Swift multiline text supports leading, centered and trailing alignment
- SwiftUI text applies bold and font order
- Gesture Handler pan semantics align with native
- Text input focus works through a React Native ref
- Transparent screens open as transparent presentations
- Apps can mask one view with another
- Reanimated CSS animations expose lifecycle events
- Android previews honor the appearance override
- Rolldown bundles resolve external asset registries
- One app blurs render through the shared blur element
Design and capture
- Design captures wait until project setup completes
- Design maps omit uncaptured screens on desktop
- App themes derive from surface and brand ramps
Projects, editor, and templates
- Dashboard filters cover test runs
- Manual preview re-runs can target a pull request
- Limited team members see only default-branch builds and previews
- Self-contained mobile release builds resolve workspace dependencies
- Mobile-template startup no longer opens the simulator automatically
- Mobile templates support standard Expo native prebuilds
- Starter projects include a reusable native sheet screen
- The game template opens on a native title screen and mounts on web
- The finance demo adds expenses in a sheet over the dashboard
- The Uniswap example shows token pricing and resolves ENS names in Swap
- The Apple Music demo names the mini-player track, calibrates the artist hero gradient and uses declarative toolbar options
- The Rainbow example demonstrates dark mode and performance modules
- Home Designer adds a persistent home catalog sheet
AI building and chat
- New app builds start the primary screen with project kickoff
- Opening build plans gate sibling screens on your answer
- Assistant responses retry stalled streams
- Cold cloud factory sessions preload the shell interpreter
- New project chats recover a missing first build relay
- Project chat delivers concise updates within word budgets
- Build progress condenses into expandable activity summaries
- The project assistant preserves customized project names
- The AI assistant discovers native icons
- The app builder creates an editable theme for stock Tamagui v6 projects
- Agent chat unifies file reads into compact cards
- The desktop app detects a local Codex sign-in
- Chat controls gain accessible semantics
Testing and CLI
- Maestro flows load idle with pause, reset and trace controls
- Maestro drop-in parity with per-flow result files
- The test command runs Maestro flows for CI
- Filter and run selected tests in hosted simulator jobs
- Hosted tests can run against a live development stack
- Failed cloud runs quote the failure in the runner log
- Running cloud tests cancel cleanly
- Test reporting retries recorder posts
Accounts, billing, and reliability
- Simulator billing separates pay-as-you-go from Contrast plans
- Prepaid top-ups take any amount from $5 to $500 with no subscription
- Cloud actions gate on ledger balance
- Paid plans support up to 50 concurrent cloud development boxes
- Sign-in keeps return destinations
- Sign-in opens at the top level when popups are blocked
Fixes and polish
1322 fixes and 73 performance improvements landed this week.