Skip to content

4.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 10:21
· 235 commits to main since this release

✨ The 4.1.0 tour

A fleet you can run from one screen. CodeAlta 4.1 gives Fleet a home: an overview and tables that scale, machines that start at boot and sign in from your desk, and automations that chain and run without a model. It also brings side questions, notes on your project's pages, and a calmer workspace. Here is the tour of what is new since 4.0.0.

🛰️ The Fleet console

Settings > Fleet > Overview: machines online, sessions, the server and the spaces on it, the machines that need attention and the parts left to set up

Settings > Fleet opens on an Overview: how many machines are online, what needs your attention, the server of each space, and what is left to set up. Machines, people, devices, policies and the audit log are now tables you can sort and filter. They show a large fleet a page at a time, and the audit log is read from the server by page and filter, however long it gets. More → (#369)

🔑 Machines that stay on and sign in from your desk

Tick Always on when you add a machine over SSH or create your server, and its node starts at boot: a Windows service, a LaunchDaemon on a Mac, or a lingering systemd unit on Linux. The page of a machine tells you whether it does. Sign in… on that page signs the machine in to Codex, GitHub Copilot, Claude Code (on Windows too), Mistral Vibe, ACP agents that take an API key, MCP servers and gh. You don't need a terminal or SSH: the machine keeps the token, and your computer only relays the code. Pairing two desktops now works both ways in one step. More → (#365, #366, #359)

💬 Side questions

Ask the model of a session about it while the session goes on, without adding the question to the conversation: click the speech bubbles beside the microphone, or type /ask. Every provider answers them, Claude Code, Codex CLI and ACP agents included, and earlier answers stay in a list. More → (#370)

🖍️ Notes on your project's pages

In the CodeAlta browser, click Annotate, mark the elements of a page of your project and write what should change. You can paste a mockup too. The notes reach the session with the source files where each element is written. More → (#355, #356)

⚡ Automations that chain

An automation can now start when a project is added, archived or removed, when another automation ends, or on an event from a source or a plugin. With Run without a model, a script does the work alone. Plugins can add triggers and scripts to the library of Code Mode. More → (#354)

📋 Your work, by day

The Work items tab: follow-up tasks grouped by Today, Yesterday, This week and Last week, newest first, one of them open

Work items shows when each task and plan was created. They are grouped by Today, Yesterday, This week, Last week and by month, newest or oldest first. The Issues tab shows 50 items at a time, with Show 50 more up to 500, on GitHub, GitLab, Bitbucket and Azure DevOps. More →

📰 What's new, inside CodeAlta

The Release notes window: version 4.1.0, What's new and Update to 4.1.0, the notes with a picture, and Don't show again on startup

The Release notes window reads the releases from GitHub. It tells you when a newer version is out, and shows what it brings once you update. More →

🎁 And also

  • Windows that fit. Smaller and Larger in the title bar of every window, Settings included.
  • Find on the phone. Search a session or a file from your phone; long activity headlines no longer get cut. (#374, #371)
  • Model lists in order. Models sort by family and version. (#361)
  • Project MCP servers. Servers of .alta/mcp.json find the files of the project, relative paths and variables included. (#368)
  • Cleanups that count. Clearing the scratchpad and removing worktrees say how much space they free.
  • Sessions on a node. Each session started on a machine gets a worktree of its own and the machine's sandbox, and its worktrees are removed when no session uses them.
  • The little snags. Fixes cover "No model ready" while providers start, a middle click that pasted into the prompt, phones over Dev Tunnels, fleet machines that asked before every tool call, worktrees left behind by deleted child sessions, and the Search card of the welcome page. (#367, #357, #364, #358, #372, #373)

🙏 Thank you

To @kzu for side questions, model lists in order and the phone's headlines; @windischb for browser annotations, plugin requests across windows and worktree cleanup; and @xen2 for find on the phone and the prompt's right-click menu.

And to @emmanuelbretonbelz, @BenjaBobs, @dpen2000 and @TechInterMezzo for the requests and reports behind the Project trigger, the middle-click fix, fleet approvals, Dev Tunnels and "No model ready".

All changes

Changes

✨ New Features

  • Add side questions to desktop sessions (PR #370) by @kzu
  • Add a worktree of its own to each session started on a node (5d4bc37)
  • Add the removal of the worktrees a node's sessions no longer use (cef7ffb)
  • Add the sandbox of a node to the sessions it runs, where it can run (e88d917)
  • Add pairing two computers both ways in one step (#359) (4e58c31)
  • Add the trigger of a source to automations (c15abd9)
  • Add automation triggers that plugins give (77cd310)
  • Add the engine of trigger sources to automations (4879ea5)
  • Add the Project trigger to automations (#354) (40aa186)
  • Add the Automation trigger, to chain automations (92c7c9c)
  • Add automations that run a script without a model (0cdfc61)
  • Add scripts that plugins give to the library of Code Mode (33e419c)
  • Add the triggers of sources and scripts without a model to the editor (4280c9f)
  • Add triggers of sources and scripts without a model to alta automation (7ddd7f7)
  • Add the docs of trigger sources and scripts without a model (21dd3b0)
  • Add DeepSeek Flash runs of CodeAlta and OpenCode to the HARD-51 kit (1ce08af)
  • Add CodeAlta.Core with safe file writes, reads and path locks (8d03770)
  • Add signing a machine in from the desktop with its browser (#366) (a6469b2)
  • Add signing the tools of a machine in from the desktop (#366) (8b9d57b)
  • Add a Windows service for altanode and altaserver install --system (#365) (ef8c399)
  • Add whether a machine's node starts at boot to its page (#365) (42a10d7)
  • Add Always on to the setup of a machine or a server over SSH (#365) (81791d4)
  • Add Always on to the Add machine and Create my server dialogs (#365) (93f0e4a)
  • Add altanode secrets key-file for a node started at boot (#365) (6201585)
  • Add signing in the providers of plugins of a machine (#366) (5d63d4f)
  • Add signing Claude Code in on a machine from the desktop (#366) (8bcd4e5)
  • Add a Fleet tab to Settings, with an Overview and tables that scale (#369) (c2e06bc)
  • Add standalone turns for providers that keep their conversation (#370) (6d23457)
  • Add standalone turns to the Codex CLI provider (#370) (0441336)
  • Add standalone turns to the Claude Code provider (#370) (5538e76)
  • Add standalone turns for ACP agents (#370) (f0f4256)
  • Add Smaller and Larger to the title bar of every window (139d4a2)
  • Add a Release notes window, read from the releases on GitHub (3a2a7aa)
  • Add Mistral Vibe sign-in of a machine from the desktop (e83f991)
  • Add ACP agent API keys typed on the desktop for a machine (8946828)
  • Add Claude Code sign-in of a Windows machine in ConPTY (6504c29)
  • Add paging to the Issues tab: Show 50 more, up to 500 items (03ed6ae)

🐛 Bug Fixes

  • Fix plugin requests reaching only the window whose page watched last (PR #362) by @windischb
  • Fix mobile activity headline truncation (PR #371) by @kzu
  • Fix worktrees left behind when deleting a session with its children (PR #373) by @windischb
  • Fix fleet machines that ask before every tool call (#358) (bbe42a3)
  • Fix Edge exiting at its start under a compatibility layer of Windows (224e417)
  • Fix browser annotations lost when the browser of a session changes (89912c7)
  • Fix the model list of the prompt reordering a provider in its own order (dd21bfd)
  • Fix a machine never reached again after a handshake its WebSocket cut (7aa92ee)
  • Fix the validation of trigger sources (a5b7244)
  • Fix Chat Completions turns failing when their stream is cut (c5a14e0)
  • Fix a run failing when the model calls a tool it was not given (1179e0e)
  • Fix reasoning sent back to a provider differing from what it wrote (fa7af14)
  • Fix the HARD-51 kit for concurrent runs and OpenCode replays (6065103)
  • Fix Chat Completions turns failing on a stream that ends early (22b2922)
  • Fix credential reads finding no file while a refresh replaces it (2a28644)
  • Fix the phone page saying a new phone is no longer connected (#364) (e3dbc3b)
  • Fix a middle click closing a tab pasting into the prompt on Linux (#357) (41a5fe5)
  • Fix other people's sessions on a team machine using a personal plan (#366) (b28fe1c)
  • Fix gaps the review found in boot services and sign-ins (#365, #366) (6a96c6e)
  • Fix the protection of a service's data root and its status (#365, #366) (9bf76b1)
  • Fix the options of run read as a frozen set, no static mutable data (#365) (a9dfa53)
  • Fix a local account of a service taken for a domain user's (#365) (1f32ce6)
  • Fix the Fleet console after review, with its guide pictures (#369) (a43b1df)
  • Fix the batch file path of a tool read on Linux (#365) (5a3143f)
  • Fix the preview of a side question answer that is a table (#370) (714c0de)
  • Fix a side question of an ACP agent to run in an empty folder (#370) (d800b46)
  • Fix the Node test of damaged links failing when its change meets a read (710032d)
  • Fix the panel of a plugin provider repeating in Settings (744682a)
  • Fix tiers showing No model ready while their providers start (#367) (c06737f)
  • Fix project MCP servers of .alta/mcp.json not finding project files (#368) (356778b)
  • Fix tier readings that could miss a provider getting ready (#367) (8105122)
  • Fix a relative MCP cwd given by a variable not taken from the project (#368) (87f106a)
  • Fix older messages on the phone waiting for those of another session (13084d6)
  • Fix a worktree removed although a session came to it meanwhile (596d792)
  • Fix the Fleet Server and Machines pages blinking on host changes (de91de6)
  • Fix the release notes opening at startup of the developer instance (ef8cdc6)
  • Fix the Search card of the welcome page coming and going with turns (1c0db8d)
  • Fix the Search card of the welcome page to stay, its content changing (c8bbf5e)

🚀 Enhancements

  • Add browser annotations of project pages, sent to the session with where each element is written (#355) (PR #356) by @windischb
  • Enhance model lists to sort by family and version (PR #361) by @kzu
  • Fix the right-click menu of the prompt with no surface (PR #363) by @xen2
  • Enhance the Fleet pages with short descriptions and help buttons (#369) (d3bfd89)
  • Enhance the Fleet tables to show a large fleet a page at a time (#369) (d1b5452)
  • Enhance Fleet tables and help to keep the work in progress (#369) (1274e3f)
  • Enhance side questions with a prompt button and a list (#370) (d852f5d)
  • Enhance the external writing instruction to require the CodeAlta link (585aaf7)
  • Enhance Fleet devices, policies and audit into tables that scale (9e3272a)
  • Enhance the Work items list to read by day, newest or oldest first (7ffe9f3)
  • Enhance cleanups to say how much space they free (4a3ae1e)

🏭 Tests

  • Fix test: keep the events a node gets as soon as it connects (2ebc12f)
  • Fix test: count what the source fetch reads, not what the server wrote (6a09e5b)
  • Fix test of the sessions of today failing just after midnight (50329b7)
  • Improve test: picture of the API key a machine is signed in with (043cea7)

📚 Documentation

  • Add doc of HARD-51 with DeepSeek Flash: CodeAlta against OpenCode (7780828)
  • Update doc of HARD-51 with DeepSeek Flash after the fixes (6c381c2)
  • Update doc of HARD-51 with DeepSeek Flash: required tests passed (486c868)
  • Update doc of the harness benchmark with CodeAlta against OpenCode (7226c27)
  • Update doc for machines at boot and their sign-ins (#365, #366) (3070e07)
  • Update doc and panel of side questions for every provider (#370) (2a730cf)
  • Update doc for Vibe, ACP and Windows Claude sign-ins of a machine (881b7e1)

🧰 Misc

Full Changelog: 4.0.0...4.1.0

Published with dotnet-releaser