# Zero-downtime app updates and faster cold starts

> An open app keeps running while a new build lands, sessions survive long calls, and a cold app's first request answers without polling delays.

Oct 11, 2026. Topics: Apps, Platform. https://www.generalinput.com/changelog/2026-10-11-apps-stay-up-through-publishes

When someone published a new version of an app you had open, the dashboard unmounted it for every build, failed builds included, and the iPhone app could run old screens against new server code for up to a minute. Viewers refreshing at once could also restart the app's server in parallel and disrupt each other. We rebuilt the session model under apps.

### How it works

- **The served build.** Each app records which build its viewers get, and that pointer moves only when a build succeeds. On the dashboard and iPhone alike, the running app stays up until the next build's server is ready, then reloads on the same page. A failed build never takes down the version you're using.
- **One restart.** After a publish, the first caller claims the server restart and everyone else waits for it.
- **Session identity.** Every server session gets a new ID that guards its writes, so a stale caller can't overwrite its replacement, and an unusable session is replaced in place.
- **Leases cover the longest call.** Calls in flight are counted, so a long export is no longer cut off when a short call ends.
- **Faster cold starts.** The app server starts and passes its health check in one step, and a first call that lands while it boots waits up to 10 seconds and returns directly.

### Also shipped

- App JavaScript and CSS are compressed, 68 to 78% smaller: a minimal app's first-paint bundle dropped from about 283 KB to 85 KB.