Original release notes
Hermes Agent v0.22.2
Release Date: October 15, 2026
v0.22.1 was built from the wrong commit. It shipped unreleased gateway work, and the Microsoft Store app could stick on "Connecting." 0.22.2 is the release 0.22.1 was meant to be.
Known issue: Sessions that ran under the 0.22.1 gateway can't be deleted in 0.22.2.
Highlights
- The gateway starts after a reboot again. After a restart, Linux can hand an early PID to an unrelated process, and the gateway could mistake it for a running gateway, so a supervised gateway (systemd, launchd, Docker) refused to start. Hermes now records the boot it started in, and when it can't tell, it asks the host lock, which only a live gateway holds. (#138594, fixes #133744)
- Long local-model turns survive on laptops. Local requests always stream with prompt-reading progress (shown in the status line), stall timers skip time the machine was asleep, a recovered local server gets another try instead of a breaker that failed every later message, and compression no longer times out while the server is still reading a long conversation. On Windows unified-memory machines, model launch and the prompt cache are sized to free memory. (#138560)
Below is everything in the 0.22 release line since v0.22.0: the fixes 0.22.1 was meant to ship, plus the two above. Work that is only on main ships with v0.23.0.
Features
- Release: split the Microsoft Store bundle into its own windows-store lane (
f9d8a740) - @ethernet8023 - Agent: add nemotron super 3.5 default parameters (
c59d2994) - @elisam0 - Cli: add nemotron to NVIDIA NIM default model list (
cc55270e) - @elisam0 - Cli: add curated model list at the top in the model picker list (
e6835fd3) - @elisam0 - Release: choose what a stable release builds and tests with lanes (
36a8ee18) - @ethernet8023 - Plugin-catalog: add hermes-lang-ko - Korean Desktop language pack (
e5f49b6a) - @dandacompany - Plugin-catalog: add hermes-lang-pt-br (Brazilian Portuguese language pack) (
0169e80c) - @StudioCodeAI - Contributors: add 2867297362mjb-sketch email mapping (
9ab40641) - @2867297362mjb-sketch - Plugin-catalog: add teamorouter (TeamoRouter model providers) (
ef223406) - @2867297362mjb-sketch - Plugin-catalog: add author-feed (
5f6d6836) - @TakeshiTGAL - Plugin-catalog: bump aux-ledger to 1.4.0 (
6048066e) - @olric3015 - Plugin-catalog: add the wait-ledger catalog card (
77cb58e5) - @olric3015 - Plugin-catalog: add wait-ledger (
97e65322) - @olric3015 - Community plugin: lightningai + lightningai-rate-limit (
07515466) - @dinosauria123 - Catalog: add Hermes AAC 0.1.0 at reviewed exact source pin (
7c9adda8) - @TREE-Ind - Plugin-catalog: add openinvest (
b6e86101) - @longsizhuo - Catalog: add hermes-agent-mixer (v0.2.0 @ 04c4e13) (
2e7e3859) - @Sahil-SS9 - Plugins: move Kumiho Memory to memory catalog shelf (
46f95e08) - @kaveone - Release: dispatch Stable Release from the default branch (
667e6639) - @ethernet8023
Improvements
- Agent: keep the Mistral tool-id rule beside its only consumer (
c5fc0958) - @kshitijk4poor - Profiles: build the seed routing view once; expand
enabledtoo (311155fa) - @kshitijk4poor - Profiles: simplify the model seed and trim its tests (
d9dfb124) - @kshitijk4poor - Update nemotron super 3.5 name (
3224993a) - @elisam0 - Hermes_cli: update nemotron 3.5 name (
108ae4e7) - @elisam0 - Catalog: re-pin showly to the build without the upstream self-update check (
6462f64a) - @slchris - Catalog: update Model Router to v0.4.3 native preferences (
6a097ee9) - @metamindedu
Bug Fixes
- Gateway: a recorded boot epoch that cannot be compared is unprovable (
79b3b724) - @ethernet8023 - Local: keep long local-model turns alive on laptops (
518ce272) - @emozilla - Gateway: a read-only host-record check never creates the lock file (
91e63f84) - @kshitijk4poor - Gateway: let the host lock decide a legacy record that looks older than this boot (
4d984677) - @ethernet8023 - Gateway: anchor the legacy host-record check on boot time, not a live create_time (
5b416e42) - @ethernet8023 - Gateway: drop argv identity from host rendezvous liveness (
c7fa3cbf) - @sin5ddd - Gateway: reject a recycled PID that only matches start ticks (
7934442e) - @sin5ddd - Tui: keep a ${VAR} bare-custom endpoint as a ref in the new profile (
dd2db134) - @kshitijk4poor - Tui: a new profile inherits a bare
customlaunch model with its endpoint (463d4019) - @kshitijk4poor - Release: a Store-only Windows build gets no signing vars; Store-plus-macOS smokes record only macOS (
a8cc19eb) - @ethernet8023 - Agent: keep composite tool ids paired on Mistral routes (
0c1bfb7d) - @kshitijk4poor - Agent: rewrite split tool ids before Mistral sees them (
b33ed359) - @xxxigm - Release: macOS smoke runs when no receipt was staged (
f546ea2f) - @ethernet8023 - Install-e2e: preserve bundled Windows process arrays (
6db1934d) - @Oceanswave - Profiles: match env-referenced endpoint names when seeding a profile (
7b755ed5) - @kshitijk4poor - Profiles: drop every same-identity destination entry when merging (
9a9a6e43) - @kshitijk4poor - Profiles: match endpoint identity the way runtime does when merging (
ef57cbd9) - @kshitijk4poor - Profiles: keep URL-less destination entries when merging the endpoint seed (
2aa469f7) - @kshitijk4poor - Profiles: inherited endpoint is not shadowed by the profile's own entries (
ac0b63af) - @kshitijk4poor - Profiles: select the seeded endpoint from an env-referenced provider (
c85302a2) - @kshitijk4poor - Profiles: keep bare custom provider tuning in the model seed (
424aa90f) - @kshitijk4poor - Profiles: reuse named provider lookup without credential reads (
c8a777ff) - @helix4u - Profiles: align model seed with provider resolution (
5fee8d77) - @helix4u - Profiles: inherit canonical and legacy custom endpoints (
2d3e75aa) - @helix4u - Drop the VPN/proxy advice from the CDN-block message (
300228d2) - Scope the no-cf-cache-status block signal to our R2 host; keep it on 429s (
ec5fa1e4) - Name a CDN firewall block instead of a bare HTTP 403 (#128295) (#128295)
- Release: termux-only claims finish and partial releases keep the shared downloads page (
6743ab71) - @ethernet8023 - Ci: packaged-update acceptance retries a download whose connection resets (
db4a6a9e) - @ethernet8023 - Catalog: re-pin Agent Mixer after maintainer review (
4297a692) - @Sahil-SS9 - Pin Activity v0.2.1 public credential routes (
3dac1f07) - @hassan-kamel - Plugin-catalog: update jp-egov-law to f1dd47e (
c029046d) - @TakeshiTGAL - Plugin-catalog: update switchbot-control to d0e6f77 (
c4bf61b1) - @TakeshiTGAL - Install-e2e: the Windows packaged-app feed serves byte ranges (
1f6c02c0) - Pm: re-merge the uv cache seed on volumes marked by a seedless image (
1226894b) - @ethernet8023 - Release: publish replaces the stable head instead of create-only (
df8c3ca5) - Release: keep a stable run on main from using the controller commit or cancelling pushes (
0dbd96ab) - @ethernet8023 - Pm: stage a version for version-less buildable plugin members too (
3d8dfc1d) - @ethernet8023 - Pm: don't stamp project.version on members declaring it dynamic (
2a10164c) - @Ieqzya - Pm: give generated virtual workspace members a project.version (
357986e5) - @Ieqzya

