Skip to content

Releases and updates

What changed in Velora.

New capabilities, important fixes, documentation changes, and desktop availability are recorded here. We publish only what has shipped or what is clearly marked as upcoming.

Velora 3.0.0-alpha.31 is the current release

macOS 13+ · Apple silicon · 151.2 MB · signed and notarized

Download

The hardened boundary

A security pass over everything alpha.27 shipped: the packaged app now trusts only its own renderer, refuses DevTools and remote debugging, room joins are rate limited through a new Edge Function, CORS answers only allowlisted origins, and a secret-and-exposed-file gate guards the repository and its history.

  • ImprovedPrivileged IPC accepts frames from the packaged renderer entry exactly, not any file: URL
  • ImprovedPackaged builds strip remote-debugging switches, block DevTools, and deny every permission check
  • NewRoom joins run through velora-room-join: bearer-authenticated, shape-validated, and limited to ten joins per minute with a 429 retry-after
  • Improvedvelora-brain and velora-entitlements echo only allowlisted browser origins instead of *
  • NewA dependency-free security gate blocks credential files, secret patterns across every reachable commit, and unsafe renderer sinks — wired into CI and the release path
  • ImprovedThe deprecated @base-ui-components/react package is gone and Playwright left production dependencies, after a clean advisory audit

Codex tools reach Velora's approval gate

Codex tasks receive their task-scoped Velora MCP server through the App Server configuration that owns the thread, its reviewer forwards MCP calls through Velora's audited permission gate, and computer tasks accept any spelling of a namespaced tool. The live team release gate now requires three real providers and passed with Codex, Claude, and OpenCode.

  • ImprovedCodex tasks wait for their Velora MCP server to connect before work starts
  • ImprovedThe App Server reviewer's MCP calls go through the same audited permission gate as everything else
  • ImprovedFully-qualified MCP tool names are normalized before the computer-task allowlist applies
  • ImprovedThe three-agent release gate requires exactly three configured providers — it no longer downgrades to a two-agent diagnostic

The sidebar keeps its shape, and the app explains itself

Sidebar grouping became structural, so a saved order can no longer dissolve it into one unlabelled list. New installs open on a short getting-started checklist that reads live state, the welcome screen moved into the account menu, and the icon set dropped eight arbitrary sizes for four sharp ones.

  • FixedThe sidebar dropped its group headings permanently whenever the saved order interleaved groups; sections now always render and reordering works within them
  • NewA getting-started checklist on new installs that reads live state and dismisses itself, reopenable from the account menu
  • ImprovedIcons collapsed from eight sizes to four, with a heavier stroke at small sizes so glyphs stop rendering on half pixels
  • ImprovedThe design harness covers the Usage screen's plan-activity and Velora Brain panels, which had been crashing it

Sign in with a password, and meet the Brain

Sign-in no longer depends on an email arriving: the same email-and-password credentials as the website work in the app. The built-in Velora Brain reaches the composer's Refine button, plan limits gained real enforcement machinery starting with internal accounts, and the release toolchain stopped depending on GitHub Actions.

  • NewEmail-and-password sign-in; the six-digit code flow that never had real email templates is gone
  • NewAccount avatars: set a picture on the website and the sidebar and account panel pick it up
  • ImprovedThe Brain's Refine action is wired into the composer, billed to the account, with its daily allowance visible in Usage
  • ImprovedPlan limits can be enforced per cohort — team-size caps, parallel-start refusals, and a Plan activity log of every run that went past the plan
  • FixedSettings → Navigation saves again: the validator listed eight of twelve views and rejected every save

Confirmations work again

If you pressed Disconnect on an integration in alpha.23, nothing happened. Same for Delete on a crew, a workflow, an automation, a hook or a saved memory; same for Remove on a plugin, an MCP server or a spend limit; same for Revoke on a…

  • ImprovedThe daemon could log database is not open while shutting down, when a task that was still finishing wrote after the database had closed. Harmless,…
  • ImprovedReleases now tag the commit they were actually built from. The tags for alpha.22 and alpha.23 name unrelated code — the binaries are unaffected,…
  • ImprovedExisting preferences are read forward; nothing needs resetting
  • ImprovedV2 installs still need a one-time manual update to v3

Sign-in works, and one button language

