Hermes merged 78 PRs on September 11 The ones worth knowing: • Multiplex isolation hardens: secondary profiles stop inheriting the default bot's bearer, allowlists, vault secrets, and host identity • MEDIA: delivery under multiplex can no longer attach another profile's .env, auth.json, or state.db • state.db stops wedging on healthy WALs, corrupt rows, and FTS damage; doctor/repair handle real incident shapes • Desktop Bot Mode and roster hover no longer spawn a backend per profile or per row • Pooled remote profile clicks no longer storm reconnects while the VPS backend cold-starts • Guided first launch ships behind HERMES_GUEST_ONBOARDING, with free-tier chip badge polish • Bedrock Claude and Converse models survive /model, fallback, and restore on one runtime binder • Bedrock Guardrails enforce on the Claude route; blocks surface as refusals • Native DeepSeek Flash keeps 1M context and vision without a config pin • OpenRouter :nitro/:floor variants resolve their base model's context window • Compression model_thresholds can be scoped per provider so Codex Astra's 0.85 no longer leaks onto OpenRouter/Nous • Release v0.21.2 lands (2026.9.11) Here is the full list: DESKTOP IMPROVEMENTS (25 PRs) • fix(desktop): qualify group (you) by connection, not bare profile name • fix(desktop): stage group-chat PDFs as workspace files • Desktop: open bot tiles no longer cold-start or pin pooled backends from the background • fix(serve): the backend exits when its Desktop parent dies instead of living forever • Desktop: an expired remote OAuth session no longer flickers the Sign-in overlay • fix(desktop): older session history stays reachable across scope spellings and backends • fix(desktop): preserve local provider identity across new chats • fix(desktop): recover trapped sidebars and keep titlebar controls clickable • fix(desktop): republish composer clearance after an effect replay • and more… DEVELOPER TOOLS & PLUGINS (15 PRs) • fix(bootstrap-installer): stamp setup app version from release semver • fix: update checks poll the GitHub API once a day instead of git-fetching every 30 min • test(auth): fix main-red anon-auth fixture after the per-profile token memo • main is green again: anon-auth fixture resets the token memo to its dict shape • fmt(js): `npm run fix` auto-fix (5x) • fix: update errors name the real cause; hermes update can't hang on a stalled fetch; shallow grafts pruned • feat(compression): model_thresholds keys can be scoped to one provider (Codex Astra no longer leaks its 0.85 onto OpenRouter/Nous) • and more… SECURITY & SECRETS (10 PRs) • fix(gateway): MEDIA: delivery can no longer attach another profile's .env / auth.json / state.db under multiplex • fix(auth): secondary profiles no longer get a sibling profile's Nous bearer from per-process memos under multiplex • fix(gateway): secondary-profile bots no longer inherit the default profile's allow-all / allowlists • and more… INTEGRATIONS & CHAT (11 PRs) • feat(wisdom): add Hermes Collective Wisdom Agent V1 • fix(relay): honor explicit profile disable before relay startup • fix(feishu): secondary-profile drive-comment turns and SDK callbacks no longer run under the launch profile • Bedrock Claude and Converse models survive /model, fallback and restore (one runtime binder for all wires) • feat(relay): pass API request metadata to Relay tracking • Guided first launch behind HERMES_GUEST_ONBOARDING: intro, guided chat, first task in default (NS-848, PR B1) • and more… STABILITY & FIXES (17 PRs) • fix(sessions): a lost WAL generation is captured durably before shutdown settles; 3.11 retires the handle unclosed • fix(gateway): /p// webhook replies and api_server callbacks stay on the routed profile • fix(gateway): secondary-profile send_message, notices and /loop wakeups no longer post through the default bot • fix(terminal): remote NOPASSWD sudo no longer prompts for a password
Hermes merged 69 PRs on September 10 The ones worth knowing: • Nous free tier ships: free inference and connectors out of the box, created once at boot only behind HERMES_GUEST_ONBOARDING=1 • Sign in with a Nous account from chat via /login, one shared flow • Vault two-factor codes: automatic from a saved authenticator key, otherwise asked for in your UI • Agent signs in, pays, and fills addresses from 1Password, Bitwarden, or the local vault, password-blind on every browser backend • DeepSeek V4.1 Flash lands on the Nous Portal and OpenRouter pickers • Plugins: pin to a commit from Desktop, install private git repos with stored credentials, one Plugins page under Capabilities • Radio ships as an opt-in SDK plugin, with credits linking to artist profiles • /model onto Bedrock Mantle OpenAI models no longer 401s (SigV4 survives client rebuilds) • Desktop login-shell PATH probe settles on timeout so Linux boot cannot hang • Bot DMs carry their sender into the recipient turn; ALLOW_BOTS chats get a loop guard • archify appears in the optional-skills catalog, content pulled live from upstream • In-app tips show once each instead of re-appearing every six hours Here is the full list: DESKTOP IMPROVEMENTS (21 PRs) • feat(desktop): Nous free tier on Hermes Desktop • fix(desktop): settle the login-shell PATH probe and kill the probe child on timeout • fix(desktop): in-app tips show once each instead of re-appearing every six hours • fix(desktop): idle HUD/popout windows no longer refuse drive_preview for the active session • fix(desktop): Hyprland HUD floats even when j/clients lags the first map • fix(desktop): HUD mode shows the transcript again • fix(desktop): hide fixed titlebar clusters on contributed full pages • fix(desktop): leaving HUD mode always gives the app window back • fix(desktop): model picker keeps the (provider, model) pair; a shared id on OpenRouter no longer rewrites the pick • Desktop Telegram setup: no stale 'No bot token' error, QR quick setup + restart banner ported from the dashboard, gateway restart no longer bails on linger • fix(desktop): Windows update no longer reports a healthy install as a missing Desktop exe • fix(desktop/settings): searchable-select popover sized to content, not the shrink-wrapped trigger • feat(desktop): integrate panel tabs into the titlebar • fix(desktop): make native notifications reveal their session tab • feat(desktop): link radio credits directly to artist profiles • fix(desktop): restore Cmd/Ctrl+Enter in clarify forms • feat(desktop): show more recent sessions in project grouping • fix(desktop): keep artifact links at the bottom of the status stack • fix(desktop): keep settings search opaque under Glass • fix(desktop): wait for session discovery without discarding queued prompts • fix(desktop): collapse composer status groups except todos VOICE & REAL-TIME (1 PRs) • fix(desktop): auto-TTS reads a reply once while the HUD is open DEVELOPER TOOLS & PLUGINS (18 PRs) • fix(desktop): resolve plugin SDK namespaces lazily so disk plugins load in production builds • fmt(js): `npm run fix` auto-fix (11x) • feat(skills): archify appears in the optional-skills catalog, content pulled live from upstream • feat(desktop): Plugins is one row per plugin; desktop halves are app-level, never profile-scoped • feat(plugins): pin a plugin to a commit from Desktop, pins shown in every list • refactor(desktop): one Plugins page under Capabilities, owns agent + desktop plugins, install, and the catalog • feat(plugins): private git repos install with the user's stored credentials • feat(desktop): ship Radio as an opt-in SDK plugin SECURITY & SECRETS (4 PRs) • feat(vault): two-factor codes: automatic from a saved authenticator key, otherwise asked for in the user's UI • feat: agent signs in, pays and fills addresses from 1Password/Bitwarden/local vault: zero setup, password-blind on every browser backend • fix(relay): accept a provision response that issues no secret • fix(desktop): exclude expired Windows trust roots with real-certificate coverage INTEGRATIONS & CHAT (15 PRs) • The free tier is created in one place, at boot, only behind HERMES_GUEST_ONBOARDING=1 • feat(gateway): sign in with a Nous account from a chat (/login), one shared sign-in flow • fix(auth): a sign-in from the free tier settles the default model and route • feat(auth): Nous free tier: free inference and connectors out of the box, one command to sign in • fix(providers): use chat completions for all Actual routes • /model onto Bedrock Mantle OpenAI models no longer 401s (SigV4 survives client rebuilds) • feat(honcho): each turn is written under its author's peer; bot DMs get their own session • feat(bot-mode): bot DMs carry their sender into the recipient's turn; ALLOW_BOTS chats get a loop guard • feat(models): DeepSeek V4.1 Flash on the Nous Portal and OpenRouter pickers • fix(routing): /model and auxiliary auto never bill a provider the user did not select (Astra to OpenRouter, Grok to Nous) • DeepSeek provider no longer rewrites custom model ids • fix(models): never auto-switch to a provider the user has no credentials for; keep session custom endpoints; ACP explicit prefix wins • fix(models): /model keeps a model the current provider serves; deepseek-flash is DeepSeek's canonical Flash id • fix(metadata): GLM context windows from the live catalog; hyphenated slugs, entry-level overrides, aux inherits main pin • fix(dashboard-auth): offer every configured provider in native sign-in STABILITY & FIXES (10 PRs) • fix(gateway): long-session 400 envelope gets the /compact reply, other failures keep their text • Hidden seed rows stay out of search, a partial seed copy is rolled back, live resume counts the wire • Seeded sessions survive a gateway restart and store their seed once • Subagent roster and controls survive prompt-driven reconnects • fix(bot-mode): relay waiter outlives the Desktop deliver deadline • fix: join delegated work before finite chat exits • fix(agent): stop background reviews creating phantom plugin sessions • fix(sessions): a stale explicit-close stamp no longer wedges compression • fix(cron): bare-platform home deliveries are continuable • test(gateway): make 7 macOS-failing gateway tests host-honest nitter.cf/iamlukethedev/status/2…
4
7
1
70
15,764
multiplex isolation hardens are huge. secondary profiles leaking bearer + vault secrets is the kind of silent bug that kills trust — good to see that sealed properly

Sep 12, 2026 · 8:21 AM UTC

1
40