github NousResearch/hermes-agent v0.23.0
Hermes Agent v0.23.0 — The Hearth Release

3 hours ago

Hermes Agent v0.23.0

Release Date: November 5, 2026
Since v0.22.0: ~10,080 commits · ~1,950 merged PRs · ~8,720 files changed · ~725,200 insertions · ~201,400 deletions · ~850 issues closed · 666 contributors

The Hearth Release. In the old hymns Hermes kept the threshold and Hestia kept the hearth, and the two were honored side by side. v0.22.0 got newcomers through the door; v0.23.0 builds the fire they gather around. The headline: your whole Desktop workspace now opens in a browser tab, served by your own gateway. Underneath it, every conversation lives in one place: a single gateway owns each session, and the CLI, TUI, Desktop, editors, bots and cron all sit down at the same table instead of each running its own agent. From that one hearth, Desktop keeps every machine you run Hermes on connected at once, Group Chats route their own conversations, and the terminal finally draws your images inline and lets you rewind a conversation. Around it: plugins that keep themselves updated, price tags and spend limits on paid MCP tools, pluggable delegation, a plugin catalog that grew from about 600 to over 1,050 entries, a leaner built-in skill set, and a long run of memory and latency work for long-lived gateways. This release rolls up and fully documents the v0.22.1–v0.22.7 patch releases.


