Every user-visible change to the platform, newest first: new features, reliability work, and the fixes behind them.
Grouped by month. Each line is rewritten from the commit that shipped it, and carries that change's reference number. Internal refactors, dependency bumps and test-only work are left out.
A build refused or interrupted before its first phase used to leave the project spinning indefinitely. Every one of those exits now writes a real terminal status.
Instead of a generic failure, publish lists the exact TypeScript errors it will not ship past.
The opening credit charge moved off the critical path, so the first phase begins without waiting on billing.
The step that turns your prompt into a build plan now runs on GPT-5.6 Luna, falling back to a second provider when the first is unreachable.
Inference used to plan a build is metered like every other step, and the newest models are priced per request.
When your app already builds clean, a small follow-up no longer runs the extra review phase.
The database panel stopped implying preview rows are kept, and says so in the query editor itself.
A failing query hands back the database’s own error text instead of a message about an internal flag.
Browse tables and run queries against your app’s preview database before you publish it.
They are served as bytes rather than as the storage marker that was standing in for them.
Publish compares the live schema against the migrations your app generated, applies what is missing, and refuses rather than deploying against a database it cannot verify.
A new project no longer depends on your browser staying connected for its first build to begin.
Ongoing work on input validation and process isolation in the generation pipeline. Specifics are deliberately not itemised here.
Containers no longer leak, an idle preview is released, and a preview reports ready only once it actually serves.
Generated apps can no longer ship with a JavaScript array standing in for persistent storage.
A cold start no longer restarts the dev server and rewrites every file, and recovery stopped moving the preview hostname.
The product and the marketing site moved onto a new design system together.
Template scaffolding also stopped leaking into generated apps.
The interface stopped claiming "final checks" on every phase, and stopped stranding the preview frame.
You keep what you already paid for until the period ends.
Every generation that ends now writes a truthful terminal status.
Sandbox recovery, a billing backstop, and storage provisioning were each hardened against the failures seen most often in production.
They build from the default template, with a watchdog that surfaces an error instead of warming forever.
Current plan limits are on the pricing page.
Indexing, Core Web Vitals, internal linking, breadcrumbs, structured data, and redirects for blog URLs that no longer existed.
The free plan gained a per-day allowance alongside its monthly one. Current limits are on the pricing page.
An error thrown inside the preview is caught and surfaced, so you can hand it straight back to the AI.
Stub loops, empty database schemas, placeholder storage bindings and schema drift are each caught before your app deploys.
React hardening, a classifier-gated session reset, and per-build redeploys.
Capped by how many apps can use it. Current limits are on the pricing page.
Each step of a build picks its own model instead of running everything through one.
Current allowances are on the pricing page.
Plus preview continuity across reloads, and message deduplication.
Describe an app, watch it build, and ship it to a live URL. Start free.