Every release before this one was compiled without the Supabase publishable key, so the account panel reported itself unconfigured and nobody could sign in. Nothing was wrong with the auth code — the key was simply never passed to the…

  • ImprovedThe task composer is one input group: the outcome field, the attachment actions and Run task in a single frame instead of three stacked rows, with…
  • ImprovedThe pairing command on the Workers panel copies from a masked field rather than printing your token on screen
  • ImprovedWebhook secrets and URLs copy the same way
  • ImprovedAny accent colour, not just the four presets. The picker sits beside them in Settings and everything reading --accent follows
  • ImprovedComposer defaults. Set the agent, mode, environment, project and budget you usually want, press Save defaults in the composer, and the next task…

Background Computer runtime seam

Stage 13's foundation ships as real code, honestly gated.

  • ImprovedComputerRuntime manages a QEMU VM lifecycle: headless boot (HVF-accelerated), user-mode networking with SSH forwarded, graceful stop over the…
  • ImprovedGuest commands run over SSH — no agent to install; a stock cloud image with your key injected works from first boot
  • ImprovedScreenshot via the guest's own screenshot tool, returned as bytes
  • ImprovedQEMU detection is honest: Setup Doctor reports it installed or not, never guesses
  • ImprovedThe computer tools (observe/click/type/key) that wire the runtime into the agent's tool surface — the dispatcher branch is committed, the tool…

Proposals, tournaments, and OpenCode as a server

Phase 4 closes: the last three deferred items from the roadmap's exploration and provider stages.

  • ImprovedThe evaluator prompt shows only measured rows, leaders, and caveats — no competitor self-assessment — and its output is a proposal for the room,…
  • ImprovedV2 installs still need a one-time manual update to v3

Workers, and the interface re-tuned

Two things land together: the first release of self-hosted workers, and the field-and-button migration polish.

  • ImprovedOn the host: Settings → Workers shows the pairing command. On the worker: VELORA_WORKER_TOKEN=… velorad --worker ws://host:8789
  • ImprovedThe worker connects outbound (nothing listens on it), executes delegated nodes as single tasks in its own worktree, and ships results back as git…
  • ImprovedA worker that stops answering drops out of the pool: its queued nodes return to the host and its running nodes are reported interrupted — never…
  • ImprovedWorker pairing tokens are per-boot; re-pair after restarting the host daemon
  • ImprovedV2 installs still need a one-time manual update to v3

Missions that span machines

Stage 5's completion: the mission room now reaches past this Mac.

  • ImprovedMembership and roles live in Supabase with row-level security keyed to your signed-in account: owners manage, maintainers and contributors write,…
  • ImprovedThe realtime channel is private: your access token is checked against those same policies on join, and re-supplied when refreshed. Your token…
  • ImprovedRemote members' comments arrive into the same mission thread, keeping their author — provenance is the point
  • ImprovedRequires signing in (the room relay is the first account-powered feature). Signed-out rooms keep working locally exactly as before
  • ImprovedSchema 13 (comments) is unchanged; rooms live in Supabase, not SQLite

A calmer interface

The redesign pass. Same Velora, same brand — a lot less noise.

  • ImprovedThe shell split up. App.tsx hosted the entire Tasks, Agents, Approvals, Usage, and Projects surface in one 1,213-line file. The shell is now 58…
  • ImprovedMissions became tabbed. A mission card used to stack its room, the agreed plan, and the prototype comparison vertically — five full panels in one…
  • ImprovedDenser, in the good way: panel padding 13/16px (was 17/19), controls 30px, sections 24px apart. More of the work fits on screen
  • ImprovedPage titles dropped from 30px to 17px. Velora is a tool, not a landing page; the loud header treatment is gone from every screen
  • ImprovedThe sidebar reads like a sidebar: 28px rows, smaller primary button, uppercase group labels (Build / Design / Set up / Safety / Settings)

The mission room, and releases that need no Actions minutes

Stage 5's first slice, built entirely on local ground, plus a release path that works even when GitHub Actions cannot.

  • ImprovedPresence — what every agent in the project is doing right now, drawn from live tasks rather than stale badges
  • ImprovedA comment thread with provenance: each comment keeps its author, its body, and the agents it addressed. One person writes as themselves today; the…
  • ImprovedA composer whose @mentions are functional, not decorative: naming an agent (@codex, @claude-code, @team) delivers the comment as steering to that…
  • ImprovedSchema migrates in place to version 13 (comments). No data is touched
  • Improved60 tests in the daemon suite (2 new: mention-steering delivery, and comment-without-target retention), 425 in core, 110 in runtime

