Latest beta · available now
Published artifacts are ready from the beta channel. Verified release notes are temporarily unavailable; the archive below currently covers through0.1.0-beta.82.
Changelog
The latest documented release is0.1.0-beta.82.Checking the current beta channel…Browse the confirmed public betas and the features, improvements, and fixes documented for them.
Latest beta · available now
Published artifacts are ready from the beta channel. Verified release notes are temporarily unavailable; the archive below currently covers through0.1.0-beta.82.
Latest documented release
New
A gallery of cards answered "what plans exist" but never "what needs me now", so the overview groups every plan by the signal it emits — needs attention, in motion, ready, needs setup, completed, archived — behind a view switch that keeps the cards available. Plan review gains the matching depth on both surfaces: a submitted step keeps its identity while its title and notes stay editable, including clearing notes explicitly, so approving a plan still means approving what the agent proposed.
Selling an Application needs a seller identity, an immutable offer, a payment, an entitlement and a lifecycle for refunds, disputes and revocation — none of which existed. This adds them in Stripe test mode only: Connect onboarding, offers that can never be edited in place, Checkout with webhook-created entitlements, purchase lifecycle and seller financial aggregates, plus the local commerce checkpoints and the PWA access binding that fails closed.
The catalogue existed behind the Accounts Worker with no place to browse it, publish to it, or find what you already own. This adds the three projections — owner, discovery and purchase library — and the surfaces that read them: the web Hub, listing editor and seller setup, the native Marketplace screen, the public site pages, and the install and Try paths that now resolve plan access before promising a device install.
The native Marketplace screen committed with the rest of the product surfaces imports these four components; they carry the phone rendering of the discovery hub, the owner inventory, the listing editor and the seller setup dialog. Split out only because they arrived as a new directory.
Improved
A dirty tree with hundreds of files forked one git process per path on every Ship snapshot, freezing the server event loop under concurrent Source Control polling. One --no-renames --name-only diff over the same pathspecs renders the identical per-path verdict in a single fork.
Concurrent Ship snapshot requesters — every open tab's Ship popover, the outcome observer's fifteen-second recovery cycle, and launches — each ran their own full git command series on the same repository, and recovery passes slower than their interval stacked on top of each other.
The fifteen-minute full reconciliation of every configured project spent more machine time than a day contains once projects reached a few thousand files each, and every finished content job re-enqueued a global link refresh.
An unknown activity was rendered as "Starting…" on both surfaces, which claimed a fact the client did not have: a session whose first transcript had not been read yet looked like a fresh launch even when it had been running for hours. The shared vocabulary now names the real state — the client is checking — through one api-client bucket consumed by the web hooks, the dashboards, the chat views and the native badges, and the task-timing helpers stop treating a null activity as an idle session.
Projects, tags and computed lifecycle status describe where a conversation runs and what it is doing, but nothing let a user say which stable work context it belongs to.
Opening a session from the list restored the last read position, which is correct when returning to a conversation but wrong when the user taps a row precisely because something new happened there. The mobile web list now requests the latest message on open, and the pinned question pays for one shared row instead of stacking its controls under the question, so the transcript no longer starts under empty reserved space.
Fixed
Decorative loops kept running for rows nobody could see, and each one registered as an interaction handle that blocked React Native from settling. Motion is now gated on the app being active, the screen focused and the row actually measured as visible — with an empty viewability snapshot treated as "not measured yet" so a freshly mounted tab still moves — and the remaining animations no longer claim an interaction.
An object literal that forwards an already-computed credential — token: response.accessToken — was classified as a secret literal, so Project Health reported a finding on code that holds no secret at all. The computed-expression heuristic now also recognises a bare identifier path on the right-hand side, alongside the method-call form it already knew.
21 additional changes are included in the full comparison.View full release comparison
Release history
Open a version for its release notes and full comparison when available. Beta numbering can skip because this archive follows confirmed public releases rather than every tag.
The installable-Application, Showcase and Marketplace work that follows needs one description of a saved Application, its install profile and tickets, its publication state, and the account plan that gates them. Putting those types and their label helpers in the API client keeps desktop web, responsive web and native mobile on the same contract instead of each surface inventing its own shape.
The Accounts Worker becomes the central authority for the public catalogue of installable Applications: publisher APIs to prepare, upload media, finalize and edit a listing; public catalogue, detail, search, category and creator reads; media served from R2 with a bounded lifecycle; reports, moderation and appeals; and rolling aggregate analytics with a growth report that never changes ranking on its own.
The website gains the public face of the catalogue: /apps with its listing, category, search and creator pages, a listing detail page with Try and Install handoffs, a safety page, and an Access-protected /admin/marketplace console for moderation and the growth report.
This wires the product to the central catalogue. A saved Application with a generated Showcase and a reachable public origin becomes eligible to publish; eligibility is evaluated locally and stated plainly, so an owner learns what is missing instead of meeting a refusal from the Accounts Worker. Publishing, revising, unlisting and recovering availability go through a background sync service that reconciles local publication state with the catalogue and stops cleanly with the server.
A relative link in a transcript was resolved against the project catalog alone, so a conversation running in a subdirectory — an Ask anything workspace in particular — produced a link that pointed at nothing. Resolution now takes the session's working directory as context and falls back to the catalog only when that directory is unknown, and the same context reaches markdown image targets so a preview opens the file the agent actually referenced.
Three reading defects in the transcript, fixed together because they share the same surfaces. A very long user message pushed the conversation off screen, so it now collapses behind a disclosure toggle measured from the real rendered height instead of a guessed pixel budget, which keeps dynamic type honest.
Ask anything creates one working directory per conversation, and Codex asks whether every previously unseen cwd is trusted. The mode therefore paid that dialog forever. A launch in an Ask anything directory now passes a single -c projects.<path>.trustlevel="trusted" override for that one invocation, so nothing is written to the person's config.toml and no other project gains trust.
The inline plan panel is capped to a fraction of the transcript, which is enough to notice a checkpoint and too little to actually read a long plan before approving it. The header now carries an expand control that lifts the same panel into a fullscreen overlay on desktop web, responsive web and native mobile, with the collapse control reserved for the inline state.
A search result carried the running flag captured when it was indexed. A session stopped since then was filtered out of History as if it were still open and disappeared from both lists, and one resumed since then could be listed twice. The current /api/sessions snapshot is the authority now: a result is kept out of History only when its session id is live in that snapshot, so a stale flag costs a card its section, never its existence.
Sharing was the only thing a project file could do on the phone: opening it in the system viewer or keeping a copy required going through another app. A small Expo module now backs three distinct actions — open in the platform viewer, save a copy through the system picker, and share — on both Android and iOS, and the file screen and Files tab expose them separately instead of folding everything into one share sheet.
Completion detection can run once against an offline-hydrated directory whose rows predate the current session payload, and reading tmuxName off such a row threw before the first fresh snapshot replaced it. The tmux name is optional here now: a row without one is skipped rather than notified, since it can be neither opened nor deduplicated, and a session with no usable name falls back to a plain label instead of crashing the surrounding workspace.
9 additional changes are included in the full comparison.View full release comparison
Relay Pro now has a monthly and a yearly tax-exclusive Stripe Price. Checkout takes the chosen interval, the webhook grants the entitlement for either configured Price, and every upgrade surface points at the plan choice instead of a single monthly amount.
The desktop-only CLI documentation view, its entry points and styles are gone; /docs/cli and /docs/windows-cli now return to the workspace on every surface. The browser check proves the removal instead of the removed copy.
A serialized command tail keeps a late progress update from recreating the Android foreground notification after the stop, and the sync pass releases the service as soon as the download queue is empty rather than after unrelated snapshot work.
A reader message announced itself in the Notification Center without a destination: the owner could only mark the row read. The server now carries a /share-messages/<share-id> app path, and every surface resolves it to that share's message list — desktop web through the workbench bus into the Shared links panel, responsive web through a real route, native mobile through its existing message page.
Filtering History client-side ran after the global 200-entry window, so an older conversation of a filtered project could never surface. /api/history now accepts repeated project parameters and filters before the limit; web and native mount a scoped query when a project filter is active and keep the unscoped window for project discovery and tab recovery.
4 additional changes are included in the full comparison.View full release comparison
The Windows .ico was the last icon still built from the bare relief mark on transparency, so the taskbar, the shortcut, the installer window title bar and the NSIS header all showed the mark floating on the host background while the Android launcher, the browser favicon, macOS and Linux showed the midnight-blue app tile. Render every .ico frame from that tile instead, and rename the mark source after what it still composes: the adaptive Android background and the splash lockups.
Every installation asked the stable channel for its update status unless updateChannel was set in its config, and nothing ever writes that key. No stable release is published, so stable/manifest.json answers 404 and the Updates panel showed "The server update check failed. Try again." on a build that was perfectly able to compare itself to the beta channel it came from.
The changelog documented 52 releases and offered a single button, and it led to /download, which always serves the channel's newest build. Every artifact of every past release is still online under its immutable release directory, so the only thing missing was a way in.
Approving a Plan checkpoint typed one fixed sentence into the session. The plan itself stayed inside the agent's context, where it died with the next compaction, restart or engine switch, and the button was worth exactly as much as typing "go" in the composer. A waiting checkpoint was worse than invisible: the agent stops after submitting, so its turn closes normally and the session was reported idle — finished, nothing waiting.
The route test and the browser check both simulate the plan sink, so the one seam that had never run was the real one: FocusPlanService.create with the schema, the idempotency scope and the exact task shape the route builds. This registers the real route on the real services and reads the plan back — order, notes, statuses, counts — then replays the approval to prove a decided checkpoint neither duplicates its plan nor delivers twice.
A second launch now quits to the primary window, and a shell restarted after a crash adopts the embedded server left alive: it verifies the public identity, the private runtime record, the owning PID and the same projects root before rotating its capability through a 0600 handoff file. The preload no longer requires a local module, so it works under a sandboxed renderer.
13 additional changes are included in the full comparison.View full release comparison
A shared conversation was text about pictures nobody could see. Every attachment and every image a tool produced became "[Attachment removed from this share]", so a conversation about a screenshot was published without the screenshot — which is not that conversation. And a share was a one-way document: the person who received it had no way to say anything back except outside the product.
The frps vhost overwrites X-Forwarded-Proto with the scheme of its own loopback listener, so an instance read every tunnelled request as plain HTTP: pairing from an HTTPS QR code was refused outright, and auth and share cookies shipped without Secure.
The session menu's Full screen opens the conversation in its own browser tab. That tab renders the route directly — and the route is the responsive page, so a 24" screen got the phone shell: a hamburger opening the mobile drawer, and a back arrow that dropped the whole tab into the responsive application, workspace root included.
The receipt lands on top of the session search field, and the only way out was the six-second timer. The notification toast right below it has been dismissible with an upward flick since it shipped, so the gesture was already the expected one — it just was not wired here.
Two copies still shared a single point of failure: the host that pulls them. The pull host now also pushes to R2, so the relay stays credential-free — it holds nothing that could reach or erase any copy.
The shared conversation pins each question and hangs a stepper on it — previous, n / N, next. The session view has the same pinned question, so it now carries the same control, on desktop web, responsive web and native mobile.
The bench only ever mounted the transcript on its own route, so the desktop workbench — the one place where the reading column lives inside a panel that can be resized under it — was never covered. It now opens a session from the list, then squeezes the panel to a narrow width: the stepper must hang on the reading column's edge and stay inside the panel, never on the window edge and never clipped.
The registry has five tables and only machines is irreplaceable: it maps each enrolled machine to its slug — the public subdomain every shared link is built on — and to the hash of the token its frpc presents at Login. Losing it does not strand the fleet, since enrolment is open and every instance re-enrols by itself; it strands the addresses.
The previous text said every instance re-enrols by itself and returns under a new address. That is wrong, and it was written as if verified.
The reserve above the transcript sat on top of the scroller's own top padding, which the overlaid question bar already covers: 12 px on a desktop, 14 on a phone width, 12 more on native. That padding was paid twice, so the pagination controls started well below the bar instead of right under it.
23 additional changes are included in the full comparison.View full release comparison
A recipient who has never used AirCode Ø sees exactly one surface, and it was a transcript. The share page is now the session view's own presentation rebuilt as a document — with no script, which is the security boundary and therefore the whole constraint.
The authenticated server catalog is authoritative, but every cold start falls back to an embedded list that still stopped at Grok 4.5 and at three reasoning efforts. A Grok account that offers Grok 4.6 with X-High therefore lost both until the first catalog answer arrived, and the shared client fallback disagreed with the server.
Codex starts MCP servers with a sanitized environment, so a capability read from AIRCODECREDENTIALFILE is simply absent there. The browser server then failed on every call, and the Knowledge server — whose tool list is derived from the capability — advertised no tools at all, which is indistinguishable from a session that has no Knowledge. Both servers now accept --credential-file, like the planning server already did, and the Codex registration passes it.
Indexed code outnumbers indexed history several times over, and the lexical ranking weights a chunk's title and path above its text. An unfiltered search therefore answered with source files even when the answer had been written in a past conversation — and an agent searches once at the start of a task and never comes back, so the first page has to carry it. Half of an unfiltered first page is now reserved for conversations, decisions and notes, keeping the strongest overall match first and alternating from there.
A preview answered with a single launchUrl, and one link cannot serve both uses. The capability travels in a SameSite=Lax cookie, so an embedded preview keeps its access only while its origin stays same-site with the page showing it: a workspace served from localhost that embedded the relay origin lost the cookie and the preview answered "access denied". publicSession now answers with the transport the client itself arrived on, and adds shareUrl, which prefers the relay whenever the tunnel publishes one.
A standalone Fast preview publishes a URL; an application owns the process that serves it. Promotion now turns the first into the second on the same preview record, so the port, token, password and relay alias the user already shared keep working. The entry point is the Fast preview card in Browser, on desktop web, responsive web and native mobile.
An owner can now publish a whole conversation or a contiguous range of completed turns as one sanitized, immutable snapshot, in two renderings of the same document: a self-contained HTML export, and a revocable link served by the owner's own instance, optionally password-protected, optionally expiring. Both come from the same renderer, so the page a reader opens is the file the owner reviewed.
Three availability requests decide whether a session starts with Knowledge, and all three were retry: false. One dropped response silently downgraded the launch to off for the whole life of the form, which is most of why 55 % of sessions started without Knowledge. A pending or failed answer is not a refusal: only a complete one may downgrade the launch, and the requests retry once.
Monaco's lazy codicon stylesheet re-asserts font: normal normal normal 16px/1 codicon at (0,2,0) when the editor chunk loads. This rule matched at equal specificity and only won on source order, so opening a file blew the AI Usage account state glyph up to 16px and burst it out of its 14px disc. Match the codicon modifier class as well, and pin the line height.
TODO.md is the user's own project state, and until now a sentence in the planning instructions was the whole enforcement. That sentence held for the wrong reason: it told every agent, including one a person is driving turn by turn, that the file was untouchable. Asked directly for a TODO.md change, an interactive session had to refuse it.
Turning remote control off from the session menu could turn it back on. The gesture pasted /remote-control, waited a fixed 3.2 s for the status dialog, then sent Up Up Enter blind. But that dialog only exists when the session is already exposed: typed on a session that is off, the command re-arms it and hands the keyboard back to the composer, where the arrows walk the prompt history and the Enter re-sends the user's last prompt.
A long AskUserQuestion form — several options carrying descriptions and mockups — grew the interaction card until it pushed the composer and its own bottom out of the viewport. The chat thread collapsed to nothing, scrolling stopped working, and the free-text answer became unreachable: the card asked a question the user could no longer answer.
A workstation publishing its sessions goes quiet the moment it sleeps: the outbound tunnel drops and every running session freezes mid-turn until someone wakes the machine. Locking the screen is not the problem — every process keeps running — but the two are easy to confuse, and there was nothing in the product to say so or to prevent it.
25 additional changes are included in the full comparison.View full release comparison
Read the download settings inside the write transaction so a mode chosen during a long synchronization is no longer overwritten, show a preparing state while offline storage is still opening, and coalesce cache-change notifications so a download storm stops starving the interface.
Marking read by in-app destination lets opening a session clear every pending row that pointed at it, on the server and on all three surfaces, without resolving an attention row.
Sequential requests are the protection, not the spacing: a foreground drain now runs until the queue is empty and stops on pause, storage, pressure, auth, profile switch or transport failure. The background invocation keeps its OS-enforced budget.
Connection thresholds move to shared constants with a slow state between healthy and lost, and the Focus Plans bridge panels give way to sticky phone tabs.
Reserve the collapsed sticky-question height at the top of the loaded window on web and native so the pagination controls stay reachable, and let the session recap be dismissed for the current launch.
Add per-conversation and whole-library storage estimates, a staged background download queue with visible progress, live ingestion while the app runs, offline purge and storage monitoring, higher storage limits and a "Last N conversations" mode, across the server, native mobile and web.
The Offline access screen now reads storage estimates, download progress and disk space, so the fixture bundle gains those exports and a rendering failure reports the page error instead of a locator timeout.
Ship stops in three ways and only one is a failure: a published run whose local branch never realigned now proposes a guarded correction the user approves, with the blocker named as data instead of prose, and dirty paths that already carry the published bytes absorbed by the convergence helper.
The canvas stays deep, but each surface stacked on it now climbs a clear lightness step. At the previous spacing the assistant reading surface sat barely above the artwork glow, so long answers read as unframed copy on the background, and semantic blue only reached 2.9:1 against the card.
The native feedback pill hung on a negative top margin, so it collided with the card above — whose own bottom margin is 4 px — and read as a piece of that card rather than as the verdict on the turn below it.
A prompt waiting in the queue was only visible inside its own session, so a directory of sessions gave no sign that work was already lined up.
Mark read opened from the leading edge and Kill from the trailing one, so acknowledging a completed session meant learning that one row answers to two opposite gestures. Both actions now live in the right-side drawer, Mark read first, and the reveal widens to fit whatever the row renders.
Google withdrew Gemini CLI for individual accounts on 2026-06-18 and points that plan at the Antigravity suite, which the product already exposes as its own engine. Keep the engine registered so existing sessions and transcripts still resolve, mark it retired, and drop it from engineCatalog() — every launcher, Ship dialog, run dialog and AI Usage card is built from that catalogue, so one filter removes the choice everywhere.
install.sh resolves the stable channel by default and no stable manifest is published yet, so the copy-paste command in the README, the website, the docs and the CLI update hint all failed with "could not resolve latest stable version". Every advertised one-liner now selects --channel beta from a single site constant, and install.sh names the working command when a stable install finds no manifest.
Replicating the responsive Liquid appearance means the material only — blur, tint, prism, sheen, border rails, depth — never a restructured row. The previous pass traded the native card for web parity: it shrank the corners to 10 px, cut the padding and type down, dropped the favorite to a 36 px target, and packed activity, engine, provider, effort and an optimization badge onto the metadata line.
A long answer scrolls its own question off the top, and from there the reply is prose without a subject: the turn a reader stepped away from is exactly the one still being answered.
output/ (release APK and browser captures) and the TypeScript incremental cache kept surfacing in every Source Control snapshot. Ignore output/, ignore .tsbuildinfo and untrack web/tsconfig.tsbuildinfo, which is a regenerated cache rather than reviewable source.
A Ship session stays usable after its Run settles, so its final report stops being the last transcript answer as soon as the user keeps working in it, and its runtime updatedAt keeps moving. That made a recorded verdict look like a fresh event on every poll: the notice replayed, attention rose again, and an unreadable transcript could downgrade what had already been observed.
A Fast preview link contains the port of its own gateway, so the port is part of what the user shares. The kernel picked a new one at every start, which broke every shared link after an instance restart, and idle expiry collected a preview nobody had visited even when it was the published front door of a supervised application.
Monaco ships its own copy of the codicon base rule inside the lazy FileEditor chunk. It lands after every application stylesheet and wins any (0,2,0) tie, so the boxed Mark read and Kill glyphs snapped back to display:inline-block and rode the top of their disc once an editor had been opened. Raise both selectors to (0,3,0), and let the notifications check inject that rule and verify the centring — with a control that flips the selectors back and proves the guard is what holds.
7 additional changes are included in the full comparison.View full release comparison
The Fast preview challenge page, its Siteverify client, and the three client-side challenge hosts each carried their own copy of the same logic. Extract the reusable primitives so a new protected surface only declares its action, paths, and rate limiters.
Password sign-in was protected only by the local attempt throttle, so a reachable instance could still be probed automatically. Every /api/auth/login call now carries a Turnstile token that the server verifies through the accounts worker before the password is checked; a failed or replayed token answers 403 TURNSTILEFAILED.
Passwordless pairing refused any non-HTTPS exchange, so the common case of two devices on the same LAN or private VPN could never use a QR code at all. The HTTPS default stays, but an authenticated operator can now opt one specific five-minute capability into an HTTP exchange.
The changelog derived "latest release" from the curated notes and the build failed unless they matched the product package exactly. A new beta therefore either shipped with a stale website or forced editorial notes to be written before the release could be announced.
Native Liquid Light was flat where responsive web has depth, and its overlays leaned on one generic glass preset. Clipping the material and casting the shadow on the same view cancels the shadow, so the shell and the material are now separate: an unclipped exterior carries the outset depth while a radius-clipped child holds blur, tint, prism, sheen, and the border rails.
The hover command inside the unread badge paired a mail glyph with its label in a space sized for the label alone, so the text was the part that lost room. Keep the wording and remove the glyph.
The transcript viewport was wrapped in a MaskedView to fade its edges. On Android that mask is composited through a hardware Porter-Duff layer, and a native-stack pop can capture the layer while the opaque mask view is still visible, painting the whole transcript black for the duration of the transition.
2 additional changes are included in the full comparison.View full release comparison
Browser-backed applications can open in a dedicated page and share the real running tab across supported clients.
Session titles rank ahead of passing message mentions, while legacy tabs recover their durable conversation identity.
Completed sessions can be acknowledged without opening them, keeping unread work accurate with fewer navigation steps.
Native views paint the full Liquid Light interior and preserve a consistent reading surface from edge to edge.
Elapsed-time indicators, feedback actions, dark messages, planning, and queue labels now carry less visual ambiguity.
Password-protected Fast previews verify a bounded Turnstile challenge before accepting an access attempt.
Offline switches retain the value the user requested while an asynchronous save is still in progress.
Android paints the correct window background before React mounts, avoiding a mismatched startup flash.
A phone can be paired with a one-time code, reviewed later, and revoked without changing the server password.
Saved application credentials have a dedicated management surface with explicit inspection and removal actions.
Project creation now uses reviewed product dialogs instead of browser prompts across desktop and responsive web.
Offline sessions and search results share clearer detail controls and more predictable navigation across screen sizes.
Usage surfaces explain reset windows more precisely and keep their information hierarchy readable in wide layouts.
Liquid Light surfaces, native perimeters, pill geometry, and composer density now align more consistently.
Password fields receive focus when protection is enabled, making the required next step immediate and keyboard-ready.
Active Browser queries remain covered by offline checks instead of leaving a gap in the cached workspace state.
Resolved glass radii and perimeters remain even across native controls and fractional display dimensions.
Browser discussions can inspect a project, clarify ambiguous application details, save the reviewed command, and launch it on web or mobile.
The server password now has a clear destination across desktop web, responsive web, and native mobile instead of appearing as a tunnel option.
Launch flows share the live Engine, Model, Effort, and supported Permissions choices, with Claude defaulting to Opus when it is available.
Notification Center, Focus Plans, Project TODO, Project Health, and startup hand-offs now share the same luminous material hierarchy.
Past audits move into a detailed report picker so status and findings remain visible while older reports stay easy to reach.
Every surface presents the same six period metrics in the same order and labels cost according to whether it is reported, mixed, or estimated.
Product Run activity remains tied to the real completion time instead of shifting as later events arrive.
Cached sessions remain offline fallbacks without replacing newer connected workspace state.
An open tool activity or plan stays open through live Working refreshes and native list recycling.
Large animated AI borders keep one consistent thickness across fractional display scales and rounded corners.
Running progress stripes cover their full native track without leaving a gap at the edge.
Gustav, Irezumi Tide, and Liquid Light use clearer reading surfaces, controls, and palette behavior across web and mobile.
Long conversations keep image galleries, attachments, and composer transitions responsive while messages paginate.
Responsive web and native mobile align more closely on session navigation, activity details, tags, and back behavior.
Server state is isolated by domain and can use integrity-checked local snapshots with explicit backup and restore controls.
Dionysus, Irezumi Dawn, Irezumi Tide, Klimt Gold, Neon Penance, and Liquid Glass now span web, mobile, and standalone surfaces.
Background product Runs are now available from the mobile Dashboard alongside active sessions and project activity.
Notification history persists across restarts and groups related updates by destination and day without discarding earlier events.
Focus Plan launches and review actions use a clearer, more direct flow across web and mobile.
Images in web conversations can be opened and navigated as a gallery without leaving the active session.
Terminal-backed conversations wait for bridge readiness before falling back, reducing missed or duplicated startup messages.
Encrypted mobile databases remain keyed throughout schema upgrades, preventing migration failures on protected local state.
Finding details now separate evidence, impact, and recommended action more clearly, making review decisions faster.
Turn feedback is persisted with the session instead of disappearing when the conversation is reopened.
Finished agent work is surfaced through clearer notifications across web and mobile.
Project Health stages can be recovered and inspected while a review is running or after it completes.
Project creation, source-control workflows, and mobile terminal controls now expose clearer actions and state.
Planning surfaces, live-session activity, and the workspace hierarchy are easier to scan and navigate.
The activity rhythm fills its available grid and shared actions remain readable across supported themes.
TypeScript model-choice resolution no longer loses the selected launch configuration.
Plan actions now wait for the underlying failure or completion outcome before updating their state.
The mobile app now includes repository Git statistics, keeping project activity and history visible away from desktop.
Each native session can manage its own offline download instead of relying on one global control.
Completed responses expose a direct Copy action on native clients.
AI-assisted actions use the same understandable label across web and mobile.
Completed work stays behind its summary and attention previews fit on one concise line.
Version-sensitive provider update controls now share one guarded policy.
Knowledge preparation can no longer prevent a new session from being created.
Verified AskUserQuestion forms remain interactive on supported Claude releases.
A completed Run stays open while its underlying session is still alive.
Tag mutations are no longer held open while release snapshots are revalidated.
The Project workspace now reports repository activity and history statistics.
Active work can expose richer progress without depending on one engine transcript format.
Background product Runs now live alongside the session directory instead of in a separate mental model.
AI Usage opens on all retained history and Git statistics stay in the Project tab.
Settings groups and navigation behave consistently across desktop, tablet, and mobile widths.
Mobile progress motion and completed-turn actions are less distracting while remaining discoverable.
Offline storage setup can recover cleanly instead of leaving the mobile workspace unusable.
Knowledge indexing no longer makes session creation feel blocked.
Concurrent session writes are serialized, duplicate attention notifications are removed, and statistics timestamps are normalized.
Command-only Claude transcripts no longer appear as user conversations.
Self-hosted organizations can deploy a hardened shared Relay while keeping employee instances isolated.
Mobile files, conversations, and pending work continue through longer offline periods.
Plans prioritize AI sync while retaining useful local edits when the device is disconnected.
Knowledge preparation prioritizes useful retrieval and defers handoff context until the next user message.
Usage snapshots persist against the selected time zone and mobile age labels stay current.
Composer actions, themed activity, Settings navigation, and mobile Git labels hold together at narrow widths.
Cached sessions no longer revive completed task timers.
Raw provider failures stay out of product copy and approved error messages remain actionable.
Chat pagination, session drafts, responsive runtimes, and mobile authentication recovery are hardened.
Workspace actions can be found and launched from a dedicated command palette.
Fast Preview services can be opened directly from the chat context that produced them.
Failed or blocked Ship outcomes now offer bounded recovery actions with revalidated preconditions.
Conversation matches are ranked with bounded recency so relevant recent work appears first.
OpenRouter accounting and model usage behave consistently across supported engines.
Unfolded layouts, session navigation, Explorer uploads, and Knowledge handoff better match desktop capabilities.
Running-session motion uses shared sprites and the Working graph renders reliably across dense lists.
Convergence, blocker remediation, and retry bounds now resolve in place without ambiguous verification.
Narrow chat layouts, preview handoffs, and startup feedback survive authentication and viewport changes.
Generated transcripts are identified without colliding with unrelated session artifacts.
Projects can expose detected local services as launchable previews from the relevant workspace context.
Project Health can produce professional static reports and a dynamic localhost assessment mode.
Active sessions and Runs show compact progress graphs with elapsed time.
Launch surfaces show connections that are actually available instead of presenting unusable options.
Server health information is organized into clearer diagnostic sections on mobile.
Loading sections begin collapsed while live state and elapsed time stay easy to scan.
Unverified outcomes are retried and inconclusive publication checks are labelled explicitly.
Message selection keeps the platform-native interaction instead of being intercepted by custom gestures.
Project Health reports communicate when their evidence is older than the current project state.
Connection contracts and provider billing choices are visible before a session launches.
A finding can open directly into a focused agent conversation for investigation or repair.
Native launch configuration exposes the same essential connection and runtime choices as the web workspace.
Completed and failed Runs have clearer status, actions, and cleanup behavior.
Knowledge context preserves the user prompt and review workflows make source handoff easier to understand.
Diagnostics distinguish the application server from the host machine it runs on.
Live provider retries surface their terminal failure instead of appearing to continue indefinitely.
Push notification age and completion timing no longer drift around delayed delivery.
A dedicated health surface and consolidated settings make host administration easier to understand.
Background product Runs retain unread completion and attention state.
Source Control reports the evidence behind a successful Ship instead of relying on an optimistic state.
Navigation, session cues, provider accounts, and terminal flows are polished across desktop and mobile.
Sessions retain the selected Antigravity model for status and usage reporting.
Interrupted and resumable runtimes recover without reviving invalid session state.
Opening a routed report selects the requested finding instead of a stale previous report.
Users are notified when a background product Run finishes or requires intervention.
Active Runs report how long they have been working.
Common actions across the grouped workspace tools require fewer context switches.
Background work is organized by active, completed, and attention-needed state.
Essential conversation actions remain reachable while product Runs are active.
Internal worker sessions owned by a Project Health Run no longer clutter user session lists.
Antigravity joins the supported engines with explicit CLI compatibility gates.
Agents can retrieve prepared Knowledge sources and return traceable context to the active session.
Background operations share one Run model for state, activity, and recovery.
Source Control exposes commit details and lets users inspect the corresponding patch.
AI stage sessions, grouped findings, progress, and workflow actions are represented as one owned run graph.
Session and workspace integrations follow the same contract across web, desktop, and mobile.
Desktop packages can recover a compatible bundled CLI artifact when the normal source is unavailable.
Elapsed quota windows are marked as last-known and intraday activity avoids misleading totals.
Running badges and native reading surfaces retain contrast across light artwork themes.
Work can wait behind a provider quota wall and offer to resume only after capacity returns.
ANSI colors remain readable across every supported terminal theme.
The Ready to resume heading no longer disappears against illustrated mobile themes.
The marketing site offers a focused theme collection while preserving every registered deep link.
Session details report the models that really handled turns, including agent switches.
Plan tasks can suggest progress from repository evidence and coordinate queued work from one surface.
Website copy remains on semantic reading surfaces over the Palm Drive artwork.
A prompt or session launch can wait until the user explicitly chooses to deliver it.
A plan task can start an agent session and link back to its live progress.
Native sessions can change permission tiers directly from composer settings.
Usage gauges can request fresh provider data instead of rereading a stale cache.
Legacy timeline views are retired in favor of Focus Plans and direct task actions.
Native session and activity timestamps refresh when the app returns to the foreground.
A wedged stage can be identified and recovered without inventing unavailable Git state.
Blocking Grok screens, exhausted retries, Kimi first prompts, and killed turns resolve to honest states.
Long native headings keep their final word visible over artwork-backed themes.
Grok Build supports the same core launch, transcript, and session controls as the other engines.
A conversation can continue with a different agent while preserving its context and history.
Project roadmap synchronization runs as owned background work instead of blocking the workspace.
Mobile users can take a photo and attach it directly to a prompt.
Project Health adds parallel security lenses, credential-aware severity, staged progress, cancellation, and a verdict panel.
Daily usage can be split by AI provider.
The narrow web layout follows the same primary navigation model as the native app.
Browser is a top-level destination and every mobile full-screen route retains a clear way back.
The composer chip shows permission tier and model while Focus Plans remain manageable from any local session.
Agent-rendered images appear in chat and generated images remain available in session assets.
An engine failure is rendered as a failure rather than being mistaken for a successful response.
Remote Control is an explicit launch opt-in and can be revoked while a turn is running.
A parent turn remains alive while its asynchronous sub-agents finish their work.
Native usage views can be aligned to the user-selected reporting time zone.
Focus Plan guidance begins collapsed so active tasks remain the visual priority.
Text and controls use semantic surfaces instead of relief effects over artwork.
History convergence preserves unrelated dirty work and reports reconciliation boundaries clearly.
Client errors use the shared visible product name consistently.
Execution plans can run agent tasks within explicit scope, state, and completion boundaries.
The Linux CLI can start, inspect, stop, restart, and persist path-scoped server instances.
Web and mobile artwork themes share calmer translucent activity and reading surfaces.
A successful Ship realigns the checked-out branch with its published target history.
Managed Relay controls appear only when the required account state is available.
The animated code rain renders correctly inside theme previews.
Redundant provider selectors are hidden and native onboarding fields remain above the keyboard.
The startup agreement explains the basic pseudonymous product statistics included with use and links to full privacy details.
Obsolete analytics switches and follow-up prompts were removed so every client matches the accepted terms.
Artwork-backed themes use clearer local reading surfaces and more consistent product chrome.
The direct installer keeps its signature check intact through packaging and publication.
AI planning work can choose its engine, model, permission, and runtime settings before launch.
The product presents the final EULA and Privacy Policy before first use or after a document version changes.
The public website exposes the final legal documents and identifies the Swiss licensor.
Controls and copy retain sufficient contrast across artwork-backed native themes.
The mobile modal composer remains visible and usable when the software keyboard opens.
The tropical illustrated theme is available across product and marketing surfaces with responsive artwork.
Web, desktop, and mobile share a single legal-consent gate before the workspace opens.
Windows users can download a signed direct installer from the release channel.
Account and connection settings are grouped into a clearer web preferences flow.
Native chat surfaces and Root Access animation retain contrast and legibility.
Source Control reports the total number of commits in the current repository.
Supported engines can accept follow-up input while a turn is still active.
Mobile theme surfaces and platform controls better match their interaction context.
Project TODO columns can reach their final card at every supported viewport height.
Roller Disco, Barrio Blanco, and the illustrated world collection gain visual previews and controlled rotation.
K3 models, pricing, quota reporting, and migration controls are available for Kimi accounts.
Administrators can combine approved product signals in a private reporting surface.
Native conversation history supports direct swipe-to-delete actions.
The project roadmap has a dedicated board view with custom mobile tag colors.
Images produced by agents are retained with the rest of the session asset history.
Usage views support local reporting time zones and faster date movement.
Active tool work is represented consistently across supported engine transcripts.
Terminal scrolling and tablet roadmap navigation work with native touch gestures.
Overlapping resume requests no longer leave the session in an invalid lifecycle state.
Expired Kimi OAuth credentials refresh before quota or session requests continue.
Native navigation keeps server administration separate from project workspaces.
Release metadata and packaged surfaces consistently display AirCode Ø.
Accounts support Apple sign-in with minimal default scopes and verified callback handling.
New password accounts are guarded by Turnstile before account creation.
Native settings expose account state and managed remote-access enrollment.
Session tags can use user-selected colors for faster visual grouping.
Usage analytics separates daily activity across web, desktop, mobile, and CLI entry points.
Git image changes can be inspected directly from native Source Control.
Animated code rain, canvas layering, and mobile bottom-bar contrast are tuned for readability.
Session actions remain available after the underlying engine process exits.
Release packaging regenerates invalid provisioning profiles before export.
Project planning uses the repository-root TODO.md as its reviewable source of truth.
The product introduces explicit consent for pseudonymous usage reporting.
Root Access gains responsive falling-code motion with reduced-motion handling.
Preview failures can launch a configured agent recovery session.
Usage cards identify providers with their expected visual identity.
Launch controls explain the effect of higher permission tiers before a session starts.
Generated and workspace images survive native conversation handoffs.
Closing the analytics choice no longer changes the stored decision accidentally.
Users can sign in with a password, receive verification codes, and recover access.
Branded onboarding explains how to connect the first host and client.
Two responsive themes join the web and native theme registry.
Native filters can create, apply, and remove session tags.
The website shows the available desktop and mobile packages in one place.
Usage periods compare equivalent elapsed windows instead of mismatched full days.
Mobile usage views and account settings expose the same core information as web.
Onboarding, native copy, and shared surfaces consistently display AirCode Ø.
Interrupted runtime transitions are hardened against partial state.
History repair replays only source commits that have not already been published.
Launch flows can guide account-backed provider connection and authentication.
Large user messages can be collapsed without losing their full content.
Usage is pinned as a first-class workspace destination.
The launch form prioritizes the prompt and core runtime controls.
Session polling uses compact snapshots and adapts heartbeat frequency on mobile.
Code samples and mobile download previews retain contrast across website themes.
Scroll indicators stay at the screen edge and selected tabs use one unambiguous surface.
The marketing build remains available when commercial integrations have not been provisioned.
Chat renders images produced through supported engine tool calls.
Private feedback can move from AI-assisted review to an approved email response.
Review workflows provide clearer evidence and action paths.
Native Sunset navigation gains a lighter translucent treatment.
Transcript adapters follow one shared contract across engines.
Mobile opens conversation history when there is no current session to display.
Feedback submissions support AI-assisted review, approved replies, and pasted screenshots.
Source-control project pickers can be filtered by name.
The download site presents the available beta and native mobile apps directly.
Session lists and live status make active work easier to distinguish.
A resumed task starts a new elapsed window instead of inheriting stale time.
Intraday charts stop at the current time rather than rendering future intervals.
Mobile exposes provider sign-in controls and clearer authentication paths.
Browser previews and controls have their own workspace destination.
Native session setup can filter projects before launch.
AI review runs share one launch configuration model across clients.
Usage views can show how activity accumulates through the day.
Sidebar search removes unnecessary hierarchy and quiets completed attention states.
Recovered development previews are checked before the browser attempts to load them.
Tab menus remain attached to their trigger while the workspace changes.
Tablet session navigation and recent completion reads survive refreshes.
Preview sessions can recover when a development server stops without abandoning the project or session.
Usage views expose more detail within the day for comparing sessions and agent work.
Native navigation and session interactions require fewer corrective taps.
Web and mobile can launch an AI review and inspect its findings.
Large native layouts gain dedicated navigation for session configuration and preferences.
Tablet workspaces can embed development previews beside the active conversation.
Mobile analytics shows how activity changes within the current day.
A focused mode gives the conversation the full tablet canvas when needed.
Dock resizing and the Sunset bottom bar respond more cleanly on large mobile screens.
Project Health warns when findings are still under review.
Native uploads retain the meaningful ending of long filenames.
Account-backed enrollment provides a managed remote path to a self-hosted instance.
Operators gain a private dashboard for enrollment and tunnel health.
Mobile share intents can start a session with incoming text or files.
Links and project files in mobile chat open in the correct destination.
Native session screens reduce unnecessary polling and render churn.
Push notifications use the expected application status icon.
A native session launch can wait for connectivity without losing the prompt.
Project Health reviews are available from the mobile workspace.
Rendered chat code exposes a direct copy action on native clients.
Narrow session layouts retain their controls and preserve chat position during polling.
Agent outputs can be delivered as reachable files and images instead of machine-local paths.
The dashboard combines unread completion state with intraday usage.
Native tablet layouts include repository status and review tools.
Administrators can review private product feedback in one controlled surface.
Native completion notifications can be cleared with a swipe.
Raw technical failures stay out of customer-facing surfaces and inline code remains legible.
Mobile navigation can use the animated AI sunset perimeter.
Native terminal sessions expose clipboard controls and interactive authentication prompts.
Large native layouts show current project and session state at a glance.
Encoded Markdown files can be opened without interpreting unsafe paths.
Completed and archived sessions retain the actions that still make sense.
Session navigation and engine changes require fewer intermediate screens.
Source Control begins in the safe, guided publication mode.
Conversation content and controls remain above software keyboards.
Message errors remain understandable without exposing raw transport details.
Session timing follows the task that is currently running.
Web launch flows can filter projects by name.
Large native layouts keep a reusable multi-pane workspace between sessions.
Authenticated users can rotate the host access password through the product.
Resumable sessions release idle runtime resources while preserving their state.
Feedback submissions can include securely stored screenshots.
Mobile navigation headers respond to content position without hiding essential actions.
Browsing and activity filters make active, resumable, and completed work easier to find.
A completion alert waits for the terminal session to reach a verified final state.
Resumed or rejected mobile submissions restore the composer instead of losing user text.
Project file links resolve to the correct workspace from web and mobile.
Usage reports separate activity by client application and session origin.
Project review capabilities and status are available more consistently across clients.
Native session controls share one clearer visual hierarchy and recap flow.
Visitor-selected website themes, native Sunset surfaces, and workspace controls stay aligned.
Live planning polling no longer destabilizes the mobile timeline state.
Native review controls remain accessible in compact layouts.
The sunset palette becomes a first-class theme across web and mobile canvases.
Native views follow one current project instead of maintaining conflicting local choices.
Web and mobile session controls put the most useful recap actions first.
The homepage and sunset-bordered calls to action explain the cross-device workflow more directly.
Knowledge actions, session states, and centered modal headings remain visible and unambiguous.
Session usage is attributed to its client platform with an app-by-app breakdown.
The public website lets visitors choose a persistent visual theme.
Native clients can move between projects and share files from a session.
Native settings include preview controls and notification preferences.
Links to project files in agent responses open directly in the native workspace.
Mobile navigation keeps essential session actions reachable and streamlines the session shell.
Web tools share one organized activity bar instead of competing for workspace space.
Web and mobile surfaces share the same canonical sunset theme colors.
Sheets finish dismissing before another picker opens, preventing stacked controls.
Session search, unread markers, and tag colors remain distinct and current.
Unreliable graceful-exit actions are removed instead of promising an unsafe lifecycle transition.
Theme announcements are not duplicated and Green App artwork keeps sufficient contrast.
Web, mobile, and tablet clients can prepare reusable project context and launch agent-backed plan work.
Users can inspect available product updates and submit guided feedback from dedicated surfaces.
Desktop packages can discover signed updates through the release channel.
Conversations retain generated assets and expose reusable summaries across web and mobile.
Planning can keep independent roadmaps for more than one project.
Session, planning, Knowledge, preview, and theme behavior align across web and native clients.
The website demonstrates the cross-device workflow and provides a concrete feature comparison.
Reusable session context stays scoped to the relevant project without overwhelming the prompt.
Cleanup sweeps no longer remove sessions that are launching at the same time.
Rewriting a plan does not erase the current live activity state.
Truncated generated titles no longer prevent a rollout from being recovered.
The first confirmed public beta adopts the shared sunset visual identity.
Native session lists distinguish work that is live from work that can be resumed later.
Desktop payload links, Android signing checks, and portable package structure are validated before publication.
A failed response keeps its retry and recovery actions.
Clients fall back to raw uploads when connected to an older server.
Modal conversations remain above the iOS software keyboard.
Stay current
Versions install side by side, switching is atomic, and persistent tmux sessions stay available while AirCode Ø updates.
$ aircode version
$ aircode update --check
$ aircode update