Hermes merged 40 PRs on November 1
The ones worth knowing:
- Lock a skill so the agent can't rewrite it, through skill_manage, write_file, patch or terminal
- Plugins and shell hooks can now block a turn before it ever reaches the model
- Approval prompts reveal hidden Unicode, control bytes and padding instead of hiding them
- /model reset puts a pinned session back on your configured default across CLI, TUI, Desktop and gateway
- Cron jobs now know when they fired: the run time is in every scheduled prompt
- Desktop keeps every gateway connected, and picking one no longer blanks your session list
- Desktop sessions waiting on subagents or background work stay highlighted and stop spinning when done
- Claude subscription catalog installs use about 1.7x less of the 5-hour window
- Telegram video notes now reach the agent instead of being dropped
- Slack thread context shows emoji reactions, so reacted-to messages read as answered
- New opt-in cap on how long a streaming response can live (agent. stream_max_lifetime)
- hermes update stops stashing untracked folders it never touches, and asks before stashing
Here is the full list:
DESKTOP IMPROVEMENTS (14 PRs)
- fix(desktop): every gateway stays connected, and picking one no longer asks to switch or blanks the session list
- fix(desktop): a session stops spinning when its background work finishes off screen
- Desktop status bar names the profile when another profile's messaging is down
- fix(desktop): sidebar rows off screen and after reload/reconnect show running subagents and background work
- fix(desktop): Pinned names the filter that hides every pin
- fix(desktop): Korean and other pack languages: load installed packs on a cold gateway, sync them at boot, and only offer languages with Desktop strings
- fix(desktop): sessions waiting on subagents or background processes stay highlighted in the sidebar
- Desktop sidebar no longer shows the confusing "automatic continuation" notice on compressed sessions
- fix(desktop-plugins): host reconcile treats Windows junctions as links; Desktop tested on a real case-insensitive volume
- fix(desktop): restore session-tab close button spacing
- perf(desktop): avoid theme updates for sidebar geometry changes
- perf(desktop): skip unchanged terminal snapshots and hidden row paints
- perf(desktop): keep streamed tokens out of navigation context
- fix(desktop): a native plugin install never replaces a folder outside desktop-plugins
VOICE & REAL-TIME (2 PRs)
- feat(streaming): opt-in cap on a streaming response total lifetime (agent. stream_max_lifetime)
- fix(gateway): background jobs that finish during a busy turn come back as one turn, not one each
DEVELOPER TOOLS & PLUGINS (10 PRs)
- feat(plugin-catalog): add simular-sai (Sai by Simular)
- Plugins and shell hooks can block a turn before it reaches the model (pre_llm_call block directive)
- fix(middleware): tool_request middleware sees the model's pre-Relay call as original_args
- feat: /model reset returns a pinned session to the configured default (CLI, TUI, Desktop, gateway)
- Cron jobs know what time they fired: run time in every scheduled prompt
- feat(telemetry): see when people wait on a busy agent (busy arrivals + daily peak of busy chats)
- fix(telemetry): Spotify and old browser_vault tool names from older releases export as recorded again
- refactor(aux): the auxiliary client keeps the main runtime only per context
- fix(kanban): kanban_task_blocked fires after commit for dependency waits
- fix(background-review): memory review saves only grounded facts, not guesses
SECURITY & SECRETS (3 PRs)
- feat(skills): lock a skill so the agent can't change it (skill_manage, write_file, patch, terminal)
- Approval prompts show hidden Unicode, control bytes and padding instead of hiding them (CLI, gateway, TUI/Desktop)
- fix(profiles): hermes update never copies the default .env into a profile
INTEGRATIONS & CHAT (6 PRs)
- Telegram video notes reach the agent instead of being dropped
- fix(mattermost): setup stops pointing at a profile dialog with no user ID
- fix(photon): setup only reports success once your number can receive iMessages (opt-in wait)
- Approval cards keep the command and reason after a decision or timeout on Telegram, Feishu and Teams
- feat(slack): show emoji reactions in thread context so reacted-to messages read as answered
- Claude subscription provider: catalog installs use ~1.7x less of the 5-hour window
STABILITY & FIXES (5 PRs)
- hermes update no longer stashes untracked folders it never touches, and asks before stashing
- fix: two CI races, PTY drain test sleep and a process reaped mid-/proc-probe
- test(cron): profile-timezone test no longer fails the day before a DST change
- fix(update): update-lock tidy-ups from review feedback
- fix(agent): name the phase and the setting in transport-timeout error summaries
40 new features and fixes
もっと見る