Unify Logo Footer.svg
Platform Tools
Logo
Publishing and versions

Publishing and versions

Logo

5 mins READ

Shipping a code app to its URL, and moving backwards and forwards through the versions it saved along the way.

Overview

On the Preview tab of the builder, click Publish in the header. The popover asks for:

  • Tag this version — an optional label for this release (placeholder "V1"). Three rules are listed under the field and turn red if you break them: "Key should start with a letter""Should not contain spaces. "-" is allowed", and "Special characters (@, &, \) not allowed except "_""*.

  • Version notes — "Describe the changes in this version".

  • Application URL — the public address the app will be served from, with a copy button.

Below those, a line tells you when it was last published. Pressing Publish first builds a fresh deployable bundle and only then releases it, so a published app can never point at a stale or missing build; if the build fails, nothing is deployed. Each published version is recorded against the exact source snapshot it was built from, so you can always trace a live release back to the code behind it.

Where: Code Builder › Preview › Publish

Published versions

The Versions tab on the app's pages lists every published version with the same filtering and sorting as other applications. Opening a row takes you to that version's detail page, which shows a read-only preview built from that version's own source snapshot — so you can look at exactly what a past release rendered.

Where: Applications › your code app › Versions

Saved versions

Publishing is deliberate; saving is automatic. Every change the agent makes is captured as a saved version, listed under Saved versions in the builder's More tab — "Every change is saved as a version you can preview and restore." The list has two columns, Version (the description of the change) and Time. The newest entry is tagged Current because it is what the builder is running right now, and any entry that was also published carries its published version tag. Before the app has produced anything you'll see No saved versions yet — "As you build, each change is saved here and can be previewed or restored." When the app is linked to a repository, a chip names the branch these saved versions belong to, because the list is that branch's history.

Where: Code Builder › More › Saved versions

Going back to an earlier version

Click any row in Saved versions. A large preview opens showing that version running, with Restore this version in its header (hidden for the current version, since restoring it would do nothing) and Close. Restoring doesn't erase history — it adds the old snapshot on top as a new change and rebuilds the live preview, so you carry on editing and publishing from there. On success you'll see "Version restored on …", naming the branch it landed on.

Where: Code Builder › More › Saved versions › a version

FAQs

Why is Publish greyed out?

Three reasons, each with its own signal:

  • The app has never been built. Publish stays inert until the first build produces a preview.

  • You're on a side branch. Publishing deploys the app's default branch, so from any other branch the button is disabled and explains: "Can't publish from this branch — switch to … to publish".

  • There's nothing new to ship. When the deployed release already matches the current code, the button reads Up to date instead of Publish and can't be pressed.

Where: Code Builder › Preview › Publish

Why can't I restore right now?

Restoring rewrites the working files, and a running turn owns those. So the button is disabled while the agent is working — "Can't restore a version while the agent is working" — and also while a turn is paused waiting on you (a plan to approve or a clarifying question to answer): "Can't restore a version mid-session — wait for the agent to complete the session". Finish or answer the turn and the button comes back.

Where: Code Builder › More › Saved versions

I restored a published version and nothing changed — why?

A published version is what the deployed app runs, and the deployed app is built from the default branch — so that rollback is applied there. If your chat is sitting on a different branch, the restore is real but invisible to you. The preview modal warns about this up front: "Published versions are restored on … — this chat stays on its own branch", and the success message names the branch the restore actually landed on. Switch to that branch to see it.

Where: Code Builder › More › Saved versions