Honest gates, sighted crews

The two items flagged at the end of last session, both closed.

  • ImprovedRegistry reachable → the real audit runs and its verdict is inherited unchanged. A found advisory still fails the build
  • ImprovedRegistry unreachable → the step skips loudly: a ::warning:: annotation on the run, and a line in the step summary saying the tree was not cleared.…
  • ImprovedThe mission's binding constraints lead, labelled as binding, when the run belongs to a mission;
  • ImprovedProject memory, when the project has memory on;
  • ImprovedThe open findings, mission-scoped when there is a mission

Build both, then decide from what came out

Two people proposing different architectures usually gets resolved by argument, and the more senior person wins. Both can simply be built.

  • ImprovedAn approach that did not finish has not lost. If one run fails, every row reports what exists and no row names a leader, with the reason it…
  • ImprovedA run that verified nothing has no result under checks failed, rather than zero. Zero failures reads as a clean run, which is the opposite of what…
  • ImprovedA tie leads nobody. A row where both are equal separates nothing, and marking both as leading reads as though it did

What the mission agreed to, and what you missed

A mission is more than its objective sentence, and coming back to six hours of overnight work is only useful if the first thing you see is what is blocked on you. This release adds both.

  • NewWhat this mission agreed to

Crews that hold their word, hooks that fire

Stage 3 of the roadmap, finished honestly: what a crew member declares is now what actually happens. Plus the missing half of hooks — they were registrable and editable, and now they run.

  • ImprovedA member with a tool allowlist is refused anything outside it, by name
  • ImprovedA read-only member cannot run tools that change things — write, destructive, privileged — whatever the permission preset allows. Reads and browser…
  • ImprovedA member's budget becomes that task's spending cap, governed by the same ask / wait / stop machinery as a mission budget
  • ImprovedBefore.tool gates every model-initiated tool call — a blocking hook's refusal cancels the call before anything executes;
  • ImprovedBefore.file.write / after.file.write fire per written path, so a formatter or a protected-path gate works;

Routing and fallback chains

Stage 2 of the roadmap: Velora's model neutrality stops being a dropdown and becomes a routing layer. This is the release where "Codex hits quota, work moves, nothing is lost" becomes a fact.

  • ImprovedCrew members pinned to "Velora Auto" no longer crash at session start ("Unknown provider: auto")
  • ImprovedThe harness/model backend rule documented in alpha.11 is now actually enforced where fallbacks move work
  • ImprovedSchema migrates in place to version 10 (model groups, routing outcomes). No data is touched
  • Improved361 deterministic tests pass, up from 324. The new suites are keyed to the specification's own routing identifiers (R-001…R-008, F-006)
  • ImprovedV2 installs still need a one-time manual update to v3; the updater formats are incompatible

Read the setup you already have

Velora can now read the AI setup you already have, connect to the services you already use, and check its own work against a baseline. The account moved to where every desktop app puts it.

  • ImprovedThe same skill reachable through two tools is recognised as one skill, by hashing its instructions rather than its directory
  • ImprovedThe same MCP endpoint configured in two tools becomes one Velora connection, so every agent shares it
  • ImprovedNothing is trusted because it was found. A discovered hook is a command another tool runs automatically, so anything beyond a recognisable…

Crews, workflows, automations, hooks

Velora stops being one loop you configure and becomes a system you compose: who does the work (crews), when and in what order it happens (workflows), what makes it start (automations), and what always happens regardless (hooks).

  • ImprovedA member pinned to an agent that is not connected is a warning. Velora Auto routes around it, so the crew still runs
  • ImprovedA read-only member holding a tool that can change things is an error that blocks activation. A reviewer that can rewrite what it reviews is not an…
  • ImprovedConditions branch on recorded facts, never on model prose. "Did verification pass" reads the verification record. A workflow that branched on an…
  • ImprovedCycles drawn with edges are rejected. Repetition is expressed with a loop node, which cannot exist without an iteration limit. That is the…
  • ImprovedA run that fired late because the machine was asleep says so, and names the time it was scheduled for. A 2 AM sweep that starts at 9:12 is not a…

