This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+10 more
Affected surfaces
Summary
AI summaryNative Windows support arrives in early beta enabling Hermes to run natively on cmd.exe and PowerShell without WSL.
Full changelog
Hermes Agent v0.14.0 (v2026.5.16)
Release Date: May 16, 2026
Since v0.13.0: 808 commits · 633 merged PRs · 1393 files changed · 165,061 insertions · 545 issues closed (12 P0, 50 P1) · 215 community contributors (including co-authors)
The Foundation Release — Hermes Agent installs and runs anywhere now. Native Windows ships in early beta with a full PowerShell installer story, a
pip install hermes-agentwheel lands on PyPI, lazy-deps reshape whatpip install hermes-agentactually pulls down, the supply-chain checker scans every install/upgrade for unsafe versions, and a new OpenAI-compatible local proxy lets Codex / Aider / Cline talk to OAuth-only providers (Claude Pro, ChatGPT Pro, SuperGrok). The cold-start wave shaves ~19 seconds offhermeslaunch, browser-tool CDP calls run 180x faster, andhermes toolsAll-Platforms drops from 14s to under 1.5s. Two new messaging platforms (LINE and SimpleX Chat) and a Microsoft Graph foundation (Teams pipeline + webhook adapter) land alongside/handoffthat finally transfers sessions live,vision_analyzepassing pixels through to vision-capable models,x_searchas a first-class tool, LSP semantic diagnostics on everywrite_file/patch, a unified pluggablevideo_generate, acomputer_usecua-driver backend, cross-session 1-hour Claude prompt caching, a per-turn file-mutation verifier, plus 9 new optional skills. 50+ P1 closures, 12 P0 closures.
✨ Highlights
-
Native Windows support (early beta) — full PowerShell installer, native subprocess/PTY paths, taskkill-based process management, MinGit auto-install, Microsoft Store python stub detection, foreground Ctrl+C preservation, taskkill+ps2 fallback, npm prefix handling, and ~40 follow-up Windows-only fixes across CLI / gateway / TUI / curator / tools. Hermes finally runs natively on
cmd.exeand PowerShell, no WSL required. (#21561, #22130, #22752, #26618, and many more) -
pip install hermes-agent && hermes— Hermes Agent is now a real PyPI package. One command, no clone, no git, no shell installer. Wheel includes the Ink TUI bundle and shell launcher. (salvage of #26350) (#26593) -
Cold-start performance wave — ~19s off
hermeslaunch — skills cache, lazy Feishu import, no Nous HTTP at startup, plus PEP-562 lazy adapter imports (QQ, Yuanbao, Teams, Google Chat), deferredfal_client/google-cloud/httpxloads, models.dev disk-cache-first lookup, parallel doctor API checks, eager-skip plugin discovery on built-in subcommands,hermes toolsAll-Platforms drops from 14s to <1.5s, welcome banner skipped onchat -q. (#22138, #22120, #22681, #22790, #22808, #22831, #22859, #22904, #22766, #25341) -
180x faster
browser_consoleevaluations — routed through the supervisor's persistent CDP WebSocket instead of spawning a fresh DevTools session per call. Real-world page interactions feel instant. (#23226) -
Supply-chain advisory checker + lazy-deps framework + tiered install fallback — every
pip install/hermes updatescans dependencies against an advisory list, lazy-deps replace heavy import-time loads with first-use installs, and the installer falls back through extras tiers when a wheel rejects on the target platform. (#24220) -
OpenAI-compatible local proxy —
hermes proxyexposes any OAuth-authed provider (Claude Pro, ChatGPT Pro, SuperGrok) as an OpenAI-compatible endpoint that Codex / Aider / Cline / VS Code Continue can hit. Your subscription, your tools. (#25969) -
Cross-session 1-hour Claude prompt cache — Anthropic / OpenRouter / Nous Portal now share a 1h prefix cache across sessions for Claude models. Fast resume, fast
/new, lower cost on repeat work. (#23828) -
Two new messaging platforms — LINE + SimpleX Chat — LINE Messaging API lands as a first-class platform, SimpleX Chat salvages #2558 onto the modern adapter spec. Hermes is now on 22 platforms. (#23197, #26232)
-
Microsoft Graph foundation — Teams pipeline + webhook adapter —
msgraphauth/client foundation, webhook listener platform, Teams pipeline plugin runtime, and Teams outbound delivery via the existing adapter — Hermes can now read and post to Teams. (salvages of #21408–#21411) (#21922, #21969, #22007, #22024) -
/handoffactually transfers the session live — the agent's active session moves to a different model / persona / profile mid-conversation, with messages, tool history, and context preserved. (#23395) -
x_search— first-class X (Twitter) search tool — gated tool with OAuth-or-API-key auth, no skill needed to query the timeline. (#26763) -
vision_analyzereturns pixels to vision-capable models — when the active model can see,vision_analyzenow hands the image straight through instead of falling back to a text description. (#22955) -
LSP semantic diagnostics on every write —
write_fileandpatchnow run real language-server diagnostics on the post-edit file (delta-only) and surface real errors before they ship downstream. (#24168, #25978) -
Per-turn file-mutation verifier footer — after every turn that wrote files, the agent gets a verifier footer summarizing what actually changed on disk — catches silent overwrites and "wrote it but it didn't land" bugs. (#24498)
-
Unified
video_generatewith pluggable provider backends — single tool, any backend. Drop in a new video provider as a plugin, no core changes. (#25126) -
computer_usecua-driver backend — proper focus-safe ops, non-Anthropic provider support, refresh onhermes update. Computer-use is no longer locked to a single SDK. (re-salvage of #16936) (#21967, #24063) -
xAI Grok OAuth provider — SuperGrok via subscription — sign in with your xAI account, talk to Grok models from Hermes. (#26534)
-
Clarify with buttons — native inline keyboards on Telegram + Discord — the
clarifytool renders multi-choice prompts as platform-native buttons instead of typed responses. (#24199, #25485) -
Discord channel history backfill (default on) — Hermes reads recent channel history when joining a thread so it actually knows what's been said. (#25984)
-
Watchers skill — RSS / HTTP JSON / GitHub polling via cron
no_agentmode — skill recipes that wire change-detection sources directly into cron's script-only watchdog mode. (#21881) -
Zed ACP Registry integration + uvx distribution — Hermes is in the Zed registry, installable via
uvx(no npm). Plushermes acp --setup-browserbootstraps browser tools for registry installs. (salvage of #25908) (#26079, #26120, #26234) -
OpenRouter Pareto Code router — wire a new OpenRouter router with
min_coding_scoreknob. Pick the cheapest model that meets your quality bar. (#22838) -
Optional codex app-server runtime for OpenAI/Codex models — drives the OpenAI Codex CLI under the hood for OpenAI/Codex paths, with session reuse, wedge retirement, and OAuth refresh classification. (#24182, #25769)
-
hermes-skills/huggingfaceas a trusted default tap — community skills index from huggingface.co/skills is available by default in the Skills Hub. (#26219) -
9 new optional skills — Hyperliquid (perp/spot trading via SDK + REST) (@kshitijk4poor & Hermes), Yahoo Finance market data, api-testing (REST/GraphQL debug), unified EVM multi-chain skill (folds #25291 + #2010 + base/), darwinian-evolver, osint-investigation (closes #355), pinggy-tunnel, watchers (RSS/HTTP/GitHub via cron), Notion overhaul for the Developer Platform (May 2026). (#23582, #23583, #23590, #25299, #26760, #26729, #26765, #21881, #26612)
-
API server exposes run approval events — long-running runs surface approval requests over the API stream, no more silent stalls. (salvage of #20311) (#21899)
-
/subgoal— user-added criteria appended to active/goal— layer extra success criteria onto a running goal loop. The judge sees them in the prompt, no behavior change when subgoals are empty. (#25449) -
Plugins can run any LLM call via
ctx.llm— plugins get a first-class hook to make their own LLM requests through the active provider/credentials, no manual wiring. Plustool_overrideflag for replacing built-in tools. (#23194, #26759) -
Brave Search (free tier) + DuckDuckGo (DDGS) as web-search providers — two new free search backends alongside Tavily / SearXNG / Exa. (#21337)
-
Sudo brute-force block + sudo-stdin/askpass DANGEROUS classification — closes the
sudo -Sbrute-force avenue; approval gates classify stdin-fed and askpass-stripped sudo invocations as dangerous. (salvages of #22194 + #21128) (#23736) -
Provider rename — Alibaba Cloud → Qwen Cloud, picker reorder — matches what the world calls it. Existing config keys still work. (#24835)
🪟 Windows — Native Support (Early Beta)
Bootstrap & installer
- Native Windows support (early beta) — first-class native Windows path across CLI / gateway / TUI / tools (#21561)
- PyPI wheel packaging —
pip install hermes-agent && hermes(salvage of #26350) (#26593) - Recognise Shift+Enter as a newline key + Windows docs (salvage #21545) (#22130)
- Preserve Ctrl+C for Windows foreground runs (@helix4u) (#22752)
- Stop spamming cwd-missing + tirith-spawn warnings on every terminal call (#26618)
- Use
--extra allnot--all-extras; drop lazy-covered extras from[all](#24515)
Windows-specific fixes (40+ across cli / tools / gateway / curator / TUI)
A long tail of native-Windows fixes shipped alongside the beta — taskkill-based subprocess management, MinGit auto-install, Microsoft Store python stub detection, npm prefix handling, native PTY paths, signal handling differences, foreground process management, ANSI sequence handling, path normalization, file-locking semantics, and many more. Full list in commit log under fix(windows) / feat(windows) / windows.
🚀 Performance Wave
Cold start
- Cut ~19s from
hermescold start — skills cache + lazy Feishu + no Nous HTTP at startup (#22138) - Skip eager plugin discovery on known built-in subcommands (#22120)
- Cache Nous auth + .env loads —
hermes toolsAll Platforms from 14s to <1.5s (#25341) - Skip welcome banner on
chat -qsingle-query mode (#22904) - Defer heavy google-cloud imports in google_chat to first adapter use (#22681)
- Defer QQAdapter and YuanbaoAdapter imports via PEP 562 (#22790)
- Defer httpx import in teams to first webhook call (#22831)
- Defer fal_client import to first generation request (#22859)
- models.dev cache-first lookup, skip network when disk cache is fresh (#22808)
- Parallelize API connectivity checks in
hermes doctorand disable IMDS (#22766)
Runtime
- 180x faster
browser_consoleevaluations — route through supervisor's persistent CDP WebSocket (#23226) - Tune Telegram cadence + adaptive fast-path for short replies (salvage of #10388) (#23587)
- Accumulate length-continuation prefix via list+join (#26237)
Prompt caching
- Cross-session 1h prefix cache for Claude on Anthropic / OpenRouter / Nous Portal (#23828)
- Hit prefix cache in background review fork (salvage #17276 + #25427) (#25434)
📦 Installation & Distribution
PyPI + supply-chain
- PyPI wheel packaging —
pip install hermes-agent && hermes(salvage of #26350) (#26593) - Supply-chain advisory checker + lazy-install framework + tiered install fallback (#24220)
- Use
--extra allnot--all-extras; drop lazy-covered extras from[all](#24515) - Skip browser download when system chromium exists (@helix4u) (#25317)
Nix
extraDependencyGroupsfor sealed venv extras (@alt-glitch) (#21817)- Refresh npm lockfile hashes — keeps Nix flake builds reproducible
Docker
- Bootstrap auth.json from env on first boot (#21880)
- Drop manual @hermes/ink build, rely on esbuild bundle — slimmer image
ACP / Zed
- Zed ACP Registry integration (salvage of #25908) (#26079)
- Switch to uvx distribution, drop npm launcher (#26120)
hermes acp --setup-browserbootstraps browser tools for registry installs (#26234)
🏗️ Core Agent & Architecture
Sessions & handoff
/handoffactually transfers the session live (#23395)- Expose
HERMES_SESSION_IDenv var to agent tools (@alt-glitch) (#23847)
Goals (Ralph loop)
/subgoal— user-added criteria appended to active/goal(#25449)/goalchecklist + /subgoal user controls (#23456) — rolled back in window (#23813); /subgoal returned in simpler form via #25449
Compression
- Make
protect_first_nconfigurable (#25447)
Verification
- Per-turn file-mutation verifier footer (#24498)
Stream retry
- Log inner cause, upstream headers, bytes/elapsed on every drop (#23005)
🤖 Models & Providers
New providers
- xAI Grok OAuth (SuperGrok Subscription) provider (#26534)
- NovitaAI provider (salvage #7219) (@kshitijk4poor) (#25507)
- NVIDIA NIM billing origin header (salvage #25211) (#26585)
Provider work
- OpenRouter Pareto Code router with
min_coding_scoreknob (#22838) - Optional codex app-server runtime for OpenAI/Codex models (#24182)
- Codex-runtime: retire wedged sessions + post-tool watchdog + OAuth refresh classify (#25769)
- Codex-runtime: skip unavailable plugins during migration (#25437)
- Codex-runtime: de-dup
[plugins.X]tables and stop leaking HERMES_HOME into config.toml (#26250) (@kshitijk4poor) (#26260) - Pass
reasoning.effortto xAI Responses API (#22807) - Custom provider: prompt and persist explicit
api_mode(#25068) - Rename Alibaba Cloud → Qwen Cloud, reorder picker (#24835)
- Restore gpt-5.3-codex-spark for ChatGPT Pro (salvage #18286 + #19530, fixes #16172) (@kshitijk4poor) (#22991)
- Inject tool-use enforcement for GLM models (#24715)
- Use Nous Portal as model metadata authority (@rob-maron) (#24502)
- Unified
client=hermes-client-v<version>tag on every Portal request (#24779) - Prevent stale Ollama credentials after provider switch (@kshitijk4poor) (#21703)
- Auxiliary client: rotate pooled auth after quota failures (salvage #22779) (#22792)
- Auxiliary client: skip providers without credentials immediately (#25395) (#25487)
- Auth: send Nous refresh token via header (@shannonsands) (#21578)
- MiniMax: harden OAuth dashboard and runtime (#24165)
OpenAI-compatible proxy
- Local OpenAI-compatible proxy for OAuth providers — Codex / Aider / Cline can hit Claude Pro, ChatGPT Pro, SuperGrok (#25969)
📱 Messaging Platforms (Gateway)
New platforms
Microsoft Graph foundation
- msgraph: add auth and client foundation (salvage of #21408) (#21922)
- msgraph: add webhook listener platform (salvage of #21409) (#21969)
- teams-pipeline: add plugin runtime and operator cli (salvage of #21410) (#22007)
- teams: add pipeline outbound delivery via existing adapter (salvage of #21411) (#22024)
Cross-platform
- Per-platform admin/user split for slash commands (salvage of #4443) (#23373)
- Forensics on signal handling — non-blocking diag, per-phase timing, stale-unit warning (#23285)
- Keep gateway running when platforms fail; add per-platform circuit breaker +
/platform(#26600) - Wire
clarifytool with inline keyboard buttons on Telegram (#24199) - Add
chat_idtohook_ctxfor message source tracking (#24710)
Telegram
- Native draft streaming via
sendMessageDraft(Bot API 9.5+) (salvage of #3412) (#23512) - Stream Telegram edits safely — salvage of #22264 (@kshitijk4poor) (#22518)
- Telegram notification mode (salvage #22772) (#22793)
- Telegram guest mention mode (@kshitijk4poor) (#22759)
- Split-and-deliver oversized edits instead of silent truncation (salvage of #19537) (#23576)
- Preserve DM topic routing via reply fallback (salvage #22053) (@kshitijk4poor) (#22410)
- Pass
source.thread_idexplicitly on auto-reset notice (carve-out of #7404) (#23440)
Discord
- Render clarify choices as buttons (#25485)
- Channel history backfill — default on, broadened scope (#25984)
thread_require_mentionfor multi-bot threads (salvage #25313) (#25445)
Slack
- Support
!cmdas alternate prefix for slash commands in threads (#25355)
- Surface quoted reply metadata from Baileys (#25398) (#25489)
Feishu / Google Chat / others
- Feishu: native update prompt cards (@kshitijk4poor) (#22448)
- Google Chat: repair setup prompt imports (@helix4u) (#22038)
- Google Chat: honor relay-declared sender_type (salvage of #22107) (@kshitijk4poor) (#22432)
- LINE: use
build_sourceinstead of nonexistentcreate_source(#24717) - Add
weixin, and moreto gateway docs (salvage of #21063 by @wuwuzhijing)
🖥️ CLI & TUI
CLI
- Show YOLO mode warning in banner and status bar (#26238)
- Confirm prompt for destructive slash commands (#4069) (#22687)
docker_extra_args+display.timestamps(#23599)- Delegate tool: show user's actual concurrency / spawn-depth limits in description (#22694)
TUI
/sessionsslash command for browsing and resuming previous sessions (@austinpickett) (#20805)- Segment turns with rule above non-first user msgs; trim ticker dead space (@OutThisLife) (#21846)
- Support attaching to an existing gateway (@OutThisLife) (#21978)
- Resolve markdown links to readable page titles (@OutThisLife) (#24013)
- Width-aware markdown table rendering with vertical fallback (@alt-glitch) (#26195)
- Keep Ink displayCursor in sync with fast-echo writes so cursor stops drifting (@OutThisLife) (#26717)
- Allow transcript scroll + Esc during approval/clarify/confirm prompts (@OutThisLife) (#26414)
- Preserve session when switching personality (@austinpickett) (#20942)
- Skip native safety net on OSC52-capable terminals (@benbarclay) (#20954)
Dashboard / GUI
- Route embedded TUI through dashboard gateway (@OutThisLife) (#21979)
- Hide token/cost analytics behind config flag (default off) (#25438)
- Fix Langfuse observability — trace I/O, tool outputs, placeholder credentials (closes #22342, #22763) (@kshitijk4poor) (#26320)
- MiniMax 'Login' button launched Claude OAuth (salvage #22849) (#24058)
- Update cron modals (@austinpickett) (#25985)
- Analytics: prevent silent token loss and add Claude 4.5–4.7 pricing (@austinpickett) (#21455)
🔧 Tools & Capabilities
Vision & video
vision_analyzereturns pixels to vision-capable models (#22955)- Unified
video_generatewith pluggable provider backends (#25126) image_gen: actionable setup message when no FAL backend is reachable (#26222)
Computer use
computer_usecua-driver backend + focus-safe ops + non-Anthropic provider fix (re-salvage #16936) (#21967)- Refresh cua-driver on
hermes update+ addinstall --upgrade(#24063)
LSP & write-time diagnostics
- Semantic diagnostics from real language servers in
write_file/patch(#24168) - Shift baseline diagnostics into post-edit coordinates (#25978)
Search & web
- Brave Search (free tier) and DDGS search providers (#21337)
- Bearer auth header for Tavily
/crawlendpoint (#24658)
X (Twitter)
- Gated
x_searchtool with OAuth-or-API-key auth (#26763)
Browser
- Route
browser_consoleeval through supervisor's persistent CDP WS (180x faster) (#23226) - Support externally managed Camofox sessions (#24499)
MCP
supports_parallel_tool_callsfor MCP servers (salvage of #9944) (#26825)- Codex preset for Codex CLI MCP server (salvage #22663) (#22679)
- Stop retrying initial MCP auth failures (#25624) (#25776)
Google Workspace
- Drive write ops + Docs/Sheets create/append (#21895)
Per-turn verifier
- Per-turn file-mutation verifier footer (#24498)
🧩 Kanban (Multi-Agent)
specify— auxiliary LLM fleshes out triage tasks (#21435)- Orchestrator board tools —
kanban_list+kanban_unblock(carve-out of #20568) (#23012) stranded_in_readydiagnostic for unclaimed tasks (#23578)- Dashboard batch QOL upgrade (salvage of #23240) (#23550)
- Tooltips and docs link across dashboard (#21541)
- Dedupe notifier delivery via atomic claim + rewind on failure (salvage #22558) (#23401)
- Keep notifier subscriptions alive across retry cycles (salvage #21398) (#23423)
- Drop caller-controlled author override in
kanban_comment(salvage of #22109) (@kshitijk4poor) (#22435) - Sanitize comment author rendering in
build_worker_context(#22769)
🧠 Plugins & Extension
Plugin surface
- Run any LLM call from inside a plugin via
ctx.llm(#23194) tool_overrideflag for replacing built-in tools (closes #11049) (#26759)standalone_sender_fnfor out-of-process cron delivery (@kshitijk4poor) (#22461)HERMES_PLUGINS_DEBUG=1surfaces plugin discovery logs (#22684)- Hindsight-client as optional dependency (@alt-glitch) (#21818)
Profile & distribution
- Shareable profile distributions via git (#20831)
⏰ Cron
- Routing intent —
deliver=allfans out to every connected channel (#21495) - Support name-based lookup for job operations (#26231)
- Blank Cron dashboard tab + partial-record crashes (salvage #21042 + #22330) (@kshitijk4poor) (#22389)
- Do not seed
HERMES_SESSION_*contextvars from cron origin (salvage of #22356) (@kshitijk4poor) (#22382) - Scan assembled prompt including skill content for prompt injection (#3968)
🧩 Skills Ecosystem
Skills Hub
hermes-skills/huggingfaceas a trusted default tap (closes #2549) (#26219)- Show per-skill pages in the left sidebar (#26646)
- Richer info panels on the Skills Hub (#22905)
- Refuse
skill_viewname collisions instead of guessing (closes #6136 @polkn)
Curator
- Show rename map in user-visible summary (#22910)
- Hint at
hermes curator pinin the rename block (#23212)
New optional skills
- Hyperliquid — perp/spot trading via SDK + REST (salvage of #1952) (#23583)
- Yahoo Finance market data (#23590)
- api-testing (REST/GraphQL debug, salvages #1800) (#23582)
- Unified EVM multi-chain skill (salvages #25291 + #2010 + folds in base/) (#25299)
- darwinian-evolver (#26760)
- osint-investigation (closes #355) (#26729)
- pinggy-tunnel (#26765)
- watchers — RSS / HTTP JSON / GitHub polling via cron no-agent (#21881)
- Notion overhaul for the Developer Platform (May 2026) (#26612)
🔒 Security & Reliability
Security hardening
- Sudo brute-force block + sudo-stdin/askpass DANGEROUS (salvage of #22194 + #21128) (@kshitijk4poor) (#23736)
- Drop caller-controlled author override in
kanban_comment(salvage of #22109) (@kshitijk4poor) (#22435) - Cover remaining SSRF fetch paths in skills-hub (salvage #22804) (#22843)
- Use credential_pool for custom endpoint model listing probes (salvage #22810) (#22842)
- Require dashboard auth for plugin API routes (salvage #19541) (#23220)
- Sanitize env and redact output in quick commands + remove write-only
_pending_messages(#23584) - Reduce unnecessary
shell=Truein subprocess calls (#25149) - Sanitize Google Chat sender_type from relay (salvage of #22107) (@kshitijk4poor) (#22432)
- Supply-chain advisory checker (#24220)
- Rewrite security policy around OS-level isolation as the boundary (@jquesnelle) (#20317)
- Remove public security advisory page (#24253)
Reliability — notable bug closures
- SQLite: fall back to
journal_mode=DELETEon NFS/SMB/FUSE (fixes/resumeon network mounts) (@kshitijk4poor) (#22043) - Codex-runtime: retire wedged sessions + post-tool watchdog + OAuth refresh classify (#25769)
- Codex-runtime: de-dup
[plugins.X]tables and stop leaking HERMES_HOME (#26250) (@kshitijk4poor) (#26260) - Daytona: migrate legacy-sandbox lookup to cursor-based
list()(#24587) - MCP: stop retrying initial MCP auth failures (#25624) (#25776)
- Gateway: enable text-intercept for multi-choice clarify fallback (#25587) (#25778)
- Gateway: keep running when platforms fail; per-platform circuit breaker +
/platform(#26600) - Delegate: salvage #21933 JSON-string batch + diagnostic logging (@kshitijk4poor) (#22436)
- Profiles+banner: exclude infrastructure from
--clone-all+ fix stale update-check repo resolution (@kshitijk4poor) (#22475) - ACP: inline file attachment resources (salvage #21400 + image support) (#21407)
- CI: unblock shared PR checks (@stephenschoettler) (#21012, #25957)
Notable reverts in window
/goalchecklist + /subgoal feature stack — rolled back (#23813);/subgoalreturned in simpler form via #25449- Scrollback box width clamp (#25975) rolled back to restore full-width borders (#26163)
fix(cli): tolerate unreadable dirs when building systemd PATHrolled back
🌍 i18n
- Localize all gateway commands + web dashboard, add 8 new locales (16 total) (#22914)
📚 Documentation
- Repair Voice & TTS provider table (@nightcityblade, fixes #24101) (#24138)
- Show per-skill pages in the left sidebar (#26646)
- Mention Weixin in gateway help and docstrings (salvage of #21063 by @wuwuzhijing)
- Richer info panels on the Skills Hub (#22905)
- Many more doc updates across providers, platforms, skills, Windows install paths, and dashboard.
🧪 Testing & CI
- Unblock shared PR checks (@stephenschoettler) (#21012)
- Stabilize shared test state after 21012 (@stephenschoettler) (#25957)
- A long tail of test additions for platforms, providers, plugins, and edge cases — 8 explicit
test:PRs plus ~250 fix PRs that also added regression coverage.
👥 Contributors
Core
- @teknium1 — release lead, architecture, ~406 PRs merged in window
Top community contributors
- @kshitijk4poor — 38 PRs · Telegram cadence/streaming/topic routing, security hardening (sudo, SSRF, kanban_comment, dashboard auth), codex-runtime hygiene, NovitaAI provider, profile/banner fixes, Feishu update cards, gateway QOL across the board
- @alt-glitch — 13 PRs · Markdown-table TUI rendering,
HERMES_SESSION_IDenv var, hindsight-client optional dep, NixextraDependencyGroups - @OutThisLife (Brooklyn Nicholson) — 12 PRs · TUI turn segmentation, attach-to-gateway, markdown link titles, embedded TUI via dashboard gateway, Ink cursor sync, scroll/Esc during prompts
- @austinpickett — 8 PRs ·
/sessionsslash command, personality switching preserves session, cron modals, dashboard analytics - @helix4u — 5 PRs · Google Chat setup, browser install skip on system chromium, Windows Ctrl+C preservation
- @rob-maron — 4 PRs · Nous Portal as model metadata authority, provider polish
- @stephenschoettler — 3 PRs · CI stabilization
- @ethernet8023 — 3 PRs · platform/gateway work
All contributors (alphabetical)
@02356abc, @0xbyt4, @0xharryriddle, @1000Delta, @1RB, @29206394, @A-kamal, @aashizpoudel, @Abd0r,
@adybag14-cyber, @AgentArcLab, @ahmedbadr3, @AhmetArif0, @alblez, @Alex-yang00, @ALIYILD, @AllynSheep,
@alt-glitch, @am423, @amathxbt, @amethystani, @ArecaNon, @Arkmusn, @askclaw-vesper, @AsoTora, @austinpickett,
@aydnOktay, @ayushere, @baocin, @Bartok9, @benbarclay, @BennetYrWang, @Bihruze, @binhnt92, @briandevans,
@brooklynnicholson, @btorresgil, @buntingszn, @CalmProton, @chrisworksai, @CoinTheHat, @dandacompany, @Dangooy,
@DanielLSM, @David-0x221Eight, @ddupont808, @dhruv-saxena, @diablozzc, @dlkakbs, @dmahan93, @dmnkhorvath,
@domtriola, @donrhmexe, @Dusk1e, @eloklam, @emozilla, @ephron-ren, @erenkarakus, @EthanGuo-coder,
@ethernet8023, @evgyur, @explainanalyze, @fahdad, @fr33d3m0n, @Freeman-Consulting, @freqyfreqy, @Frowtek,
@fu576, @github-actions[bot], @gnanirahulnutakki, @GodsBoy, @guglielmofonda, @Gutslabs, @hanzckernel,
@heathley, @hekaru-agent, @helix4u, @HenkDz, @HiddenPuppy, @hllqkb, @hrygo, @HuangYuChuh, @Hugo-SEQUIER, @HxT9,
@iacker, @InB4DevOps, @isaachuangGMICLOUD, @iuyup, @Jaaneek, @jackey8616, @jackjin1997, @Jaggia, @jak983464779,
@jelrod27, @jethac, @JithendraNara, @johnisag, @Julientalbot, @Jwd-gity, @kallidean, @keyuyuan, @kfa-ai,
@kidonng, @KiraKatana, @kjames2001, @konsisumer, @Korkyzer, @kshitijk4poor, @KvnGz, @lars-hagen, @leehack,
@leepoweii, @LeonSGP43, @li0near, @libo1106, @liquidchen, @littlewwwhite, @liuhao1024, @liyoungc, @luandiasrj,
@luoyuctl, @luyao618, @magic524, @mbac, @McClean, @memosr, @Mibayy, @ming1523, @mizgyo, @mrshu, @ms-alan,
@MustafaKara7, @nederev, @nicoechaniz, @nidhi-singh02, @nightcityblade, @nik1t7n, @Ninso112, @NivOO5,
@novax635, @nv-kasikritc, @oferlaor, @oswaldb22, @outdoorsea, @oxngon, @PaTTeeL, @pearjelly, @pefontana,
@perng, @PhilipAD, @phuongvm, @polkn, @Prasanna28Devadiga, @princepal9120, @pty819, @purzbeats, @Quarkex,
@quocanh261997, @qWaitCrypto, @Qwinty, @rahimsais, @raymaylee, @ReqX, @rewbs, @RhombusMaximus, @rob-maron,
@Ruzzgar, @ryptotalent, @Sanjays2402, @shannonsands, @shaun0927, @SiliconID, @silv-mt-holdings, @simpolism,
@smwbev, @soichiyo, @sprmn24, @steezkelly, @stephenschoettler, @Sylw3ster, @szymonclawd, @teyrebaz33,
@Tianyu199509, @Tranquil-Flow, @TreyDong, @TurgutKural, @tw2818, @tymrtn, @uzunkuyruk, @v1b3coder,
@vanthinh6886, @VinceZcrikl, @vKongv, @vominh1919, @voteblake, @VTRiot, @wali-reheman, @wesleysimplicio,
@wilsen0, @WorldWriter, @worlldz, @wuli666, @wuwuzhijing, @Wysie, @XiaoXiao0221, @xieNniu, @xxxigm, @yehuosi,
@ygd58, @yifengingit, @yuga-hashimoto, @zccyman, @ZeterMordio, @Zhekinmaksim, @zhengyn0001
Also: @Nagatha (Claude Opus 4.7).
Full Changelog: v2026.5.7...v2026.5.16
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v2026.5.29 Docker dashboard --insecure now requires explicit env var HERMES_DASHBOARD_INSECURE=1
Beta — feedback welcome: [email protected]