Updating a published app
Once your app is published, you keep improving it in the editor with no risk to your visitors: the live app only changes when you decide. This page explains how to publish a new version, roll back and follow what happens in production.
Published version and current version
Section titled “Published version and current version”Every agent reply, every Design mode edit and every save in the Code tab creates a new version of your project. But the published app stays on the version you published.
- The current version is the one you see in the preview.
- The published version is the one your visitors see.
The header button tells you where you stand:
| Button | Meaning |
|---|---|
| Publish | The app has never been published (or was unpublished). |
| Update | The app is live, but the current version is newer. The panel says, for example, “Live · v3 · published 2 hours ago” and “v5 isn’t live yet.” |
| Published (green dot) | The published version is the current version. In the panel, the button reads Up to date. |
Publishing a new version
Section titled “Publishing a new version”-
Check your changes in the preview. To test like a visitor, open the preview in a tab and try the mobile view too. See The preview.
-
Click Update in the header, then Update in the panel.
-
Highwind builds and publishes the current version, with the same checks as the first publish (build, database security, anti-phishing). The address doesn’t change.
-
When the panel shows “Live · v5 · published just now”, your visitors see the new version.
Rolling back
Section titled “Rolling back”If a new version causes trouble, you can put a previous version back online.
-
Open the Version history in the editor and pick the version that worked. The preview shows it read-only.
-
Click Restore this version. Highwind creates a new version identical to the old one (“Back to version 3”); nothing is erased, and you can go back to the later versions afterwards.
-
Click Update in the Publish menu: the old version is live again.
See Versions.
The server and database in production
Section titled “The server and database in production”The app server
Section titled “The app server”If your app has a server (/api routes), it’s published with the front end on every update, and runs live on the same engine as in the preview (Cloudflare Workers). A change to the server code only goes live after an update.
Secrets are the exception: when you add, replace or delete a secret in Project settings → Secrets, the change also applies to the live app, without republishing. See Secrets.
The database
Section titled “The database”Your app has a single database, shared between the preview and the published app. In practice:
- a table or column the agent adds exists right away for the live app, even before you update;
- accounts and data you create while testing in the preview also show up live;
- your real users’ data is visible when you test the preview with an account that has access to it.
The agent writes additive migrations (it adds, never drops or renames): so the old live version keeps working while you prepare the next one.
A published app keeps its database, even without activity. If you unpublish it, the database may be deleted after a period without activity. See Database.
Live app logs
Section titled “Live app logs”When something works in the preview but not live, look at the published app’s server logs:
-
In the preview bar, open Server logs.
-
Pick the Live tab. It shows the last 24 hours, a few seconds late: each
/apicall with its status and duration,console.logoutput and errors. -
For a fix, ask the agent: it reads the live logs itself.
The newsletter sign-up works in the preview but returns an error on thepublished app. Read the live logs and fix it.An app without a server (static site) has no live logs. See The app server.