---
title: "Release notes"
description: "Alpacon release notes grouped by ship month, newest first. Track new features, improvements, and notable fixes across the web console, CLI, and agent."
---

> Full documentation index: https://docs.alpacax.com/llms.txt

# Release notes

User-facing changes to Alpacon, grouped by the month they shipped, newest first. Each month opens with a few highlights, then lists the rest of that month's updates across the web console, CLI, and agent.

## October 2026

### Highlights

- **A new console layout**: Navigation moved into a sidebar you can collapse to icons, and your account menu (settings, theme, sign out) now sits at the bottom of that sidebar. The sign-in page has a new design too.
- **Review logins that bypass Alpacon**: External access review flags SSH, console, and `su` logins that reach a server without going through Alpacon, and asks your reviewers and the person who logged in to account for them; repeat logins from the same account and source arrive as one alert. It stays off until a security admin or admin turns it on in Policies → Server access. See [Turn on detection](/use/audit/governance/external-access/#turn-on-detection).
- **One approval covers a command's sudo**: Approving a held command now also approves the `sudo` in it, so you aren't asked twice. Approving or rejecting a request that grants standing access, such as a service token or a sudo policy, now always asks for MFA. See [When a decision asks for MFA](/use/approvals/reviewing/#when-a-decision-asks-for-mfa).
- **Access rules**—Access rules under Policies replace Privileged access and Approval rules, and the old addresses open the new tabs. Each rule reads as a sentence you edit in place, a rule can name its approvers, and Try it shows what a request would get. **Sudo outside the web terminal** replaces "Block sudo outside Websh" with the opposite switch direction: on allows sudo outside the web terminal and off blocks it, so a workspace that blocked it keeps blocking and shows the switch off (see [sudo and root access](/use/policies/server-access/)). See [Access rules](/use/approvals/#access-rules).
- **Allow rules for AI agents**: An Allow rule for AI agents admits an agent session that states its purpose; without a purpose, it waits for a person. See [Rules for AI agents](/use/approvals/#rules-for-ai-agents).
- **Rules for AI agents and self-approval**: Session rules can match the AI agent's reported name to block the request or require someone other than the requester to approve. Sudo and command rules can require another approver too. Approval cards and the session page show what Alpacon checked, and Slack and email approval messages name the AI agent. See [Who may approve a request](/use/approvals/#who-may-approve-a-request) and [What Alpacon checked](/use/approvals/reviewing/#what-alpacon-checked).
- **AI agents get agent sessions**: Run `alpacon` under an AI agent's environment markers and the session is an agent session that follows your workspace's approval rules; Websh and Kubernetes aren't available to it. `--requester-type user` is refused while a marker is set. If you are running the command yourself, use a terminal outside the AI agent's environment. `AI_AGENT=<name>` covers an AI agent the CLI doesn't detect, and `--account` names the account the work runs as. See [`alpacon work-session create`](/reference/cli/work-session/create/).
- **Fewer, threaded emails**: A work session's approval requests arrive as one email thread and one Slack thread, session risk analysis emails only for Critical results, and the open alert digest stops reminding you about alerts someone has already checked. See [Notifications](/use/settings/notifications/).

### Other updates

- **Why an agent isn't upgrading**: When automatic upgrades keep failing on a server, its page tells you why, which features the server is missing, and how to upgrade it by hand. Upgrade history shows the reason for each failed attempt. See [Upgrade history](/use/servers/manage/#upgrade-history).
- **Times show their UTC offset**: Audit times read like `2026-10-06 14:41 UTC+9`, and Slack alerts and approval messages show the offset instead of a zone abbreviation. See [Workspace settings](/use/workspace/settings/).
- **See which AI agent made a request**: Work sessions, commands, and approvals show the name and version of the AI agent its client reported, marked as reported by the client. See [Live activity](/use/live-activity/).
- **Open metric alerts on a server's page**: The status banner on a server's page lists its open metric alerts and updates as soon as one opens or resolves. See [Server status banner](/use/servers/monitor/#server-status-banner).
- **Session controls match what you can do**: End, extend, and edit appear only for people who can use them, and you can end a session that your AI agent or CLI token started from **Live activity**. See [Live activity](/use/live-activity/).
- **Larger Websh invites**: One invite takes up to 20 email addresses, and the console says why an invite or a certificate request was refused. See [Share a session](/use/work-sessions/terminal/sessions/#share-a-session).
- **Some certificate authorities can't be deleted**: A certificate authority that has received a signing request can no longer be deleted, so what it signed stays on record. To stop using one, remove the server it runs on. See [Deleting a CA](/use/private-ssl/authorities/#deleting-a-ca).
- **Self-hosted upgrade**: After upgrading, run `python manage.py sync_permissions --migrate-data` once; one run covers every workspace. If you're upgrading from a version older than 2.37.1, stop the web, worker, and beat services before migrating.

### API changes

Breaking: the nine single-resource `*:owner` roles, such as `server:owner` and `alert_rule:owner`, are replaced by `*:maintainer` roles with the same permissions. Existing bindings move automatically, but creating or binding an old name now fails with `rbac_role_name_reserved`, so update your scripts; `user:owner` and `group:owner` are unchanged. A workspace timezone must be an IANA name such as `Asia/Seoul` (`preferences_timezone_invalid` otherwise), reading other people's activity needs `activity:read`, and `GET /api/servers/servers/versions/` was removed. New: approval requests carry the reported AI agent in `declared_agent`, work sessions return `can_manage` and `can_cancel`, the work session timeline pages with `cursor`, and commands and Websh sessions gain risk, time, and analysis filters. See [Resource-scoped roles](/use/workspace/settings/roles/).

## September 2026

### Highlights

- **Server charts and alert rules become the Metrics extension**: On Essentials and Enterprise, an admin turns it on under Extensions in workspace settings. Workspaces already on a paid plan have it on, new workspaces start with it off, and every plan keeps online status, the offline alert, and disk usage. See [Monitoring metrics](/use/servers/monitor/#monitoring-metrics).
- **Fewer, calmer alert notifications**: Warning alerts now go to your Slack channel and an hourly digest for admins instead of emailing everyone; critical alerts still email. An offline alert now tells you when the server is back, and a server that keeps dropping sends one "unstable connection" notice instead of a message per disconnect. See [Notifications](/use/settings/notifications/).
- **Reboots and OS updates run in a work session**: The server actions menu is gone: reboot, shut down, or update a host with `sudo` inside a work session, where your approval, MFA, and recording rules apply. `alpacon server reboot`, `shutdown`, and `upgrade` and `alpacon agent shutdown` were removed, so switch scripts to `alpacon exec --work-session SESSION_ID SERVER -- sudo …`. See [Host operations](/use/servers/manage/#host-operations).
- **Mute a server's alerts**: Pause a server's alert notifications for up to 7 days, for example before a planned reboot; alerts are still recorded, and anything still open is sent when the mute ends. You can also turn off a single alert type, such as threshold emails, without silencing offline alerts. See [Mute alerts](/use/servers/monitor/#mute-alerts).

### Other updates

- **A terminal that rides out dropped connections**: Websh reconnects after a dropped connection, replays the output you missed, and tells you why a session closed. Terminal settings such as theme, clipboard, and scrollback now open inside the terminal and follow you to every workspace. See [Manage sessions](/use/work-sessions/terminal/sessions/#reconnect-to-a-session).
- **Check an alert rule before you rely on it**: A rule's page lists the servers it applies to and previews how often it would have fired on recent data. Alert history shows why each alert resolved and where it was delivered. See [Metric alerts](/use/servers/monitor/#metric-alerts).
- **Agent updates on your schedule**: Choose whether agents upgrade automatically or only when you start it, and set the window automatic upgrades run in; each server shows its agent upgrade history. Workspaces that had automatic updates on start on Latest, and those that had them off start on Manual. See [Agent updates](/use/workspace/settings/agent-updates/).
- **Alpacon maintenance banner**: During Alpacon maintenance or an incident, a banner across the console says so, and offline alerts are held until it's over instead of paging you. See [Maintenance windows](/use/workspace/maintenance-windows/).
- **Work session extensions need a reason**: Asking for more time now goes to an approver with your reason, and the approver can grant a shorter extension. In the CLI, `alpacon work-session extend` needs `--reason`. See [Extending with approval](/use/work-sessions/detail/#extending-with-approval).
- **Delete a workspace that still has servers**: A Superuser can delete a workspace while servers are connected. Alpacon removes the agent from every connected server, and this can't be undone; a server that's offline at that moment keeps its agent until you uninstall it. See [Delete a workspace](/use/workspace/delete/).
- **Clearer terminal sharing**: The Websh participants list opens from the header with each participant's IP address and join time, and the session owner switches someone between read-only and writable with one click. See [Participants](/use/work-sessions/terminal/sessions/#participants).
- **Commands show Completed and an exit code**: A finished command reads Completed with its exit code instead of success or failure, so `grep` returning 1 no longer looks like an error. Timeouts, missing commands, and cancellations are named as such. See [Commands](/use/audit/events/commands/).
- **See where a request came from**: Approval cards show whether a request came from the web console, the CLI, MCP, an API token, or a service token. See [Reviewing requests](/use/approvals/reviewing/).
- **Redesigned Live activity**: The session list is now a monitoring table, and a session's live page opens with a summary and the approvals it's waiting on. See [Live activity](/use/live-activity/).
- **Agent reconnects faster**: The agent notices a connection that silently stopped responding and reconnects within about two minutes. Traffic charts no longer fill up with short-lived container interfaces, and an interface that disappears keeps its traffic history. See [Network interfaces](/use/servers/monitor/#network-interfaces).
- **CLI updates itself**: [`alpacon update`](/reference/cli/update/) installs the latest CLI, and `alpacon websh` reconnects when the connection drops. `alpacon agent restart` and `alpacon agent upgrade` now ask for confirmation, so pass `--yes` in scripts. See the [CLI reference](/reference/cli/).
- **Invoices show plans and discounts**: Billing history shows the plan and product on each invoice and payment, along with any promotion discount. See [Plans & billing](/use/workspace/plans-billing/).

### API changes

Breaking: the server power actions `reboot_system`, `shutdown_system`, `upgrade_system`, and `shutdown_agent` now return 400, and a work session extension needs a `reason`. API tokens with none of the `user`, `group`, `membership`, or `application` scopes get 403 on `/api/iam/*`, a service-token command outside a work session that the AI review rates Critical is refused, DHCP, DNS, proxy, and repository objects no longer carry `owner`, and setting `is_active: false` on another user now deactivates them. New: `GET /api/metrics/latest/`, alert rule preview and recipients, per-server rule overrides, agent upgrade history, and `agent_rollout_policy`, which replaces the deprecated `auto_agent_upgrade`. A 403 names what was missing in `gate` and `missing`, and validation errors point to the field. The MCP server gained matching tools and dropped its power tools.

## August 2026

- **Advisory execution control**: A workspace can keep the judgment on every command without letting it gate execution: commands run immediately, the verdict is recorded afterwards, and work sessions open without approval. Sign-in, MFA, permissions, recording, and audit are untouched, an amber **Advisory** chip in the top bar keeps the posture visible to every member, and a Superuser can switch back at any time. See [Execution control](/use/policies/server-access/).

## July 2026

- **Live command output streaming**: Work session viewers and the CLI now show a command's output as it runs, with sensitive values masked, instead of only after the command finishes. See [Live activity](/use/live-activity/).
- **Applications for AI agents (Beta)**: Register AI agents and other non-human callers as applications and issue scoped service tokens for them, each with its own per-token activity log; AI agent is now the default application type. See [Applications](/use/iam/applications/).
- **Approve requests from Slack (Beta)**: Connect your workspace to Slack and approve or reject requests from an interactive Slack message, with a reply sent back to the requester. Slack integration is now available in production. See [Slack](/integrate/slack/).
- **Connect AI agents through MCP**: AI Connect provides guided setup to connect AI agents over MCP, now including a Codex client alongside the existing options. See [MCP getting started](/integrate/mcp/).
- **Session risk analysis heatmap**: The audit console aggregates advisory risk findings from analyzed sessions into a heatmap, filterable by technique and time, so reviewers can spot recurring patterns. See [Session history](/use/audit/sessions/).
- **Low-risk auto-approval policies**: Superusers can define policies that automatically approve clearly low-risk requests, so reviewers spend their attention on the rest. See [Approvals](/use/approvals/).
- **Duration-based work sessions**: Request a session for how long you need it; the approver sees the requested duration and any adjustment made when granting. See [Create a work session](/use/work-sessions/create/).
- **Real-time server monitoring**: The server detail page has been redesigned as a live monitoring dashboard, with metrics and status updating in place. See [Monitor a server](/use/servers/monitor/).
- **CLI: safer secrets and session control**: `alpacon exec --env` keeps secrets off the command line, `alpacon work-session cancel` withdraws your own pending request, and `alpacon websh records` searches recorded sessions. See the [CLI reference](/reference/cli/).
- **MFA with an authenticator app on every plan**: One-time-password (OTP) MFA is now available on all plans. See [Security settings](/use/settings/security/).

## June 2026

- **Notification center**: A workspace-wide notification feed opens from the bell in the top bar and gathers approvals, security events, server status, and monitoring alerts; a workspace can also route notifications to email and browser push, so approvals and alerts reach you outside the console too. See [Notifications](/use/settings/notifications/).
- **Human-in-the-loop approval for commands**: When a command's risk is uncertain, execution pauses and a Superuser reviews the command and its risk rating, then approves or denies it before it runs. See [Approvals](/use/approvals/).
- **Runtime governance from the CLI**: A new `alpacon approval` command lists and acts on requests, `alpacon exec --detach` with `alpacon exec logs` runs long commands without holding a connection open, and `alpacon edit` opens a remote file in your local editor and saves it back. See [CLI approval reference](/reference/cli/approval/).
- **Ansible server registration**: Register servers with an Ansible playbook through a guided wizard in the web console or `alpacon server create --method ansible` from the CLI. See [Register a server](/use/servers/register/).
- **Lower-memory file transfers**: The CLI and agent stream large transfers and package uploads and downloads to and from disk instead of buffering whole files in memory, so big transfers use far less memory. See the [CLI reference](/reference/cli/).
- **Recover stuck agents**: `alpamon unregister` clears a server's local and remote registration state, and `alpamon register --force` recovers a registration that got stuck partway. See [Register a server](/use/servers/register/).
- **Timezone-aware emails and inputs**: Notification emails render in each recipient's timezone, and date and time inputs in the web console use your display timezone—no more timezone math for distributed teams.

## May 2026

- **Work Sessions is generally available**: Interactive access—terminal, editor, file transfer, and commands—now runs inside a scoped, approved, time-bound work session, promoted out of preview and surfaced under a dedicated Execution area. Interactive access no longer relies on standing credentials. See [Work sessions](/use/work-sessions/).
- **Session timeline, recordings, and AI analysis**: Every work session has a unified timeline of terminal, command, sudo, and file-transfer events, a replayable recording, and an AI-generated analysis that flags risky activity for reviewers. See [Session history](/use/audit/sessions/).
- **Manage work sessions from the CLI**: Create, approve, reject, revoke, inspect, and replay sessions from the terminal, and attach any `exec`, `websh`, `cp`, or `tunnel` to a session with `--work-session`. See the [work-session CLI reference](/reference/cli/work-session/).
- **Redesigned approvals queue**: The approvals page moved to a master-detail layout, so reviewers can scan pending requests and open one for full detail side by side. See [Approvals](/use/approvals/).
- **Audit console**: The former Monitoring area is now the Audit console, with sessions, sudo grants, and events organized for review and a risk badge on each session in the list. See [Audit](/use/audit/).
- **Live activity for admins**: A real-time page shows work sessions in progress, so an admin can watch activity as it unfolds and complete or revoke a session. See [Live activity](/use/live-activity/).
- **Redesigned dashboards**: The admin dashboard was rebuilt, and members now get their own dashboard as a landing page.
- **Move a server between workspaces**: `alpamon migrate` moves a registered server to another workspace and rolls back automatically if the move fails.

Source: https://docs.alpacax.com/reference/release-notes/