✨ Highlights

  • Your Desktop workspace in a browser tab — The new Webapp serves the full Desktop workspace from your own gateway: the same chats, Group Chats, plugins and settings, in any browser on your network or behind a public URL with sign-in. The Docker image and Nix package ship it. It is off by default; turn it on with webapp.enabled or Web Access in Settings. (#141864, #145598, #145536, #145072, #145153 — @jquesnelle, @BearHuddleston, @IAvecilla, @Adolanium)

  • One gateway owns every conversation — Before, the CLI, TUI, Desktop, editors (ACP), messaging bots and cron could each run their own copy of the agent against the same chat, which is how messages got written twice or went missing between surfaces. Now each machine runs one gateway that owns every session, and every surface attaches to it as a client: a chat you open anywhere is the same chat, with one queue and one history. You can even steer or edit a queued prompt from Desktop without it running twice. (#106742, #140334 — @unsupportedpastels, @kshitijk4poor)

  • Pictures in the terminal — When you paste an image, or a tool takes a screenshot, the CLI and TUI now draw it right in the chat instead of printing a file path: real pixels in kitty and Ghostty (CLI and TUI) and in iTerm2, WezTerm and Konsole (CLI), coloured blocks everywhere else, and full resolution in VS Code's terminal when its image support is on. (#147293, #148874 — @Adolanium)

  • Rewind a conversation — Press Esc twice or type /rewind in the TUI or classic CLI, pick an earlier message, then edit and resend it or fork a new session from that point. The original session stays exactly as it was. The TUI can also start /new while a turn is still running; the old one keeps working in the background. (#144937, #148880 — @SaguaroDev)

  • Every machine in one Desktop window — Desktop now keeps all your gateways connected at once, so switching between this computer and an SSH or remote gateway is instant. Terminal tabs run on the host they were opened on, and a Group Chat can mix bots from different machines. (#147681, #147708, #148418 — @dskwe, @janviernine)

  • Group Chats that run themselves — Bot Mode rooms can let a lead bot, or an automatic router, pick who answers a message that names nobody. Scheduled jobs can post into a room, rooms keep a purpose and shared notes, and bots no longer ping each other in endless loops. Rooms also look like a normal Hermes chat now, and each bot shows what it is doing live ("scout · terminal · 7s"). (#144833, #148417, #148888, #148903, #148422 — @KoNit-K)

  • Plugins that keep themselves current — hermes plugins update updates everything at once, and an opt-in Auto-update switch (CLI, chat, Desktop and dashboard) keeps catalog and git plugins up to date. Updates that would break your setup are held back instead of applied. The catalog itself grew from about 600 to over 1,050 entries, and a new Verified tier marks plugins built by the vendor itself. (#141513, #85794, #143468, #144257 — @charan-rathore, @YS-OH-CORE)

  • Price tags and spend limits for paid tools — Paid MCP tools, such as 3D or media generation, can declare what a call costs. The approval prompt shows each call's price and the chat's running total, and Hermes asks before a chat goes over its limit, even in YOLO mode. (#142470, #143780, #143795, #143787 — @liuhao1024, @fangliquanflq)

  • New official plugins, and a smaller core — Meshy (text and image to 3D), ElevenLabs Music and Sound Effects, X Chat, REA (reverse engineering) and a bubblewrap sandbox are now one-command installs. Camofox, mcp-serve, the agent importers and Singularity moved out of core into plugins that install themselves for anyone who used them. (#142619, #146294, #139725, #143484, #139983)

  • Choose how subagents are run — Delegation is now pluggable: keep the default, or install the official advanced-delegation plugin to send each subagent task to a named model or into a separate profile. Switch with /delegation. (#142563, #142564, #143423)

  • Lighter and faster, especially when Hermes runs all day — Recurring cron jobs share a prompt cache, one-shot runs send about 1,570 fewer prompt tokens per call, and patch/write_file return in milliseconds with LSP on. Long-lived gateways now let go of closed sessions' memory, and the Desktop sidebar no longer slows down as sessions pile up (one store with ~35k cron runs went from a 121 s refresh to instant). (#139876, #144177, #140387, #147863, #137087, #147819, #144940 — @kshitijk4poor)

  • A leaner skill set you can lock — The built-in skills went from 58 to 44, with Word, PowerPoint and Excel merged into one microsoft-office skill. hermes curator lock stops the agent from rewriting a skill you curated by hand, through any tool, even in YOLO mode. (#147557 — @daviseford)

  • Password managers and a keychain vault key — Verified password-manager plugins can hand the browser your logins without seeing anyone else's, and the browser vault's key can now live in your OS keychain. (#143964, #144246 — @Jesssullivan)

  • Stop a running cron job — Cancel a running job from the CLI, Desktop, the API or the agent itself, and set per job what happens to runs missed while Hermes was off. (#144801 — @kokhlo, @fangliquanflq, @LeonSGP43)

⚠️ Upgrade notes

  • The old built-in browser tools are gone. Browser automation runs on browser_exec only; agent-browser and the ten browser_* tools (browser_navigate, browser_click, ...) were removed. Homes that used Camofox get the camofox plugin installed automatically. If your own prompts, skills or toolset lists name the old tools, switch them to browser_exec. (#143146)
  • Desktop needs macOS 13+ and 64-bit Windows. The app moved to Electron 44, which no longer runs on macOS 11, macOS 12 or 32-bit Windows. (#142727 — @OutThisLife, @Adihaliem)
  • hermes mcp serve is now hermes mcp-serve (it moved into a plugin). MCP clients that launch Hermes as a server need their command updated; nothing rewrites it for you.
  • Word, PowerPoint and Excel skills are now one microsoft-office skill. Old copies stay on disk until you remove them.
  • The Webapp is off by default. Nothing is served to a browser until you turn on webapp.enabled or Web Access.

🧠 Core Agent, Gateway & Tools

Providers & Models

  • GLM-5.3 is the default model when you never pick one — The silent default moves from GLM-5.2 to GLM-5.3, at about the same price and with the same 1M context window on Nous Portal and OpenRouter. (#144810 — @calvinnwq)
  • New models — GPT-6.1 Terra, DeepSeek V4.1 Flash 1017 and Gemini 4 Argon on Solstice. Claude Mythos is treated as always-thinking, so reasoning-off requests stop failing their first try. Nemotron 3.5 Super VL gets default parameters. (#145204, #140496, #139466, #148127, #138462 — @benbarclay, @unsupportedpastels, @rroverin)
  • Usage-window plans — On subscriptions that track usage as allowances instead of credits, /usage shows one bar per allowance with its reset time. Pickers list the plan's recommended models first, tag them Large or Free, and say when an allowance has run out. (#142308, #145682 — @rob-maron)
  • Daybreak for approved ChatGPT subscriptions — An off-by-default agent.daybreak switch turns on OpenAI's Trusted Access for Cyber program. It only appears on models that your account's own Codex catalog lists as approved, and it is checked again on every request. (#148056 — @unsupportedpastels, @Froraut)
  • /model reset — Takes a session pinned with /model back to your configured default without losing the conversation, in the CLI, TUI, Desktop and messaging. (#80448 — @shannonsands)
  • GitHub Copilot moved to a labs plugin — Copilot (copilot, copilot-acp) now lives in the github-copilot Hermes Labs plugin, which profiles that use Copilot install automatically. Core keeps generic provider hooks that any provider plugin can use. (#144788)
  • Custom endpoints resolve reliably — New profiles inherit custom:<name>, ${VAR} and legacy custom endpoints instead of failing with "Unknown provider". Resumed chats stay on the endpoint that served them, and a built-in provider's key no longer leaks onto a custom entry with the same name. (#138513, #139947, #140335, #147761 — @jquesnelle, @unsupportedpastels)
  • Provider quirks handled — Streamed tool calls from LM Studio, Kimi and MiniMax no longer split into broken calls. Gemini safety blocks now show as a content-policy error and move on to the fallback model. Text-only vLLM servers that reject images recover, and byte-cap 400s trigger compression. On Bedrock, a hung call fails after one read timeout instead of five. (#140485, #85031, #85005, #85126, #146314 — @Chukwuebuka-2003)
  • Local runtime on llama.cpp b11671 — Adds one-slot DFlash drafts and opt-in Nemotron 3.5 Bolt. (#139703 — @jquesnelle)

Agent Loop & Sessions

  • Lower prompt-token and cache costs — Every fire of the same cron job now shares one prompt-cache key. Background one-shot calls (summaries, titles, /moa) stop paying for cache writes. One-shot runs send 1,570 fewer prompt tokens per call, and four tool schemas are 319 tokens shorter. Gateway goal and heartbeat turns, post-compaction turns and between-turn MCP refreshes no longer rewrite the cached prefix. (#139876, #140478, #144177, #144173, #139865, #139851 — @100yenadmin, @jonpol01, @chelsealong, @AdrianBinDC)
  • Opt-in prepared compaction — With compression.prepare_ahead: true, the next summary is written in the background as a session nears the trigger, so compaction no longer pauses the turn while the summary is written. Messages that arrive in the meantime stay in the tail word for word. Off by default. (#144684, #144886 — @kshitijk4poor)
  • Compaction is more honest and harder to stall — Summaries list uncertain claims on UNVERIFIED: lines, so a guess does not come back as a fact. The main-model fallback uses the main route, /stop closes a summary stream, and queued messages and /steer survive a context-exhaustion reset. (#86019, #139872, #144825, #139783, #139923 — @helix4u, @thehugegatsby)
  • hermes sessions refresh-prompts — Continuing sessions pick up an edited SOUL.md, skills or context files on their next turn without /new. History is kept and each session takes one cache miss. (#143581 — @victor-kyriazakos)
  • Opt-in stream lifetime cap — agent.stream_max_lifetime (off by default) cuts off a stream that never finishes. Timeout errors now name the phase that failed and the setting to raise. (#80701, #80873 — @krzsda)
  • Follow-up questions about a photo still see the photo — This applies after --resume, API-server session continuation and gateway restarts. (#139873 — @Alexbob0)
  • Session storage — Auto-prune is opt-in again, and Hermes asks once when the disk runs low. hermes sessions optimize-storage shows progress and finished a real store about 18x faster. Startup no longer waits on the scratch prune, and hermes sessions failures exit 1. (#139762, #144630, #144625, #144767)

Messaging Platforms (Gateway)

  • One gateway now owns every local session — Since v0.22.0, the classic CLI, TUI, Desktop, API, ACP editors, bots and cron all run their sessions through one gateway. This cycle fixed what that broke: slash commands, /retry, /refine, /review, clarify cards, reasoning display, usage and ACP sessions work again, and config changes reach resumed sessions. (#139149, #139577, #139884, #140249, #140595, #141916, #144005, #138719 — @unsupportedpastels, @yoniebans, @drzxk, @fangliquanflq)
  • Gateway memory and responsiveness — The roughly once-a-minute freeze during memory trims is gone, closed sessions leave memory, glibc malloc arenas are capped at 4, and measured event-loop blockers moved off the loop. (#147840, #147831, #147810, #144911, #137156 — @kouyichi, @ygd58, @zwmaupin, @kshitijk4poor)
  • Safer gateway lifecycle — hermes gateway stop/restart refuse while sessions are live and never act on another home's service. A gateway started from an agent's terminal no longer mistakes itself for the launchd service, and when every platform fails at start the gateway stays up degraded. (#142041, #145930, #144592, #140922 — @salch-cred)
  • Bot Mode Group Chats — Cron jobs can post into a room (deliver: room:<id>@<profile>), waking only the bots they @mention. Rooms get a purpose and shared notes, and two opt-in modes pick who answers a message that names nobody (a lead bot, or auto routing). message_agent wakes the asker once with every reply. (#144833, #148417, #148888, #144789 — @rorsch, @OutThisLife)
  • Bot-to-bot loops end — Bots never receive runtime notices, and an exchange is capped at max_hops (default 4) after the last human message. hermes peer dm <peer>/hermes reaches the peer's default bot. (#148903, #144900 — @KoNit-K)
  • Telegram — New opt-in dm_topic_auto_transfer opens a fresh topic for root-DM messages. A new topic's first message lands in it, video notes reach the agent, and group messages not addressed to the bot can stay silent. (#141347, #141751, #147572, #147144 — @KoNit-K, @PRELVAS94, @sharpnotebot, @Horizont367, @diegoasanch)
  • Slack, Feishu, Discord — Slack thread context includes emoji reactions, and a new opt-in thread_followup_silence covers unaddressed thread replies. Feishu gets clarify cards and a choice picker you tap. Discord honours longer approval timeouts and sends plain audio as an attachment. Rooms can opt into intentional silence. (#80882, #139586, #82170, #145948, #143800, #147143 — @hackartists, @helix4u, @liuhao1024, @nicodoggie)
  • Every messaging adapter is now a plugin — Signal, Weixin, BlueBubbles, QQ Bot, Yuanbao and WhatsApp Cloud now ship as bundled platform plugins. Nothing changes for users. (#139843, #140168 — @karljohannisson, @sprmn24)
  • Streamed replies deliver images — Markdown images in a streamed reply arrive as pictures, and tool-progress arguments render in code blocks. (#144041, #139759 — @686f6c61, @sambouli)

Tools, Browser & Terminal

  • patch and write_file return in milliseconds with LSP on — A clean TypeScript edit went from 10.1 s to about 0.06 s. Type errors still reach the model. (#140387)
  • Smarter background processes — A command ending in a lone & runs as a tracked background process instead of being refused. Instead of polling a quiet process, the agent is notified when it exits. Jobs that finish during a busy turn come back as one turn. (#140317, #140330, #147678 — @lucasfdale, @suhanrain)
  • Password managers in browser_vault — Bundled or verified/official catalog plugins can add their own logins through ctx.register_login_backend, and each one can touch only its own entries. The vault key can move into the OS keychain (opt-in vault.key_storage: keychain). Saved passwords fill on Camofox pages. (#143964, #144246, #146240, #139203 — @Jesssullivan, @WillPlatnick)
  • Media generation — Krea 3 image generation and editing through the Nous gateway or the Krea API, and the default image model for paid subscribers who have not picked one. Wan 2.7 video on FAL. The agent can search and pick ElevenLabs voices in text_to_speech. (#142155, #87464, #144633 — @entropidelic)
  • Terminal backends — Sandboxing backends can set uses_host_filesystem = False so the file tools run inside the sandbox, and plugin backends can set their start directory. Singularity moved to its plugin. Command output no longer vanishes once a process has more than 1024 open file descriptors. (#143756, #142225, #142561, #142299 — @unsupportedpastels, @aholten, @MohamadKanso)
  • Browser reliability — The real-profile setting keeps working when Chrome locks the profile. Nested page data no longer crashes the tools, and hidden-tab screenshots no longer hang. (#139245, #140562, #146082 — @cmaldonado80)

Cron, Delegation & Multi-Agent

  • Pluggable delegation backends — delegation.backend chooses how each delegate_task task becomes a child run, and the default strategy is now a bundled plugin. The official advanced-delegation plugin adds model-map and per-profile routing. /delegation <mode> saves for the next session, and --now applies it immediately. An opt-in delegation.prefix_stagger_seconds lets batch subagents reuse the prompt cache. (#142563, #142564, #143423, #86553)
  • Stop a running cron job — hermes cron cancel, a Desktop Stop button, the API and cronjob_manage stop a live run, and deleting a job cancels it. Each job picks its own missed-run policy (--catch-up on|off). A manual run no longer consumes a one-shot, and prompts carry the fire time. (#144801, #146113, #82826 — @kokhlo, @fangliquanflq, @LeonSGP43)
  • Background subagents survive and report back — Stopping a turn no longer kills background subagents like /review. /bg and routed chats wait for their delegations, and completions that were lost are offered again from the ledger. (#144759, #147745, #147753, #147748 — @professorpalmer, @nateEc, @rungmc357)
  • Kanban workers are usable again — delegate_task and session_search work inside cards, dead attempts free their slot, a worker whose socket drops resumes the same attempt, and worker turns are no longer saved as your memories. (#141944, #141906, #145954, #144861 — @tmaarcxs, @nonkun12, @calvinnwq)

Security & Reliability

  • More secret shapes are masked — Quoted secrets, connection strings, glued and flag-passed secrets, Azure keys, non-PEM private keys and SMB passwords are now masked, and JSON pages are no longer mangled. (#149435, #148862, #149470 — @r266-tech, @liuhao1024, @mtp-44, @arbianshkodra, @Baophan00)
  • Approval gate catches more — The gate now prompts for curl … | sudo bash pipes, later or abbreviated PowerShell deletes, and credential uploads hidden behind an approved rule. A stale approval card can no longer approve the next request. (#87362, #148865, #141377, #87554 — @Baophan00, @liuhao1024, @VaughnValle)
  • Network boundaries — URLs whose host parses differently across clients are refused, and without a token A2A refuses requests from browsers and from foreign Host headers. (#145578, #145310 — @unsupportedpastels)
  • Shell-hook consent — An unattended gateway skips an unapproved hook instead of freezing. A recorded consent takes effect within about 30 seconds. (#140984, #141034 — @arcabotai, @WYSTAF, @liuhao1024)

🖥️ Desktop, Webapp, CLI & Install

Desktop App

  • Every registered gateway stays connected — Switching between This device, an SSH host or a URL gateway is now instant, with no confirm dialog and no blanked session list. Every gateway's sessions stay visible in the sidebar, and pins stay with the gateway that owns them. An SSH gateway runs one remote backend for all of its profiles, so every SSH profile is listed at launch and switching takes well under a second. (#147681, #147735, #147741, #147957, #147711 — @dskwe, @Bridgerz, @kenpritchard, @kshitijk4poor)
  • Terminal tabs belong to their host — Each in-app terminal tab runs on the gateway it was opened on and shows that host in its label. "New terminal on…" opens a shell on This device or any SSH gateway, side by side. Desktop can also connect to Windows SSH hosts. (#147708, #143898 — @janviernine, @addelh, @yoniebans)
  • Group Chats grew up — Group Chats can now be renamed and disbanded, and support @mentions, attachment paste, drag-and-drop and inline image previews. Rooms can seat bots from different machines again and show which bot is working. Desktop and the Webapp share one room list. (#143607, #148418, #142904, #145629, #141928, #145973 — @unsupportedpastels, @HootRock, @Thrymheim, @Ehsan-hash)
  • Delegation settings in the app — Settings → Model → Subagents now uses provider and model dropdowns instead of free-text boxes. A new Routing section picks the delegation mode (Default, Model routes, Profile routes, or a plugin backend) and edits routes in place. (#141312, #143126 — @abundantbeing, @e-macgregor, @SecBySagar)
  • Redesigned Capabilities catalog — Skills and Plugins are browsed as card shelves ordered by tier (Official, Verified, Community). Install is now a one-way + button: installed entries get an on/off switch, and Uninstall moves to the detail view. (#138820, #142708 — @austinpickett)
  • Plugin SDK: file access and Kanban badges — The new ctx.files lets a Desktop plugin read and write its own data folder and any folder you grant through the app's picker, and nothing else. A Kanban card badge slot lets plugins label cards without touching the board's markup. (#143688, #143673)
  • Clearer errors and questions — Failed turns show a redesigned error card that marks the failure as blocking or degraded and offers one action (Continue, Open provider settings, Setup guide…). It shows the real exception instead of "Something went wrong". A clarify with several questions is now one form with one submit. (#146776, #146803, #144392, #146881 — @kshitijk4poor)
  • Workflow conveniences — You can drag sessions to pin or unpin them, pin Kanban boards as quick-switch tabs, open Bot Chats in new tabs, and compact a conversation from the context panel. /loop shows a live countdown, and /usage shows provider limits before the first message. (#142672, #148179, #143129, #148871, #139187, #141047 — @austinpickett, @unsupportedpastels, @kvarnelis, @jerrygooch, @aydnOktay)
  • MCP consent shows what will run — The MCP install/enable/authorize card now shows the exact command or URL each server will run or contact, with secrets masked. Approval prompts on every surface now reveal hidden Unicode, control bytes and padding. (#85775, #81403)
  • Faster on long chats — Typing no longer slows as history loads; sessions full of file edits switch without re-highlighting every diff. Mermaid diagrams render through Pele, a much smaller renderer, instead of mermaid.js. Minimized and idle windows do less streaming work. (#144903, #144991, #147974, #146602, #146600 — @kshitijk4poor, @ghgoodreau)
  • Messages and replies you can trust — A message sent just before closing the window is no longer lost, and drafts survive clock jumps and downgrades. Replies are drawn once across reconnects, reloads and stopped turns. Healthy connections are no longer dropped on focus or wake. Old phone-app chats can be continued instead of opening read-only. (#145018, #145528, #144899, #146843, #147802)
  • Language packs actually apply — Korean and other pack-only languages now load on a cold gateway, and the picker hides languages the app cannot show. (#147515 — @kshitijk4poor)

Webapp & Hermes Cloud

  • The Webapp: Desktop in a browser tab, served by your gateway — With webapp.enabled: true, the gateway serves the Desktop workspace on its own listener. hermes webapp opens it, and Desktop's Settings → Web Access serves it on your network or a public URL behind sign-in. It is off by default. The Webapp is single-user: a signed-in tab acts as you, so its sessions and Group Chats are the same ones native Desktop shows, and display settings follow you across devices on the same machine. (#141864, #145598, #145536, #148408 — @jquesnelle, @BearHuddleston, @IAvecilla)
  • Desktop plugins in the browser — Installed Desktop plugins load in a Webapp tab, and desktop-only plugins can be installed from the tab, pinned to the commit the dialog showed. (#145072, #145853, #146178 — @Adolanium, @DECRUX9812)
  • Phone and browser polish — When a chat needs you, the tab title flashes and the favicon gets a dot. Opt-in browser notifications open the right chat. One tap focuses the composer on iPhone, and the phone tab picker reaches every tab's menu. Files and media resolve inside a session's Docker sandbox or SSH workspace. (#146882, #145569, #145788, #144741 — @Sn0wfly, @unsupportedpastels)
  • Webapp hardening — Launch links are private to the signed-in user, and the page sends a Content-Security-Policy; a signed-out /api/status reveals no profile names. The Webapp, dashboard and hermes serve trust only their own bound loopback port for CORS and WebSockets. (#144721, #145573, #145931, #146636 — @unsupportedpastels, @dokterdok, @Froraut)
  • Hermes Cloud agents stop offering in-app updates — Desktop and the Webapp no longer show "Update now" for an agent only Cloud can update. (#149436)

CLI & TUI

  • One gateway owns every local session — The classic CLI, TUI, Desktop, API server, ACP, bots and cron now attach to each profile's single gateway instead of running their own agents against the same database. A chat is one conversation with one queue and one writer. Follow-ups route classic CLI commands (/model, /cron, /queue, /save, /snapshot, /resume, todos) through it. (#106742, #138717, #141105, #141501, #141962, #140676 — @unsupportedpastels, @kshitijk4poor, @kassdinzheng123)
  • Rewind to an earlier prompt — In the TUI and the classic CLI, /rewind (or Esc Esc on an empty prompt) lists your earlier messages. You can edit one and resend it, or fork a new session from just before it. Approval prompts gain "No, and tell Hermes what to do instead". (#144937 — @SaguaroDev)
  • TUI: /new mid-turn and expandable pastes — /new while Hermes is busy opens a fresh session and keeps the running one working in the background (Ctrl+X switches back). Ctrl+P expands a collapsed paste so you can read or edit it. (#148880, #148883)
  • New classic CLI layout — The classic CLI now prints a transcript that survives terminal resizes, with one glyph per row and the status line under the composer. display.cli_layout: classic restores the old look. (#139241, #141879)
  • Smaller core, setup imports — hermes mcp serve moves to the official mcp-serve plugin (hermes mcp-serve). hermes import-agent and the OpenClaw migration move to the agent-importers plugin. First-time hermes setup now offers to import from OpenClaw, Claude Code, Codex CLI or Cursor when it finds one. (#142556, #142547)
  • hermes --cpu-profile PATH — Writes a CPU profile of any Hermes run, plus a top-functions text summary. (#87545)

Install, Update & Packaging

  • New installs start on stable — install.sh, install.ps1 and Hermes-Setup now check out the latest stable release instead of the tip of main. (#139311)
  • Desktop updates are faster and say more — An update skips the Desktop rebuild when no desktop input changed, and the update window names its current stage. The dialog shows real release notes. A failed update shows the updater's output and offers a one-click diagnostics upload. Large state.db files, comma locales and the system proxy no longer break updates. (#144922, #138483, #148355, #144894 — @KoNit-K, @chenleshu)
  • hermes update got much more reliable — It no longer stashes untracked folders it never touches, and it asks before stashing anything. It reclaims git locks left by a killed update and no longer hangs on an in-flight kanban card. It also names a CDN firewall block instead of a bare 403. (#147632, #147954, #147958, #140023, #138420, #144507)
  • Electron 44 — Desktop moves from Electron 40 to 44. This ends Desktop support on macOS 11, macOS 12 and 32-bit Windows. (#142727 — @ethernet8023, @OutThisLife, @ahrazzle)
  • Webapp ships in Docker and Nix; Docker sandboxes give files back — The Docker image and the Nix package now ship the Webapp bundle. The image adds tmux and Office/PDF libraries. Files a root Docker sandbox writes are handed back to your user, and setuid bits and file capabilities are stripped from them. (#145153, #145521, #146111, #141033, #141086 — @IAvecilla, @unsupportedpastels)
  • Package manager — hermes pm install --without EXTRA drops a carried extra and keeps it dropped. A corrupt cached package no longer blocks every install, and pm update can skip a lagging target. Plugin dependency edge cases no longer fail the update lock. (#148194, #146929, #142657, #148199, #148205 — @benbarclay, @ethernet8023, @hteo1337)

Infrastructure & CI

  • Release pipeline — The Microsoft Store build now certifies before the release gate and goes live automatically at publication. Stable runs dispatch from the default branch so caches restore, and macOS notarization keeps going through dropped connections. (#141725, #148716, #138159, #148497 — @ethernet8023, @unsupportedpastels, @BearHuddleston)

🧩 Plugins, Skills & MCP

Plugins

  • Plugins keep themselves up to date — hermes plugins update with no name lists every installed plugin that has an update, asks once and updates them all (--yes for scripts). An Update all action and an Auto-update switch (plugins.auto_apply, off by default) now exist in the CLI and TUI (/plugins update, /plugins auto-update), Desktop and the web dashboard. Catalog installs now update too, and hermes update tells you when the new catalog has updates for them. An update whose scan comes back as caution shows you the findings and lets you go ahead (--force in the CLI, a dialog in Desktop). (#141513, #85794, #141894 — @alt-glitch)
  • Updates no longer break your setup — when hermes update has to turn a plugin off, it keeps your memory provider, turns the plugin back on once it fits again, and every surface shows it as off. Plugins whose dependencies have no wheels for an OS you don't run (mnemosyne, torch) no longer get disabled on every update. A plugin listed as both enabled and disabled is now reported by the loader and hermes doctor. (#144257, #144220, #144394 — @charan-rathore, @YS-OH-CORE, @renleding, @liuhao1024)
  • Catalog version floors are enforced — an entry's requires_hermes now blocks installs on a Hermes that is too old, and update won't move a plugin to a pin that needs a newer release. Plugins that use a manifest key from a newer Hermes install with a warning instead of failing. (#143468, #139225)
  • New Verified tier in the catalog — Nous gives this tier to plugins made by the company whose product they integrate. Cua Spaces, NVIDIA App, NVIDIA Broadcast, TinyFish and CoreWeave Inference are the first. Plugin pages now put disclosures in their own section at the bottom, and cards show what the plugin does. (#139983, #142165, #141742, #142184)
  • More features leave core for official plugins — Camofox, hermes mcp serve (now hermes mcp-serve, with a new --tools mode), hermes import-agent (adds Cursor, Grok Bot and OpenBot importers) and the Singularity/Apptainer backend all move to plugins. Homes that use Camofox, Singularity or import-agent get the plugin installed automatically; MCP clients have to change their args to mcp-serve. (#143484, #142545, #142538, #147799, #142536)
  • New official plugins — REA (reverse engineering), X Chat (encrypted X DMs as a gateway platform), Meshy (3D generation), ElevenLabs Sound Effects, ElevenLabs Music (songs, lyrics, stems, video scores), advanced-delegation, and bubblewrap (a Linux sandbox for terminal and code commands). Hermes Labs adds hermes inbox, hermes record (workflow recording that masks passwords) and Patsnap patent search. (#138225, #139725, #142619, #143744, #146294, #143265, #142548, #142523, #142519, #85138)
  • New plugin APIs — plugins can now post a message to the current chat and edit it in place (ctx.post_message), ask the session's own agent a question after a turn (ctx.side_question, which needs your consent), block a turn before it reaches the model (pre_llm_call block), and hold back streaming until a rewrite hook has run (hold_stream). New hooks: post_compaction and on_session_delete. Slash commands now receive the calling session, and platform plugins and plugin skill lookups get public helpers. (#141005, #143791, #81434, #144266, #141017, #140995, #140997, #140624, #140978 — @curiouscleo, @Halldrix, @Baophan00, @Finn763, @pieralukasz, @ewtillman, @nekwo)
  • Plugins can sign you in to third-party APIs without seeing the token — a plugin declares an OAuth client, hermes auth add <plugin>:<id> runs the browser sign-in, and Hermes attaches the token only on requests to the hosts the plugin declared. (#141510 — @bablobanov)
  • Bigger Desktop plugin SDK — Desktop plugins can add rows to the composer's right-click menu and words to the spell checker, render media from their own tools, post cards into their own chat, and script the preview Browser once they declare the capability and you allow it for that site. Portable plugins get a Settings ▸ Plugins form, and a newly saved API key reaches their MCP server without a restart. (#143678, #143980, #143776, #143668, #141533 — @Schildkrote)
  • Plugins behave the same on a shared gateway — classic CLI plugin commands and pre_command now run in the gateway with the rest of the plugin, and disabling a plugin also closes its websockets. A secondary profile's dashboard plugins run in that profile's own plugin host. (#139575, #139691, #139569, #139689 — @unsupportedpastels, @dokterdok)
  • Remote config backend for fleets (opt-in) — a fleet agent such as one on Hermes Cloud can load each profile's config.yaml from a central service, and admins can lock keys. It only turns on when HERMES_CONFIG_BACKEND=remote is set. (#122509 — @benbarclay)
  • Faster startup — from a git checkout every hermes command starts about 1 s faster, because provider plugins and the restart check no longer run git each time (15 git calls down to 2). (#144640 — @100yenadmin)

Skills

  • Lock a skill — after hermes curator lock <skill>, the agent can't change that skill with skill_manage, file edits or terminal writes, even under --yolo, and the curator won't archive it. (#147557 — @daviseford)
  • Leaner built-in skills — a fresh install ships 44 built-in skills instead of 58. Word, PowerPoint and Excel merge into one microsoft-office skill, 12 niche skills become optional installs, and optional skills that vendor repos, catalog MCPs or the built-in web search now cover are removed. The vendor repos for W&B, Qdrant, Pinecone, Notion, Airtable and Shopify are now trusted taps in hermes skills browse. The skills index in the prompt is shorter too. (#146333, #148639, #144174 — @soyluisarca)
  • Skills survive compaction and load by plugin name — every skill that compaction removes, small or slash-loaded, now leaves a reload marker. Plugin skills are named after their plugin (blender:blender) and load even when the model adds plugin: in front. (#138428, #143822, #143784 — @100yenadmin)
  • unbroker handles spam calls — the optional unbroker skill can now start from a phone number and register it on the US Do Not Call list. (#145118 — @SHL0MS)

MCP

  • Tool costs and per-chat spend limits — MCP servers, from plugin packages or config.yaml, can declare what each tool costs and a spend limit per chat. The approval prompt shows the cost and the chat's running total, and a call that would go over the limit asks first, even on a trusted server or in YOLO mode. (#142470, #143787)
  • Clearer approvals for untrusted servers — choosing Allow for this session or Always now actually stops the next prompt for that tool, prompts show the call's arguments with secrets masked, and YOLO or approvals.mode: off skips them. (#143780, #143795, #143787 — @liuhao1024, @fangliquanflq)
  • Live progress for long MCP calls — when a server reports progress, the Desktop tool row and the CLI spinner show the percentage and message, and plugins get a tool.progress event. Servers that declare a longer deadline are no longer cut off by the generic tool timeout. (#141985, #138491)
  • MCP events over webhooks (experimental, opt-in) — a server with mcp_servers.<name>.events: true can notify Hermes when something happens upstream, and each event starts an agent run through the gateway's webhook listener. (#140121 — @Potrock)
  • Connections — servers now see hermes-agent/<version> as the client name, results and tool lists over 1 MiB work on Streamable HTTP, and Otter.ai OAuth logins complete. The MCP catalog adds RentAHuman. (#106395, #143803, #148635, #142246 — @yulunz, @khanaleem727-eng, @liuhao1024, @AlexanderLiteplo)

The Plugin Catalog

The catalog grew from about 600 to over 1,050 entries this window (~270 new listings, plus a steady stream of version bumps and re-pins). Some of what arrived:

  • Model providers — Requesty #141950, CoreWeave Inference #143748, Reka #143457, Fortytwo #147925, Tsubasa #125905, CLIProxyAPI #138281, AnyAPI #141068, ngrok AI Gateway #138494, Cursor ACP #138835, opt-in Adaptive Inference routing #143827 — @Thibaultjaigu, @crwvrosenblum, @zhenwei5, @AIvashov, @cenab, @duu261, @es697, @brenden-ehlers, @neerazz, @midhatn
  • Memory providers — Mnemoverse #139270, post-cortex #141251, Membase #144472, conxt #144192, Inspeximus #145679, nyx #144689 — @OlyaTi, @julymetodiev, @ibitnoah, @pgavali0318, @DanceNitra, @sixgodgit
  • Messaging platforms and voice — OneBot #140979, Nextcloud Talk #140197, WhatsApp voice #140245, /call-me #144194, Signal notifications #146208, Soniox #143120, Kokoro TTS #141106, Breeze TTS #147205, DashScope transcription #146187, Grok Voice for Desktop #138958 — @mario841859784, @chefboyrdave21, @ashwanthbalakrishnan5, @radres, @dbrosnan, @XimilalaXiang, @brunosouzas, @MDsniper, @lgc2333, @Julientalbot
  • Secrets and sandboxes — Proton Pass #138662 and Windows Credential Manager #141475 secret sources; WSL Containers #139946, WSL distro #141146 and smolmachines #145765 terminal backends — @lucas-nicolas, @Yicheng-Mark, @NickyHeC
  • Search and web — Jina #140343, Browserless #138443, Machine Library #138541, Yandex Search #141797, keyless web-local extract #142232, Keenable MCP #144330, the official Tavily MCP #143112 — @Adolanium, @AlexLoyola, @ppodolsky, @akinfold, @ilya-bogin-keenable, @manisrinivasan2k1
  • Desktop panes and themes — Korean #138136 and full Italian #138269 language packs, the hermes-board whiteboard #139707, Plexus vault graph #143070, memory pane #141421, YouTube Dock #142527, Context Overview #141997, Nord #143190 and Codex #143371 themes, a themes pack #145179 — @dandacompany, @gradia64, @skk2010, @mr-september, @Adolanium, @metamindedu, @AsoTora, @Audiofool934, @hey-yx, @seppegadeyne
  • Windows operations — ports, event log, processes, scheduled tasks and devices #142399, #142394, #144259, #144771, #146487 — @Yicheng-Mark
  • Games and 3D — Godot Studio #141568, game editors #143728, #143729, sprite-sheet cutting #143730, Tripo #141403, Remesher image-to-GLB #143074 — @Foolafroos, @TakeshiTGAL, @Adolanium, @michaelgold
  • Infrastructure — Unraid #140133, Kubernetes #144218, Terraform drift #144217, OpenTelemetry tracing #143101, Hermes Fleet Connector #138423 — @Anunnaki-Astronaut, @TakeshiTGAL, @Mandark-droid, @tony-simons-aiowa
  • Payments and agents-for-hire — pay #138020, switch402 #147689, genesispay #143950, RentAHuman #141775, Sai by Simular #146322 — @lgalabru, @Duffey234, @Smokefarmer, @AlexanderLiteplo, @chenchenSimular

🐛 Notable Bug Fixes

  • Background completions on Discord and Telegram reach the agent instead of requeueing forever. (#139026 — @KoNit-K, @sharpnotebot)
  • /retry from messaging works again on multi-profile gateways. (#139149 — @drzxk)
  • A gateway whose pid was recycled after SIGKILL no longer exits 75 forever. (#139855 — @JoaoMarcos44)
  • Messages queued behind a context-exhausted turn now run after the reset. (#139783 — @helix4u)
  • Messages to a chat whose working folder is gone now say so instead of "model request failed". (#143075)
  • Long Claude DirectSDK answers are no longer cancelled by the stall timer. (#142905 — @rborkow)
  • Spilled tool results stay readable for the whole session. (#139894)
  • A Discord /model switch is no longer overwritten as "expired". (#146752 — @oddtazz)
  • Edge TTS works again after Microsoft's token change. (#140896 — @ebrearley)
  • Memory entries stay removable after the character limit is lowered. (#144240)
  • macOS installs can install git again when /usr/bin/git is only the Command Line Tools stub. (#138871 — @unsupportedpastels)
  • The Windows installer no longer gets stuck on a half-installed Git ("INSTALL DIDN'T FINISH"). (#145592 — @xxxigm)
  • Windows Desktop attaches to a Scheduled-Task gateway again. (#139167 — @srymak1r7, @Wenfengcheng)
  • Sandboxed or review Hermes homes no longer rewrite the Windows User PATH or the real hermes.exe. (#137951, #145140 — @jquesnelle)
  • Desktop no longer hangs on macOS when the home path's letter case differs. (#139014 — @dokterdok)
  • Linux Desktop windows are no longer permanently see-through, and renderers no longer crash on /dev/shm. (#144910, #144950 — @cristianob)
  • Linux Desktop restarts come back and keep sudo working. (#145015)
  • Desktop and the Webapp show a Reload notice instead of a blank page when boot fails. (#146092 — @dokterdok)
  • The dashboard can re-pair WhatsApp after a logout. (#142439 — @helix4u)
  • Ctrl+D mid-turn in the classic CLI detaches instead of interrupting the turn. (#140489)
  • Stdio MCP servers on a multi-profile gateway use their own profile's home, not the default (#148129 — @bluemogul1914)
  • Plugin-rewritten messages no longer refused on multi-profile gateways (#139076)
  • Plugin MCP ${VAR} header auth survives reconnects; unset optional vars aren't passed literally (#148879, #141379)
  • hermes plugins doctor no longer copies a plugin into itself until the disk fills (#146836, #146761 — @gyeyeop, @xxxigm)
  • Windows: Desktop plugin names can't escape the plugins folder (#146394)
  • Host-isolated plugins keep provider types, so secret sources apply (#144430)
  • Enabling new deps on a running gateway says restart instead of claiming a reload (#143404 — @benbarclay)
  • Desktop/Webapp install the backend half of manifest-only plugins (#146001 — @m0nty81)
  • ClawHub skills show as installed after install (#145210 — @austinpickett)
  • No more health-check warnings for closed local MCP apps (#148395)

👥 Contributors

Core Team (Nous Research)

  • @teknium1 — release direction, the one-gateway runtime, Group Chats, the Webapp's local identity, plugin updates and salvage campaigns across every subsystem (~670 merged PRs)
  • @unsupportedpastels (125 PRs) — the unified gateway's session authority: classic CLI, ACP, Ink and Desktop clients on one owner, queued-prompt steering
  • @kshitijk4poor (92 PRs) — the owner-death process supervisor, gateway memory release, provider replay, profile inheritance and memory-provider seams
  • @c2h5oh (41 PRs) — CI on new runners, race-condition sweeps, flaky-test roots and security dependency updates
  • @ethernet8023 (33 PRs) — the stable release pipeline, Electron 44, signed bundles and Docker plugin installs
  • @alt-glitch (15 PRs) — the free-tier guest handoff, onboarding and plugin-update safety
  • @helix4u, @victor-kyriazakos, @austinpickett, @yoniebans, @jquesnelle, @benbarclay, @BearHuddleston, @ghgoodreau, @IAvecilla, @OutThisLife — the Webapp, the Capabilities redesign, Bedrock and relay, macOS bundle updates, Desktop performance, Cloud remote config, Docker and local models

Top Community Contributors (by merged PR count)

  • @Adolanium (44 PRs) — inline terminal images, Webapp desktop plugins, and a long run of catalog plugins and banners
  • @TakeshiTGAL (27), @itpartypattaya (19), @100yenadmin (18), @olric3015 (16), @Yicheng-Mark (13), @mister-ideas (10), @apoapostolov (8) — the catalog's biggest authors: Japanese data sources and game tooling, hermes-dreaming and holographic, plan mode and Cloud file manager, the ledger family, Windows operations, usage-guard and git-review, provider status
  • @metamindedu, @Sahil-SS9, @dyiapanis (7 each), @KoNit-K, @SaguaroDev, @dskwe, @janviernine, @liuhao1024, @fangliquanflq, @charan-rathore, @Jesssullivan, @daviseford — Model Router and YouTube Dock, limbic and tabella, Group Chat routing, /rewind, multi-gateway Desktop, MCP costs, plugin auto-update, password-manager vaults and skill locks

All Contributors

Thank you to every one of the 666 people who contributed code, co-authored fixes, or had their work salvaged into this release:

@0ldev @0x7s0lt1 @0xalank @0xWhiteMage @100yenadmin @1052326311 @123mikeyd @1nc0gn30 @2867297362mjb-sketch
@3bdALR7man-Ai @3L0935 @686f6c61 @a @aadilghani1 @abundantbeing @acedatacloud-dev @Adam-Dalloul @addelh
@Adihaliem @aditya123123123123 @Adolanium @AdrianBinDC @aean0x @aedelgod @Aether-V @Ahmett101 @aholten
@ahrazzle @ahtishamdilawar @ai-ag2026 @ai-mrscraper @AIalliAI @aidatatools-dev @AIEngineerX @aikaizen
@aimanmalib @aisolveme-bot @AIvashov @ajisaacs @ajspig @akimonlet @akinduroifedayo @akinfold @Akloenx123
@AlexanderLiteplo @Alexbob0 @AlexLoyola @alexpalco @ali-shirzadg @alitariksahin @alt-glitch @anpicasso
@anthony-maio @Anunnaki-Astronaut @apoapostolov @arbianshkodra @arcabotai @Ardenye @Arkanji @ArmagedonFlamer
@arrry-hydraDB @arsiktech @arspesk @ashmoonori-afk @ashwanthbalakrishnan5 @AsoTora @asveloper @atakanelik34
@atbrace @atostivint @Audiofool934 @aurel282 @austinpickett @axiom-agent-ai @aydnOktay @Ayshinko @bablobanov
@badiyee85 @Baophan00 @barronlroth @bayuh85 @BearHuddleston @benbarclay @benoit.lavenier@e-is.pro @benperry6
@berthelius @bionicbutterfly13 @bluemogul1914 @bmtrnavsky @BonesGit @bonesnasty @brajendrak00068 @brenden-
ehlers @Bridgerz @BrokeSkill @brunosouzas @Byrd-IT @bytecakelake @c-pompa @c2h5oh @calvinnwq @camilolunacom
@capthvnsen @cardosofelipe @cenab @chad-agate @charan-rathore @chatchap-2nd-of-chartup @chefboyrdave21
@chelsealong @chenchenSimular @chenfeijiang95-ui @chenleshu @Chinmaya-India @choaticpixels @Chrisbattarbee
@chrisjleal @Chukwuebuka-2003 @chunkypiesrus @cis2042 @cl0vrfi3ld @clawreef-io @ClaySecAI @Cliff3c @Cloeille
@clsferguson @cmaldonado80 @cnkang @coe0718 @cortexuvula @crwvrosenblum @cryptobredda @curiouscleo @cxyhhhhh
@cygnostik @dachaimahogany @danbiocchi @DanceNitra @dandacompany @danrudy33 @daoom @DarRahman @DavidMetcalfe
@daviseford @Dawncoral @dbrosnan @Deadtrix21 @DearGlory @DECRUX9812 @DeepitMagee @defurniture2025 @dellanio
@dfrostar @Dgardenhire @dialapus @diegoasanch @dinosauria123 @djagya @djmango @dmmeteo @dokterdok @Dolverin
@donovan-yohan @driptothebone @drzxk @dskwe @Duffey234 @duu261 @dvbaecker @dwaxe @dyiapanis @ebrearley
@eddojansen @Efistoffeles @Ehsan-hash @ehz0ah @elight @elisam0 @embwl0x @emozilla @Enchanted0911 @entropidelic
@enzo-adami @equationalapplications @erhnysr @erosika @es697 @esafev @ether-btc @ethernet8023 @eve-ai-dev
@ewtillman @FamousAmos-ChillZone @fangliquanflq @fastfinge @felipebasurto @Finn763 @fliellerjulian @Foolafroos
@forefy @francoleff @freefate258 @freehul @Froraut @fyzanshaik @g3org3yo @gabrielaoimevbore-beep @gc-runa
@gengue @geniok1980 @ghgoodreau @godhiraj-code @gomediacoin @goncami @GottZ @gradia64 @grinco @guberm @guglxni
@guoxian-led @guthixboss1 @gyeyeop @hackartists @hakastein @Halldrix @Hamakaze1s @harrylabsj @hassan-kamel
@heckad @heerey525 @helix4u @hellohanchen @henrycyberbio @herovivian-collab @hey-yx @Heybinshao @heydryft
@HootRock @horizonbymuneeb @Horizont367 @hteo1337 @hugoalvespereira @hxy91819 @iap @IAvecilla @ibitnoah
@Ieqzya @ikuro4kin-dev @ilya-bogin-keenable @indranilbanerjee @InvincibleDude @ionut85 @IPBDW @irfansofyana
@IRONICBo @ishanray @itpartypattaya @itsflownium @ivcained @j-nolan @jackie-wayland @jacklhchan @jacobhausler
@jacques-commits @jangomango76 @janviernine @jarvistwil @jasm001 @JasonSwindle @Jaylouisw @jeannen @jerrygooch
@jersilb @Jesssullivan @jfugalde @jimstratus @jj5638521 @JoaoMarcos44 @Joclto @Joe070707 @jonpol01
@joshuaKnauber @jtstothard @juanitourquiza @Julientalbot @julymetodiev @justinsharpe @Kame696 @karljohannisson
@karmateam5555 @kassdinzheng123 @kaveone @keeltrace @kenpritchard @keppy @Kesuek @KeyArgo @khanaleem727-eng
@Khwan888 @KIDPhantom1412 @KING-OF-FLAME @kokhlo @KoNit-K @kouyichi @KrasimirKralev @kriss39 @krzsda
@kshitijk4poor @KuboKubis25 @kuehnberger @kumaxs @kvarnelis @kvnloo @kyoto-aircon @kyssta-exe @kzmttkc
@labyrinth-analytics @lazyants @Lazzdaycod @ldx-person @lee101 @Leegenux @leonphull @LeonSGP43 @levinkin
@lEWFkRAD @LFGWin @lgalabru @lgc2333 @liamsmith86 @Light5566 @linye157 @liteboy-bit @liuhao1024 @liujian1211
@ljubomirj @Lokee86 @Lokeshm24 @longsizhuo @LoopGlitch26 @luantak @lucas-nicolas @lucasfdale @luisced @Luke-
Chinyama @luoyiliang @m0nty81 @macd2 @MadeByBrain @Magictypo @Mandark-droid @manisrinivasan2k1 @MarcosAlves90
@mariadb-MikeZinner @mario841859784 @matebenyovszky @Maytrella007 @Maziay @mazzanfar @mbgulden @mcpeezy
@MDsniper @memtomem @mengnan-zhang @mertkayacs @MesmericDigital @metamindedu @meviusisback @mfranzon @mgrabina
@michaelgold @michaelzelbel @midhatn @milnerrad @Mirinai307 @mister-ideas @mistrysiddh @MKindshofer @mkozachuk
@mkyed @mmalmi @mnajafian-nv @MohamadKanso @mojomast @mpotter2002 @mr-september @mrhy7176 @mtp-44
@muntasimulhaque @Murali-lns @MwC-Trexx @mykeura @NaMinhyeok @NanamiMio @nateEc @naterchrdsn @navingate @nchgn
@NealZhouPanda @Neboy72 @Neckyserg @neerazz @nekwo @neoromantic @nevertrustai @nezovskii @ngisvold @ngpestelos
@NickyHeC @nicodoggie @nicolasestrem @nicoloboschi @nikkoxgonzales @nixonthelobster @nolanchic @nonkun12
@noreply @nosliwhtes @notacompanynameyet @notwitcheer @ns-fusion @nthieuu205z @nujovich @nv-pberard @NyllRE
@obierlaire @ocasta181 @Oceanswave @odaiameera @oddtazz @ofirf @ojusave @Okazakee @okyssta @oliver-ando
@olric3015 @OlyaTi @omega @OMOX563 @omxhub @onkanat @ooiuuii @openclawcash @oscarcpozas @oslook @ostravajih
@otsoa-dubief @outpoints @OutThisLife @pandengyao @patrickcneuhaus @patrickluvsoj @patrykkopycinski
@pepijndevos @percyhendrux123-prog @petertaras @pgavali0318 @PhoeniXAbhisheK @pieralukasz @pierrenode
@pnascimento9596 @pnpwin @poponline63 @ppodolsky @PRATHAMESH75 @predatorheard-byte @PRELVAS94 @priors-agents
@professorpalmer @puma10 @PuntoyComaTech @putis @qd678 @quangphucqp @quantbagel @r266-tech @radres
@rahuloruganti @Raj-Mixar @ranggaoscar @rarf @rborkow @Realmagnum @recued @RegeneratusLabs @renleding @rewbs
@rezaaibox-ui @rezearcher @riesvriend @risyadul @rob-maron @robbyczgw-cla @robertoetcheverryr @roberttidball
@rocosen @rodricksz4h5 @rodrigogs @RohanRJ389 @RohiRIK @rohitg00 @roqianjas @rorsch @rroverin @rrrrnmtsu
@RuAPI-ai @rungmc357 @rvben @ryan-arman @RyanUnderhill @SaguaroDev @Sahil-SS9 @sahiljagtap08 @Sahilvishnaliya
@saif-at-scalekit @sajidhaleem @salch-cred @sambouli @SamSynnada @SanLuis-AI-Solutions @santa-sketch @sarayd
@Schildkrote @seanebones-lang @Senci @SenlerBot @seppegadeyne @shannonsands @sharpnotebot @ShawnPana @sheeki03
@Shenrui-Ma @SHL0MS @ShowUNow @shuruheel @sibelius @sidneyvanness @siillee @silentpr0 @simin-yuan
@simongonzalezdc @sin5ddd @skk2010 @skyeyesec333 @slchris @smallmj @SmelterLabs @smfworks @smicbee
@Smokefarmer @SmoothMarx @Sn0wfly @SnoobieJunes @soli0x @Solidee-def @soyelmismo @soyluisarca @soymarketing
@specstream @spranab @sprmn24 @sryimnoob123 @stevysmith @strnadchristopher @strzhao @StudioCodeAI
@StudioPlatforms @suhas-svg @supertj @TacoTakumi @TakeshiTGAL @tanmayjain-bit @tarminik @teknium @telnetaisha
@Tenrevo @Thanatos9404 @thealps01-netizen @theenigmafield @thehugegatsby @thenabbu @thepurpose-npub
@TheSmokeDev @Thibaultjaigu @thileman @Thrymheim @TicoraX @timrichardson @TKCen @tmaarcxs @tokifyi @tommyjtl
@tonbistudio @tony-simons-aiowa @tonydavis629 @Totoro-qaq @TREE-Ind @true402 @Tsuki-hash @Tsury @tuancookiez-
hub @tugrulguner @TurgayAcar49 @TurgutKural @tyler-y-liu @UE2020 @unsupportedpastels @Utkarshkapil @utkubakir
@vanscodex @varun369 @VaughnValle @vectorforge22 @victor-kyriazakos @Viiy @vincentkoc @vKongv @Vocllum
@Vsemagush @vshulcz @vykhovanets @web3blind @webtecnica @Wenfengcheng @WestWaters @whosebruce @will-lynas
@WillPlatnick @wjgoarxiv @wkwee @wmorin @WolfMarkTools @WompaJango @woprrr @WYSTAF @X9A81P4 @xiaohei-info
@xiaoyaner0201 @XimilalaXiang @ximxim @xjsns346 @xxxigm @yasmineali284 @ygd58 @Yicheng-Mark @yoniebans
@yoyodine-industries @YS-OH-CORE @yugasurfer @yulunz @yunze7373 @yuzilongleif-collab @yuzushi-dev @yyyzl
@yzy806806 @Zamoca42 @ZCode @Zechereh @Zek-Takai @zhenwei5 @ZidoCode @zwmaupin @zzhan1q

Also: Viiy, omega.


Full Changelog: v0.22.0...v0.23.0

This release rolls up and fully documents the v0.22.1–v0.22.7 patch releases (Oct 14 – Nov 3), whose notes were deferred to this minor.

Don't miss a new hermes-agent release

NewReleases is sending notifications on new releases.