v0.21.3

Hermes Agent v0.21.3


Overview

v0.21.3 — The Sign-In Patch. Erschienen am 14. September 2026. 1.036 Non-Merge-Commits · 2.642 geänderte Dateien (+131.690 / −37.096) · 338 gemergte PRs seit v0.21.2, gemessen bei Commit 9b419a2d3c2657c192008e732149d61170b32c01.

Manche Fixes sind nur für die Installationen relevant, die hermes update nie von Hand ausführen. Genau für die existiert dieses Tag: Docker-Images, Hermes Cloud und gehostete Deployments bauen aus dem neuesten Release-Tag, also musste die Arbeit an der Anmeldung über das Remote-Gateway aus dem letzten Fenster in ein stabiles Tag einfließen, bevor Cloud-Nutzer sie bekommen konnten. Das Fenster selbst ist groß – dieselben ~338 PRs tragen auch die Wire-Contracts des Gateways, die Auswahl des Reasoning-Aufwands in jedem Model-Picker, den OpenRouter-OAuth-PKCE-Login, die HEIF-/HEIC-/AVIF-Dekodierung und eine lange Liste an Plattform-Arbeit –, aber die kuratierte Beschreibung all dessen erscheint mit v0.22.0, die alles ab v0.21.0 dokumentieren wird. Diese Seite behandelt das, wofür das Tag geschnitten wurde.


Highlights

1. Ein Desktop-Wake-Burst kann deine Session nicht mehr widerrufen

Remote-Dashboard-Sessions liefen früher ab, wenn mehrere Anfragen gleichzeitig eintrafen. Beide Refresh-Pfade auf dem Gateway – das Cookie-Gate und die native Bearer-Route des Desktops – präsentierten jeweils das gleiche rotierende Refresh-Token; der Identity-Provider rotiert ein Refresh-Token bei jeder Nutzung und wertet eine zweite Vorlage des alten Werts als Token-Diebstahl, was die gesamte Session widerruft. Ein Desktop-Wake-up nach dem Schlafmodus ist genau so ein Burst, also wirkte der Fehler zufällig und traf immer den ungünstigsten Moment (#110061, fixes #55712).

Jetzt werden gleichzeitige Refreshes mit demselben rotierenden Token zusammengelegt: Eine Anfrage führt die Rotation aus, die anderen übernehmen das Ergebnis. Der Refresh läuft außerdem nicht mehr auf dem Event-Loop, sodass ein langsamer Identity-Provider /api/status nicht mehr blockiert, während er wartet.

Die Portal-Seite passt dazu (hermes-portal#1209): ein gleitender 30-Tage-Idle-Horizont und eine 5-Minuten-Gnadenfrist für ein rotiertes Token, damit ein echter, noch laufender Wettlauf nicht als Wiederverwendung gelesen wird.

2. Langlebige Prozesse leaken keine doppelten state.db-Writer-Handles mehr

Eine gesunde Topologie konnte trotzdem den Vorläufer N live SessionDB handles ausgeben. Das Gateway, das Dashboard-/Desktop-Backend, die ACP-Oberfläche und CLI-Reader hängten jeweils ihr eigenes Writer-Handle an, also stieg der Zähler, und die Diagnose beschuldigte die Installation genau des Problems, das sie eigentlich aufdecken sollte (#110934, fixes #100896 und #103339).

Die Form ist jetzt explizit: Reader hängen nur lesend an, und In-Process-Writer teilen sich das Registry-Handle, statt jeweils eines zu öffnen. Weniger Handles bedeuten weniger Chancen, dass eine Komponente die Locks einer anderen aufhebt – genau die Fehlerklasse, die das v0.21.2-Patch mit sechs PRs geschlossen hat.

Ebenfalls in diesem Fenster

Das Tag rollt alles auf, was seit v0.21.2 gemergt wurde, nicht nur die beiden Punkte oben. Nach Bereichen gruppiert und bewusst den v0.22.0-Notes überlassen:

  • Gateway-Contract: Server→Client-JSON-RPC-Requests ersetzen die *.request / *.respond-Event-Paare (#110521), und ein Pydantic-Wire-Contract-Registry generiert die TypeScript- und OpenRPC-Typen (#110522, #110523).
  • Modelle und Reasoning: Auswahl des Reasoning-Aufwands in jedem Model-Picker, eine Composer-Pille und Steuerung des Aufwands pro Auxiliary im Desktop; OpenRouter-OAuth-PKCE-Login.
  • MCP: OAuth-Refresh-Tokens sind an den Issuer gebunden, der sie ausgestellt hat, plus ein täglicher Re-Auth-Hinweis im Desktop.
  • Medien: HEIF-, HEIC- und AVIF-Dekodierung.
  • Provider: Wan 3.0, Kling 3.0 / Kling Image v3, MiniMax H3 Max Turbo, Gemini Omni Flash 1.1 und Meta Muse kommen in die FAL-Kataloge; das Honcho-Peer-Model-Setup wurde überarbeitet.
  • Plattformen: eingefügte Tabellen in Slack und die Agent Sessions API.
  • Storage und Profile: Isolation multiplexter Profile und Gateway-Liveness-Fixes, plus die Weigerung, den WAL-journal_mode auf Dateisystemen zu aktivieren, die über VMs hinweg geteilt werden.

Upgrade

Bestehende Installationen aktualisieren sich direkt:

hermes update

Docker und Hermes Cloud bauen aus diesem Tag:

docker pull nousresearch/hermes-agent:v2026.9.14

Der vollständige Diff steht unter v2026.9.11…v2026.9.14.

← Hermes Agent Changelog