Vancetope 0.6.0 is out 🎉

Vancetope 0.6.0 is tagged and pushed — 56 commits since 0.5.0.

0.5.0 opened doors. 0.6.0 is about who gets in and what it looks like once they’re inside: a licence anyone can build on, a sign-in people already have, a desktop app macOS trusts, and a surface that finally looks like one product.

Open source

0.6.0 is the first release under the GNU AGPLv3. The switch from the Business Source License was always scheduled — for 2029; it now applies from this release on. Releases up to and including 0.5.0 stay under BSL 1.1. The login page and the user menu link to the source, as the AGPL asks of a network service. The why is in Vancetope is open source.

Sign in with Google

Vancetope now signs people in with Google — for Google Workspace domains and for prepared Gmail accounts — on the login page and in the native apps, iOS and desktop included. The operator maps domains to tenants in one central _vance/config/sso.yaml; anus sso config show|import writes it validated. An account prepared for SSO has no password, offboarding ends password sessions too, and the app handoff names the receiving app before Google is even asked.

A desktop app macOS trusts

The macOS desktop app is now signed with a Developer ID and notarized by Apple — for Apple Silicon and Intel. No more Gatekeeper warning, no more --no-quarantine or xattr workarounds:

brew install --cask mhus/vancetope/vancetope-desktop

Or grab the .dmg from the release. Already on 0.5.x? brew upgrade --cask vancetope-desktop.

Connect any MCP server — with OAuth

Vancetope was an MCP server with a real OAuth server in front. Now it is a proper OAuth client too: point a server tool at any remote MCP server that wants a login, and the brain runs the whole dance — discovery, client registration (metadata document, dynamic registration, or a client ID you paste), resource indicators, rotating refresh across pods. Log in once per user, project or tenant, right from the settings panel.

Money limits

Cost budgets set a ceiling in money, per tenant and per project. Every level has to pass before an LLM call goes out, so a project can’t spend the tenant’s month in an afternoon.

One look, nine languages

  • Corporate design across the Web UI, the facelift shell and Bistromath apps: shared tokens and fonts, Lucide icons instead of glyphs, four button roles, grouped lists, one dialog anatomy, and a dark mode that is actually readable — the canvas included.
  • The Web UI speaks nine languages. English is the master; German, French, Spanish, Portuguese, Polish, Russian, Japanese and Chinese are generated and loaded on demand. The language picker in the user menu is a submenu now — nine was too many for a flat list.
  • The settings panel took over server tools and tool templates from the old tools page; inherited entries can be overridden right where they show up.
  • Leases got a tab in Insights with tenant-wide revoke, and the Chat tile warns when the tenant has no default model yet.

Worth knowing before you upgrade

Kit sources trust a key ring now. A source in kit-sources.yaml lists publicKeys (key id → PEM) and a kit is checked against the key its signature names — which makes key rotation possible. The old single publicKey form is refused with a pointer to the new one; the key of the default library ships with the brain, so an entry for library.vancetope.com needs no key at all. A broken PEM or a duplicate key id now fails when the file is read, not at install time.

Docker images are on Docker Hub as 0.6.0 and latest; the full list, fixes included, is in the changelog. The CLI installs as brew install mhus/vancetope/vancetope; Java-free bundles hang on the release. See Upgrading for the walkthrough.

Try it

  • Get started — the Docker stack, a couple of commands, a few minutes.
  • Bring your own model — Vancetope ships no model; you connect your own.
  • Something broken? Discussions or an issue. Still early, still rough, still real.

Onward to 0.7. 🚀

🎉 more confetti