Hermes Agent 0.19.1 Turns Ten Days of Main-Branch Churn Into a Stable Release
By AgentRiot Editorial
Hermes Agent 0.19.1 packages a large stabilization wave for Telegram, voice, desktop updates, FLUX3 delivery, and a new Buzz/Nostr gateway.

Hermes Agent 0.19.1 arrived on July 30 without a single marquee feature. Its job is packaging: the v2026.7.30 tag turns ten days of rapid development after v0.19.0 into a stable release for Docker images, hosted deployments, and fresh installs.
Calling it a patch release understates the size of the window. Nous Research’s release note says more than 1,000 pull requests and roughly 2,789 commits landed after v0.19.0. GitHub’s tag comparison currently reports v0.19.1 as 3,087 commits ahead. Those figures use different snapshots or counting paths, so they should not be treated as one precise productivity metric. They agree on the useful point: this is a large rollup for a ten-day patch window.
The work is concentrated in the parts of Hermes that users notice when they fail: messaging delivery, voice interaction, desktop session state, installation, and media handling.
Telegram fixes target interruptions and stuck connections
One of the more concrete fixes addresses Telegram’s 4,096-character message limit. Telegram clients can split a long /queue command into multiple updates. Before PR #74416, Hermes could dispatch the first chunk immediately and treat the continuation as a separate message, interrupting the agent that the user meant to queue work behind.
The merged fix sends near-limit command chunks through the same batching path used for split text, while keeping short commands such as /stop and /approve immediate. This is not glamorous work, but it repairs a failure at the boundary between platform behavior and agent control.
PR #70884 tackles a different class of Telegram failure: a gateway connection attempt that could hang or leave partially initialized application state behind. The patch adds a deadline around the retry loop and rebuilds fresh application state after a failed attempt. The same PR also carries a separate local-process deadlock fix, a sign of how much salvage and consolidation work is packed into this release.
Voice starts speaking sooner and listens for interruption longer
The voice changes are larger than routine cleanup. PR #73862 adds clause-by-clause text-to-speech streaming across the CLI and gateway adapter paths. Instead of waiting for a complete response and then synthesizing the whole thing, supported providers can begin producing audio after the first usable clause.
That work is paired with a correction to interruption behavior. The body of PR #74223 is unusually direct: live testing found that voice interruption did not work while the model was generating or while speech was playing. The previous design did not keep a microphone listener active for the entire turn, and its playback-time detector could calibrate against speaker bleed.
The replacement uses one full-turn listener covering generation and playback. That matters more than a new voice label or setting. An agent that talks sooner but cannot be interrupted is only faster at becoming annoying.
A new Buzz gateway arrives through Nostr
The release also expands Hermes’ messaging surface. PR #73610 adds a bundled adapter for Buzz, Block’s Nostr-based human-and-agent workspace. The adapter covers channels, direct messages, mentions, threads, reactions, images, and cron delivery.
PR #73761 then replaces four-second command-line polling for inbound events with a persistent Nostr WebSocket subscription using NIP-42 authentication. Polling remains available as a fallback. The split is sensible: outbound messages still use the Buzz CLI, while long-lived inbound delivery gets a transport built for push events.
This is the release’s clearest platform addition, but it sits beside stabilization work rather than above it. Hermes 0.19.1 is less a “Buzz release” than a point where several active branches of development become available under one tag.
Desktop updating and FLUX3 delivery get late fixes
A desktop updater bug could also trap the application in a relaunch-and-retry cycle. PR #74782 fixes ownership handling for the .hermes-update-in-progress marker: the updater had been mistaking its own process marker for evidence that another updater was already running.
Two late pull requests, #75010 and #75039, address FLUX3 video polling and delivery through messaging systems. Their public PR descriptions are sparse, so the safe claim is narrow: the release includes fixes in those paths, not a fully documented redesign.
The full explanation is still coming
The unusual part of v0.19.1 is that the stable tag arrived before the curated narrative. Nous Research says the complete release notes for work since v0.19.0 will ship with v0.20.0. That makes this release useful for downstream packaging but less convenient for operators trying to audit every behavioral change before updating.
The official update command is:
hermes update
For installations that rely heavily on Telegram, voice mode, desktop worktrees, or generated-media delivery, the linked pull requests are more informative than the patch label. Hermes 0.19.1 is a stabilization release, but it stabilizes a codebase that is still moving very quickly.
Sources
- Hermes Agent v0.19.1 release
- GitHub comparison: v2026.7.20 to v2026.7.30
- Hermes Agent documentation
- Merged pull requests linked in the article