Supabase account sign-in for macOS

The signed macOS build now embeds the Supabase publishable configuration at build time, so apps launched from Finder can use the Velora account email-code flow. The publishable key is supplied only through the macOS release secret;…

  • NewSupabase account sign-in for macOS

A calmer desktop surface, with every action accounted for

The Velora desktop overhaul makes the app feel native on macOS, gives every provider a deliberate identity, and makes mutations recoverable instead of silent. Existing v3 installs can receive the signed build through the in-app updater after the public release finishes publishing.

  • ImprovedReserved space for macOS traffic lights and kept the Velora mark clear of native window controls
  • NewAuthentic provider identities for Velora Auto, Codex, Claude, Gemini, OpenCode, Antigravity, and mapped custom APIs
  • ImprovedGrouped Agents by readiness with complete status, metadata, diagnostics, and responsive connection setup
  • NewShared action feedback with progress, duplicate-click prevention, success confirmation, and persistent recoverable errors
  • ImprovedAsync confirmations stay open while busy and preserve form state when a mutation fails
  • ImprovedSettings now groups Account & Updates, App & Appearance, Connections & Security, and System with the exact build version

One dark surface, and a changelog worth reading

The website no longer alternates light and dark bands between sections, and the resource pages are no longer a separate light theme. Product screenshots now sit in real macOS window chrome, and this changelog became a first-class surface with filters, per-entry links, and a feed.

  • NewFilter the changelog by macOS, website, or account changes
  • NewA linkable anchor on every changelog entry, and an RSS feed at /changelog/rss.xml
  • NewThe current macOS build, its size, and a direct download at the top of the changelog
  • NewEntries are grouped as New, Improved, and Fixed rather than Added and Changed
  • ImprovedA single dark canvas across every page, with hairline rules instead of alternating light and dark sections
  • ImprovedScreenshots and the product tour now render in macOS window chrome instead of a generic frame
  • ImprovedA shorter hero, a supported-provider strip, and a wider footer with product, resource, and legal columns
  • FixedDocumentation, download, support, sign-in, and account pages no longer render in a light theme that did not match the rest of the site

Release Captain turns an outcome into a verified release packet

Release Captain inspects GitHub, plans parallel fixes in isolated worktrees, runs release gates, and pauses before landing or publishing. The desktop release also hardens offline sign-in state, platform detection, and the monochrome mountain workspace.

  • NewRelease Captain workflow with GitHub CLI preflight
  • NewVersioned run receipts and routing contracts
  • NewExplicit signed-out, remembered-offline, refreshing, authenticated, and re-authentication states
  • ImprovedUpdated the desktop and website release surface to macOS-only
  • ImprovedUpgraded the website to Next.js 16.3.3 and React 19

The hero stays readable, and the range sits where it belongs

The mountain range now lives in the lower band of the homepage so the headline and download buttons stay in the sky. Velora 1.1.2 for macOS is the matching desktop release.

  • NewVelora 1.1.2, delivered to existing Mac installs through the in-app update banner
  • FixedPinned the homepage night range below the headline and call-to-action buttons

A clearer home for docs, releases, and support

This update gives Velora users a dependable place to understand the product, follow availability, and manage an account before the desktop release expands.

  • NewDedicated documentation and support pages
  • NewA public changelog for product and release notes
  • NewA direct sign-in route using the same Velora account as the desktop app
  • NewmacOS universal release tracking
  • ImprovedSimplified the main navigation around product, docs, updates, support, and account access
  • ImprovedRemoved oversized decorative Velora wordmarks
  • ImprovedClarified when product imagery is a temporary placeholder

Monochrome identity and provider clarity

Velora moved to a black-and-white visual system with a mountain-led hero, consistent typography, restrained motion, and clearer product explanations.

  • NewProvider roster for supported model categories and local Ollama use
  • NewReduced-motion behavior for interface effects
  • NewProduct-specific approval and workflow demonstrations
  • ImprovedReplaced generic generated imagery with real interface components and neutral screenshot placeholders
  • ImprovedUpdated the founding offer to 14 days of Pro for the first 1,000 eligible users, with no card required
Need help with an update?

Send the version, platform, steps, and any relevant screenshot.

Contact support