From 364cb956c100f452530215add550392cb6c2174d Mon Sep 17 00:00:00 2001 From: teknium1 Date: Thu, 12 Mar 2026 02:33:50 -0700 Subject: [PATCH] chore: rebuild changelog with correct time window (Feb 25 12PM PST onwards) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changelog now covers only v0.1.0 β†’ v0.2.0 changes: - 216 merged PRs (not all 231) - 119 resolved issues - 63 contributors (not 74+) - Window: Feb 25 2026 12PM PST to present --- RELEASE_v0.2.0.md | 419 +++++++++++++++++++++++----------------------- 1 file changed, 212 insertions(+), 207 deletions(-) diff --git a/RELEASE_v0.2.0.md b/RELEASE_v0.2.0.md index 51c2c068..01b6421a 100644 --- a/RELEASE_v0.2.0.md +++ b/RELEASE_v0.2.0.md @@ -2,128 +2,137 @@ **Release Date:** March 12, 2026 -> πŸŽ‰ **First official tagged release!** Hermes Agent has been in active development since July 2025, with 1,388 commits from 74+ contributors across 231 merged pull requests. This release marks the beginning of regular weekly releases. Everything below represents the full feature set shipping today. +> First tagged release since v0.1.0 (the initial pre-public foundation). In just over two weeks, Hermes Agent went from a small internal project to a full-featured AI agent platform β€” thanks to an explosion of community contributions. This release covers **216 merged pull requests** from **63 contributors**, resolving **119 issues**. --- ## ✨ Highlights -- **Multi-Platform Messaging Gateway** β€” Run Hermes Agent on Telegram, Discord, Slack, WhatsApp, Signal, Email (IMAP/SMTP), and Home Assistant, all from a single codebase with unified session management, conversation persistence, and per-platform tool configuration. +- **Multi-Platform Messaging Gateway** β€” Telegram, Discord, Slack, WhatsApp, Signal, Email (IMAP/SMTP), and Home Assistant platforms with unified session management, media attachments, and per-platform tool configuration. -- **MCP (Model Context Protocol) Client** β€” Full native MCP support with stdio and HTTP transports, server reconnection, resource/prompt discovery, sampling (server-initiated LLM requests), and `hermes tools` UI integration. ([#291](https://github.com/NousResearch/hermes-agent/pull/291), [#301](https://github.com/NousResearch/hermes-agent/pull/301), [#753](https://github.com/NousResearch/hermes-agent/pull/753)) β€” @0xbyt4 +- **MCP (Model Context Protocol) Client** β€” Native MCP support with stdio and HTTP transports, reconnection, resource/prompt discovery, and sampling (server-initiated LLM requests). ([#291](https://github.com/NousResearch/hermes-agent/pull/291) β€” @0xbyt4, [#301](https://github.com/NousResearch/hermes-agent/pull/301), [#753](https://github.com/NousResearch/hermes-agent/pull/753)) -- **Skills Ecosystem** β€” 70+ bundled and optional skills across 15+ categories (research, creative, gaming, smart-home, productivity, MLOps, and more). Skills are data-driven Markdown files with YAML frontmatter β€” the agent loads them dynamically based on task context. Includes a Skills Hub for community discovery and per-platform skill enable/disable. ([#743](https://github.com/NousResearch/hermes-agent/pull/743)) β€” @teyrebaz33 +- **Skills Ecosystem** β€” 70+ bundled and optional skills across 15+ categories with a Skills Hub for community discovery, per-platform enable/disable, conditional activation based on tool availability, and prerequisite validation. ([#743](https://github.com/NousResearch/hermes-agent/pull/743) β€” @teyrebaz33, [#785](https://github.com/NousResearch/hermes-agent/pull/785) β€” @teyrebaz33) -- **Centralized Provider Router** β€” Unified `resolve_provider_client()` + `call_llm()`/`async_call_llm()` API replaces scattered provider logic. All auxiliary consumers (vision, summarization, context compression, trajectory saving) route through a single code path with automatic credential resolution. ([#1003](https://github.com/NousResearch/hermes-agent/pull/1003)) +- **Centralized Provider Router** β€” Unified `call_llm()`/`async_call_llm()` API replaces scattered provider logic across vision, summarization, compression, and trajectory saving. All auxiliary consumers route through a single code path with automatic credential resolution. ([#1003](https://github.com/NousResearch/hermes-agent/pull/1003)) -- **ACP (Agent Communication Protocol) Server** β€” VS Code, Zed, and JetBrains editor integration via the agent-protocol standard. ([#949](https://github.com/NousResearch/hermes-agent/pull/949)) +- **ACP Server** β€” VS Code, Zed, and JetBrains editor integration via the Agent Communication Protocol standard. ([#949](https://github.com/NousResearch/hermes-agent/pull/949)) -- **Reinforcement Learning Environments** β€” Atropos-compatible RL training environments: TerminalBench2 (tool-calling), WebResearchEnv (multi-step web research), YC-Bench (long-horizon agent benchmark), and OpenThoughts-TBLite evaluation. ([#17](https://github.com/NousResearch/hermes-agent/pull/17), [#434](https://github.com/NousResearch/hermes-agent/pull/434)) β€” @dmahan93, @jackx707 +- **CLI Skin/Theme Engine** β€” Data-driven visual customization: banners, spinners, colors, branding. 7 built-in skins + custom YAML skins. -- **Git Worktree Isolation** β€” `hermes -w` launches isolated agent sessions in git worktrees, enabling safe parallel work on the same repo without conflicts. ([#654](https://github.com/NousResearch/hermes-agent/pull/654)) +- **Git Worktree Isolation** β€” `hermes -w` launches isolated agent sessions in git worktrees for safe parallel work on the same repo. ([#654](https://github.com/NousResearch/hermes-agent/pull/654)) + +- **Filesystem Checkpoints & Rollback** β€” Automatic snapshots before destructive operations with `/rollback` to restore. ([#824](https://github.com/NousResearch/hermes-agent/pull/824)) + +- **3,289 Tests** β€” From near-zero test coverage to a comprehensive test suite covering agent, gateway, tools, cron, and CLI. --- ## πŸ—οΈ Core Agent & Architecture -### Agent Loop & Conversation -- Shared iteration budget across parent + subagent delegation to prevent runaway chains -- Iteration budget pressure via tool result injection β€” agent gets warned as it approaches limits -- Configurable subagent provider/model with full credential resolution ([#609](https://github.com/NousResearch/hermes-agent/issues/609)) -- Fallback model for provider resilience β€” automatic retry on a different model when primary fails ([#740](https://github.com/NousResearch/hermes-agent/pull/740), [#454](https://github.com/NousResearch/hermes-agent/issues/454)) -- Context compression improvements: retry with rebuilt payload after compression ([#616](https://github.com/NousResearch/hermes-agent/pull/616)) β€” @tripledoublev; regression tests for tool-call boundary handling ([#648](https://github.com/NousResearch/hermes-agent/pull/648)) β€” @intertwine -- Auto-compress pathologically large gateway sessions ([#628](https://github.com/NousResearch/hermes-agent/issues/628)) -- Handle 413 payload-too-large via compression instead of aborting ([#153](https://github.com/NousResearch/hermes-agent/pull/153)) β€” @tekelala -- Tool call repair middleware β€” auto-lowercase and invalid tool handler ([#520](https://github.com/NousResearch/hermes-agent/issues/520)) -- Reasoning effort configuration and `/reasoning` command for effort levels + display toggle ([#921](https://github.com/NousResearch/hermes-agent/pull/921)) -- Default reasoning effort tuned from xhigh to medium - ### Provider & Model Support -- **First-class providers:** OpenRouter, OpenAI, Anthropic, Nous Portal, Codex (OpenAI Responses API), Google Gemini, z.ai/GLM, Kimi/Moonshot, MiniMax, DeepSeek, Azure OpenAI, custom endpoints -- Nous Portal as first-class provider option in setup ([#644](https://github.com/NousResearch/hermes-agent/issues/644)) β€” @Indelwin -- OpenAI Codex (Responses API) with OAuth support, ChatGPT subscription Codex ([#43](https://github.com/NousResearch/hermes-agent/pull/43)) β€” @grp06 +- Centralized provider router with `resolve_provider_client()` + `call_llm()` API ([#1003](https://github.com/NousResearch/hermes-agent/pull/1003)) +- Nous Portal as first-class provider in setup ([#644](https://github.com/NousResearch/hermes-agent/issues/644)) +- OpenAI Codex (Responses API) with ChatGPT subscription support ([#43](https://github.com/NousResearch/hermes-agent/pull/43)) β€” @grp06 - Codex OAuth vision support + multimodal content adapter - Validate `/model` against live API instead of hardcoded lists -- Support for self-hosted Firecrawl instances ([#460](https://github.com/NousResearch/hermes-agent/pull/460)) β€” @caentzminger +- Self-hosted Firecrawl support ([#460](https://github.com/NousResearch/hermes-agent/pull/460)) β€” @caentzminger +- Kimi Code API support ([#635](https://github.com/NousResearch/hermes-agent/pull/635)) β€” @christomitov +- MiniMax model ID update ([#473](https://github.com/NousResearch/hermes-agent/pull/473)) β€” @tars90percent - OpenRouter provider routing configuration (provider_preferences) - Nous credential refresh on 401 errors ([#571](https://github.com/NousResearch/hermes-agent/pull/571), [#269](https://github.com/NousResearch/hermes-agent/pull/269)) β€” @rewbs -- Dynamic max tokens handling for various providers -- Kimi Code API support ([#635](https://github.com/NousResearch/hermes-agent/pull/635)) β€” @christomitov +- z.ai/GLM, Kimi/Moonshot, MiniMax, Azure OpenAI as first-class providers +- Unified `/model` and `/provider` into single view + +### Agent Loop & Conversation +- Simple fallback model for provider resilience ([#740](https://github.com/NousResearch/hermes-agent/pull/740)) +- Shared iteration budget across parent + subagent delegation +- Iteration budget pressure via tool result injection +- Configurable subagent provider/model with full credential resolution +- Handle 413 payload-too-large via compression instead of aborting ([#153](https://github.com/NousResearch/hermes-agent/pull/153)) β€” @tekelala +- Retry with rebuilt payload after compression ([#616](https://github.com/NousResearch/hermes-agent/pull/616)) β€” @tripledoublev +- Auto-compress pathologically large gateway sessions ([#628](https://github.com/NousResearch/hermes-agent/issues/628)) +- Tool call repair middleware β€” auto-lowercase and invalid tool handler +- Reasoning effort configuration and `/reasoning` command ([#921](https://github.com/NousResearch/hermes-agent/pull/921)) +- Detect and block file re-read/search loops after context compression ([#705](https://github.com/NousResearch/hermes-agent/pull/705)) β€” @0xbyt4 ### Session & Memory - Session naming with unique titles, auto-lineage, rich listing, and resume by name ([#720](https://github.com/NousResearch/hermes-agent/pull/720)) - Interactive session browser with search filtering ([#733](https://github.com/NousResearch/hermes-agent/pull/733)) -- Display previous messages when resuming a session in CLI ([#734](https://github.com/NousResearch/hermes-agent/pull/734)) +- Display previous messages when resuming a session ([#734](https://github.com/NousResearch/hermes-agent/pull/734)) +- Honcho AI-native cross-session user modeling ([#38](https://github.com/NousResearch/hermes-agent/pull/38)) β€” @erosika - Proactive async memory flush on session expiry -- Session reset policy for messaging platforms -- Honcho AI-native cross-session user modeling integration ([#38](https://github.com/NousResearch/hermes-agent/pull/38)) β€” @Erosika -- `/resume` command for switching to named sessions in gateway - Smart context length probing with persistent caching + banner display +- `/resume` command for switching to named sessions in gateway +- Session reset policy for messaging platforms --- ## πŸ“± Messaging Platforms (Gateway) ### Telegram -- Native file attachments: send_document + send_video ([#779](https://github.com/NousResearch/hermes-agent/pull/779)) -- Document file processing for PDF, text, and Office files ([#153](https://github.com/NousResearch/hermes-agent/pull/153)) β€” @tekelala +- Native file attachments: send_document + send_video +- Document file processing for PDF, text, and Office files β€” @tekelala - Forum topic session isolation ([#766](https://github.com/NousResearch/hermes-agent/pull/766)) β€” @spanishflu-est1918 -- Browser screenshot sharing via MEDIA: protocol +- Browser screenshot sharing via MEDIA: protocol ([#657](https://github.com/NousResearch/hermes-agent/pull/657)) - Location support for find-nearby skill -- TTS voice message fix β€” prevent accumulation across turns ([#176](https://github.com/NousResearch/hermes-agent/pull/176)) β€” @Bartok9 +- TTS voice message accumulation fix ([#176](https://github.com/NousResearch/hermes-agent/pull/176)) β€” @Bartok9 - Improved error handling and logging ([#763](https://github.com/NousResearch/hermes-agent/pull/763)) β€” @aydnOktay +- Italic regex newline fix + 43 format tests ([#204](https://github.com/NousResearch/hermes-agent/pull/204)) β€” @0xbyt4 ### Discord -- Thread-aware free-response routing ([#insecurejezza](https://github.com/NousResearch/hermes-agent/pull/insecurejezza)) - Channel topic included in session context ([#248](https://github.com/NousResearch/hermes-agent/pull/248)) β€” @Bartok9 - DISCORD_ALLOW_BOTS config for bot message filtering ([#758](https://github.com/NousResearch/hermes-agent/pull/758)) -- Improved error handling and logging ([#761](https://github.com/NousResearch/hermes-agent/pull/761)) β€” @aydnOktay - Document and video support ([#784](https://github.com/NousResearch/hermes-agent/pull/784)) +- Improved error handling and logging ([#761](https://github.com/NousResearch/hermes-agent/pull/761)) β€” @aydnOktay ### Slack -- App_mention fix + document/video support ([#784](https://github.com/NousResearch/hermes-agent/pull/784)) +- App_mention 404 fix + document/video support ([#784](https://github.com/NousResearch/hermes-agent/pull/784)) - Structured logging replacing print statements β€” @aydnOktay ### WhatsApp - Native media sending β€” images, videos, documents ([#292](https://github.com/NousResearch/hermes-agent/pull/292)) β€” @satelerd -- Consolidate tool progress into single editable message β€” @satelerd -- Multi-user session isolation and bridge message handling ([#75](https://github.com/NousResearch/hermes-agent/pull/75)) β€” @satelerd +- Multi-user session isolation ([#75](https://github.com/NousResearch/hermes-agent/pull/75)) β€” @satelerd - Cross-platform port cleanup replacing Linux-only fuser ([#433](https://github.com/NousResearch/hermes-agent/pull/433)) β€” @Farukest +- DM interrupt key mismatch fix ([#350](https://github.com/NousResearch/hermes-agent/pull/350)) β€” @Farukest ### Signal - Full Signal messenger gateway via signal-cli-rest-api ([#405](https://github.com/NousResearch/hermes-agent/issues/405)) - Media URL support in message events ([#871](https://github.com/NousResearch/hermes-agent/pull/871)) ### Email (IMAP/SMTP) -- New email gateway platform ([#291 area](https://github.com/NousResearch/hermes-agent/pull/291)) β€” @0xbyt4 +- New email gateway platform β€” @0xbyt4 ### Home Assistant - REST tools + WebSocket gateway integration ([#184](https://github.com/NousResearch/hermes-agent/pull/184)) β€” @0xbyt4 - Service discovery and enhanced setup +- Toolset mapping fix ([#538](https://github.com/NousResearch/hermes-agent/pull/538)) β€” @Himess ### Gateway Core -- Configurable background process watcher notifications: all, result, error, off ([#840](https://github.com/NousResearch/hermes-agent/pull/840), [#592](https://github.com/NousResearch/hermes-agent/issues/592)) - Expose subagent tool calls and thinking to users ([#186](https://github.com/NousResearch/hermes-agent/pull/186)) β€” @cutepawss -- `/compress`, `/usage`, `/update` slash commands for conversation management +- Configurable background process watcher notifications ([#840](https://github.com/NousResearch/hermes-agent/pull/840)) - `edit_message()` for Telegram/Discord/Slack with fallback -- Session transcript deduplication fix β€” eliminated 3x SQLite message inflation ([#873](https://github.com/NousResearch/hermes-agent/pull/873)) +- `/compress`, `/usage`, `/update` slash commands +- Eliminated 3x SQLite message duplication in gateway sessions ([#873](https://github.com/NousResearch/hermes-agent/pull/873)) +- Stabilize system prompt across gateway turns for cache hits ([#754](https://github.com/NousResearch/hermes-agent/pull/754)) - MCP server shutdown on gateway exit ([#796](https://github.com/NousResearch/hermes-agent/pull/796)) β€” @0xbyt4 -- Stable system prompt across gateway turns for cache hits ([#754](https://github.com/NousResearch/hermes-agent/pull/754)) +- Pass session_db to AIAgent, fixing session_search error ([#108](https://github.com/NousResearch/hermes-agent/pull/108)) β€” @Bartok9 +- Persist transcript changes in /retry, /undo; fix /reset attribute ([#217](https://github.com/NousResearch/hermes-agent/pull/217)) β€” @Farukest +- UTF-8 encoding fix preventing Windows crashes ([#369](https://github.com/NousResearch/hermes-agent/pull/369)) β€” @ch3ronsa --- ## πŸ–₯️ CLI & User Experience ### Interactive CLI -- Data-driven skin/theme engine for CLI customization β€” banners, spinners, colors, branding -- Built-in skins: default (gold/kawaii), ares (crimson war-god), mono (grayscale), slate (cool blue), poseidon, sisyphus, charizard, and custom YAML skins -- `/personality` command with custom personality support + ability to disable default personality ([#773](https://github.com/NousResearch/hermes-agent/pull/773)) β€” @teyrebaz33 +- Data-driven skin/theme engine β€” 7 built-in skins (default, ares, mono, slate, poseidon, sisyphus, charizard) + custom YAML skins +- `/personality` command with custom personality + disable support ([#773](https://github.com/NousResearch/hermes-agent/pull/773)) β€” @teyrebaz33 - User-defined quick commands that bypass the agent loop ([#746](https://github.com/NousResearch/hermes-agent/pull/746)) β€” @teyrebaz33 - `/reasoning` command for effort level and display toggle ([#921](https://github.com/NousResearch/hermes-agent/pull/921)) -- `/verbose` slash command to toggle debug output at runtime ([#94](https://github.com/NousResearch/hermes-agent/pull/94)) β€” @cesareth -- `/insights` command with usage analytics, cost estimation & activity patterns ([#552](https://github.com/NousResearch/hermes-agent/pull/552)) +- `/verbose` slash command to toggle debug at runtime ([#94](https://github.com/NousResearch/hermes-agent/pull/94)) β€” @cesareth +- `/insights` command β€” usage analytics, cost estimation & activity patterns ([#552](https://github.com/NousResearch/hermes-agent/pull/552)) - `/background` command for managing background processes -- `/help` formatting with command categories ([#640](https://github.com/NousResearch/hermes-agent/issues/640)) +- `/help` formatting with command categories - Bell-on-complete β€” terminal bell when agent finishes ([#738](https://github.com/NousResearch/hermes-agent/pull/738)) - Up/down arrow history navigation - Clipboard image paste (Alt+V / Ctrl+V) @@ -132,247 +141,243 @@ - `--quiet/-Q` flag for programmatic single-query mode - `--fuck-it-ship-it` flag to bypass all approval prompts ([#724](https://github.com/NousResearch/hermes-agent/pull/724)) β€” @dmahan93 - Tools summary flag ([#767](https://github.com/NousResearch/hermes-agent/pull/767)) β€” @luisv-1 +- Terminal blinking fix on SSH ([#284](https://github.com/NousResearch/hermes-agent/pull/284)) β€” @ygd58 +- Multi-line paste detection fix ([#84](https://github.com/NousResearch/hermes-agent/pull/84)) β€” @0xbyt4 ### Setup & Configuration - Modular setup wizard with section subcommands and tool-first UX -- Interactive setup for messaging platforms in gateway CLI - Container resource configuration prompts - Backend validation for required binaries -- Config migration system with version tracking (currently v7) +- Config migration system (currently v7) - API keys properly routed to .env instead of config.yaml ([#469](https://github.com/NousResearch/hermes-agent/pull/469)) β€” @ygd58 -- Atomic writes for .env to prevent API key loss on crash ([#954](https://github.com/NousResearch/hermes-agent/pull/954)) β€” @alireza78a +- Atomic write for .env to prevent API key loss on crash ([#954](https://github.com/NousResearch/hermes-agent/pull/954)) - `hermes tools` β€” per-platform tool enable/disable with curses UI -- `hermes skills` β€” per-platform skill enable/disable ([#743](https://github.com/NousResearch/hermes-agent/pull/743)) β€” @teyrebaz33 -- Multiple named custom providers -- `hermes doctor` for health checks across all configured providers and tools +- `hermes doctor` for health checks across all configured providers - `hermes update` with auto-restart for gateway service - Show update-available notice in CLI banner - -### Filesystem & Safety -- Filesystem checkpoints and `/rollback` command ([#824](https://github.com/NousResearch/hermes-agent/pull/824), [#452](https://github.com/NousResearch/hermes-agent/issues/452)) -- Structured tool result hints for patch and search_files ([#722](https://github.com/NousResearch/hermes-agent/issues/722)) -- High-value tool result CTAs β€” next-action guidance +- Multiple named custom providers +- Shell config detection improvement for PATH setup ([#317](https://github.com/NousResearch/hermes-agent/pull/317)) β€” @mehmetkr-31 +- Consistent HERMES_HOME and .env path resolution ([#51](https://github.com/NousResearch/hermes-agent/pull/51), [#48](https://github.com/NousResearch/hermes-agent/pull/48)) β€” @deankerr +- Docker backend fix on macOS + subagent auth for Nous Portal ([#46](https://github.com/NousResearch/hermes-agent/pull/46)) β€” @rsavitt --- ## πŸ”§ Tool System +### MCP (Model Context Protocol) +- Native MCP client with stdio + HTTP transports ([#291](https://github.com/NousResearch/hermes-agent/pull/291) β€” @0xbyt4, [#301](https://github.com/NousResearch/hermes-agent/pull/301)) +- Sampling support β€” server-initiated LLM requests ([#753](https://github.com/NousResearch/hermes-agent/pull/753)) +- Resource and prompt discovery +- Automatic reconnection and security hardening +- Banner integration, `/reload-mcp` command +- `hermes tools` UI integration + ### Browser -- Local browser backend β€” zero-cost headless Chromium via agent-browser (no Browserbase needed) -- Console/errors tool, annotated screenshots, auto-recording ([#745](https://github.com/NousResearch/hermes-agent/pull/745)) -- Browser screenshot sharing via MEDIA: on all messaging platforms ([#657](https://github.com/NousResearch/hermes-agent/pull/657)) +- Local browser backend β€” zero-cost headless Chromium (no Browserbase needed) +- Console/errors tool, annotated screenshots, auto-recording, dogfood QA skill ([#745](https://github.com/NousResearch/hermes-agent/pull/745)) +- Screenshot sharing via MEDIA: on all messaging platforms ([#657](https://github.com/NousResearch/hermes-agent/pull/657)) ### Terminal & Execution - `execute_code` sandbox with json_parse, shell_quote, retry helpers -- Docker backend improvements: custom volume mounts ([#158](https://github.com/NousResearch/hermes-agent/pull/158)) β€” @Indelwin -- Daytona cloud sandbox backend ([#451](https://github.com/NousResearch/hermes-agent/pull/451)) β€” @rovle, with CLI setup, doctor, and status display -- SSH backend fixes ([#59](https://github.com/NousResearch/hermes-agent/pull/59)) β€” @deankerr +- Docker: custom volume mounts ([#158](https://github.com/NousResearch/hermes-agent/pull/158)) β€” @Indelwin +- Daytona cloud sandbox backend ([#451](https://github.com/NousResearch/hermes-agent/pull/451)) β€” @rovle +- SSH backend fix ([#59](https://github.com/NousResearch/hermes-agent/pull/59)) β€” @deankerr - Shell noise filtering and login shell execution for environment consistency - Head+tail truncation for execute_code stdout overflow -- Background process management with configurable notification modes - -### Delegation -- Subagent tool call and thinking exposure to users -- Additional parameters for child agent configuration -- Shared iteration budget across parent + subagents +- Configurable background process notification modes ### File Operations -- Fuzzy-matching patch with 9 strategies -- File search via ripgrep backend -- Atomic writes across all file operations +- Filesystem checkpoints and `/rollback` command ([#824](https://github.com/NousResearch/hermes-agent/pull/824)) +- Structured tool result hints (next-action guidance) for patch and search_files ([#722](https://github.com/NousResearch/hermes-agent/issues/722)) +- Docker volumes passed to sandbox container config ([#687](https://github.com/NousResearch/hermes-agent/pull/687)) β€” @manuelschipper --- ## 🧩 Skills Ecosystem -### System -- Skill slash commands β€” dynamic CLI and gateway integration -- Optional skills β€” official skills shipped but not activated by default +### Skills System +- Per-platform skill enable/disable ([#743](https://github.com/NousResearch/hermes-agent/pull/743)) β€” @teyrebaz33 - Conditional skill activation based on tool availability ([#785](https://github.com/NousResearch/hermes-agent/pull/785)) β€” @teyrebaz33 -- Platform-conditional skill loading - Skill prerequisites β€” hide skills with unmet dependencies ([#659](https://github.com/NousResearch/hermes-agent/pull/659)) β€” @kshitijk4poor -- `hermes skills browse` β€” paginated browsing of all hub skills +- Optional skills β€” shipped but not activated by default +- `hermes skills browse` β€” paginated hub browsing - Skills sub-category organization +- Platform-conditional skill loading - Atomic skill file writes ([#551](https://github.com/NousResearch/hermes-agent/pull/551)) β€” @aydnOktay - Skills sync data loss prevention ([#563](https://github.com/NousResearch/hermes-agent/pull/563)) β€” @0xbyt4 +- Dynamic skill slash commands for CLI and gateway -### Bundled Skills (selected highlights) -- **MLOps:** Axolotl, vLLM, TRL, Unsloth, PyTorch FSDP/Lightning, GGUF, PEFT, Flash Attention, Weights & Biases, Modal, Lambda Labs, and 25+ more -- **Research:** arXiv search, agentic research ideas, ML paper writing -- **Creative:** ASCII art (pyfiglet + cowsay + 571 fonts), ASCII video production, Excalidraw diagrams -- **Software Development:** Systematic debugging, TDD, subagent-driven development, writing plans, code review -- **Productivity:** Google Workspace, Notion, PowerPoint, Obsidian, nano-PDF -- **Gaming:** Minecraft modpack server, PokΓ©mon player -- **Smart Home:** OpenHue (Philips Hue control) -- **Domain:** Passive reconnaissance (subdomains, SSL, WHOIS, DNS) -- **Media:** YouTube transcripts, GIF search, text-to-speech -- **Market Data:** Polymarket prediction markets -- **OCR:** PDF and scanned document extraction -- **Blockchain:** Solana skill with USD pricing ([#212](https://github.com/NousResearch/hermes-agent/pull/212)) β€” @gizdusum -- **Email:** AgentMail for agent-owned inboxes ([#330](https://github.com/NousResearch/hermes-agent/pull/330)) β€” @teyrebaz33 -- **Feeds:** BlogWatcher for RSS/Atom monitoring -- **DuckDuckGo Search:** Firecrawl fallback ([#267](https://github.com/NousResearch/hermes-agent/pull/267)) β€” @gamedevCloudy; expanded with DDGS Python API ([#598](https://github.com/NousResearch/hermes-agent/pull/598)) β€” @areu01or00 -- **OpenClaw Migration:** Official migration skill ([#570](https://github.com/NousResearch/hermes-agent/pull/570)) β€” @unmodeled-tyler -- **ASCII Video:** Full production pipeline ([#854](https://github.com/NousResearch/hermes-agent/pull/854)) β€” @SHL0MS +### New Skills (selected) +- **ASCII Art** β€” pyfiglet (571 fonts), cowsay, image-to-ascii ([#209](https://github.com/NousResearch/hermes-agent/pull/209)) β€” @0xbyt4 +- **ASCII Video** β€” Full production pipeline ([#854](https://github.com/NousResearch/hermes-agent/pull/854)) β€” @SHL0MS +- **DuckDuckGo Search** β€” Firecrawl fallback ([#267](https://github.com/NousResearch/hermes-agent/pull/267)) β€” @gamedevCloudy; DDGS API expansion ([#598](https://github.com/NousResearch/hermes-agent/pull/598)) β€” @areu01or00 +- **Solana Blockchain** β€” Wallet balances, USD pricing, token names ([#212](https://github.com/NousResearch/hermes-agent/pull/212)) β€” @gizdusum +- **AgentMail** β€” Agent-owned email inboxes ([#330](https://github.com/NousResearch/hermes-agent/pull/330)) β€” @teyrebaz33 +- **Polymarket** β€” Prediction market data (read-only) ([#629](https://github.com/NousResearch/hermes-agent/pull/629)) +- **OpenClaw Migration** β€” Official migration tool ([#570](https://github.com/NousResearch/hermes-agent/pull/570)) β€” @unmodeled-tyler +- **Domain Intelligence** β€” Passive recon: subdomains, SSL, WHOIS, DNS ([#136](https://github.com/NousResearch/hermes-agent/pull/136)) β€” @FurkanL0 +- **Superpowers** β€” Software development skills ([#137](https://github.com/NousResearch/hermes-agent/pull/137)) β€” @kaos35 +- **Hermes-Atropos** β€” RL environment development skill ([#815](https://github.com/NousResearch/hermes-agent/pull/815)) +- Plus: arXiv search, OCR/documents, Excalidraw diagrams, YouTube transcripts, GIF search, PokΓ©mon player, Minecraft modpack server, OpenHue (Philips Hue), Google Workspace, Notion, PowerPoint, Obsidian, find-nearby, and 40+ MLOps skills --- ## πŸ”’ Security & Reliability ### Security Hardening -- Path traversal fix in skill_view β€” prevented reading arbitrary files including API keys ([#220](https://github.com/NousResearch/hermes-agent/issues/220)) β€” @Farukest +- Path traversal fix in skill_view β€” prevented reading arbitrary files ([#220](https://github.com/NousResearch/hermes-agent/issues/220)) β€” @Farukest - Shell injection prevention in sudo password piping ([#65](https://github.com/NousResearch/hermes-agent/pull/65)) β€” @leonsgithub -- Dangerous command detection: multiline bypass fix ([#233](https://github.com/NousResearch/hermes-agent/pull/233)), tee/process substitution patterns ([#280](https://github.com/NousResearch/hermes-agent/pull/280)) β€” @Farukest, @dogiladeveloper +- Dangerous command detection: multiline bypass fix ([#233](https://github.com/NousResearch/hermes-agent/pull/233)) β€” @Farukest; tee/process substitution patterns ([#280](https://github.com/NousResearch/hermes-agent/pull/280)) β€” @dogiladeveloper - Symlink boundary check fix in skills_guard ([#386](https://github.com/NousResearch/hermes-agent/pull/386)) β€” @Farukest -- Multi-word prompt injection bypass prevention in skills_guard ([#192](https://github.com/NousResearch/hermes-agent/pull/192)) β€” @0xbyt4 - Symlink bypass fix in write deny list on macOS ([#61](https://github.com/NousResearch/hermes-agent/pull/61)) β€” @0xbyt4 +- Multi-word prompt injection bypass prevention ([#192](https://github.com/NousResearch/hermes-agent/pull/192)) β€” @0xbyt4 +- Cron prompt injection scanner bypass fix ([#63](https://github.com/NousResearch/hermes-agent/pull/63)) β€” @0xbyt4 - Enforce 0600/0700 file permissions on sensitive files ([#757](https://github.com/NousResearch/hermes-agent/pull/757)) - .env file permissions restricted to owner-only ([#529](https://github.com/NousResearch/hermes-agent/pull/529)) β€” @Himess -- Expand secret redaction patterns + config toggle to disable -- FTS5 query sanitization ([#565](https://github.com/NousResearch/hermes-agent/pull/565)) β€” @0xbyt4 - `--force` flag properly blocked from overriding dangerous verdicts ([#388](https://github.com/NousResearch/hermes-agent/pull/388)) β€” @Farukest +- FTS5 query sanitization + DB connection leak fix ([#565](https://github.com/NousResearch/hermes-agent/pull/565)) β€” @0xbyt4 +- Expand secret redaction patterns + config toggle to disable +- In-memory permanent allowlist to prevent data leak ([#600](https://github.com/NousResearch/hermes-agent/pull/600)) β€” @alireza78a -### Reliability & Stability -- Atomic writes for: sessions.json ([#611](https://github.com/NousResearch/hermes-agent/pull/611)) β€” @alireza78a; cron jobs ([#146](https://github.com/NousResearch/hermes-agent/pull/146)) β€” @alireza78a; .env config ([#954](https://github.com/NousResearch/hermes-agent/pull/954)); process checkpoints ([#298](https://github.com/NousResearch/hermes-agent/pull/298)) β€” @aydnOktay; batch runner ([#297](https://github.com/NousResearch/hermes-agent/pull/297)) β€” @aydnOktay; skill files ([#551](https://github.com/NousResearch/hermes-agent/pull/551)) β€” @aydnOktay +### Atomic Writes (data loss prevention) +- sessions.json ([#611](https://github.com/NousResearch/hermes-agent/pull/611)) β€” @alireza78a +- Cron jobs ([#146](https://github.com/NousResearch/hermes-agent/pull/146)) β€” @alireza78a +- .env config ([#954](https://github.com/NousResearch/hermes-agent/pull/954)) +- Process checkpoints ([#298](https://github.com/NousResearch/hermes-agent/pull/298)) β€” @aydnOktay +- Batch runner ([#297](https://github.com/NousResearch/hermes-agent/pull/297)) β€” @aydnOktay +- Skill files ([#551](https://github.com/NousResearch/hermes-agent/pull/551)) β€” @aydnOktay + +### Reliability - Guard all print() against OSError for systemd/headless environments ([#963](https://github.com/NousResearch/hermes-agent/pull/963)) -- Detect, warn, and block file re-read/search loops after context compression ([#705](https://github.com/NousResearch/hermes-agent/pull/705)) β€” @0xbyt4 - Reset all retry counters at start of run_conversation ([#607](https://github.com/NousResearch/hermes-agent/pull/607)) β€” @0xbyt4 - Return deny on approval callback timeout instead of None ([#603](https://github.com/NousResearch/hermes-agent/pull/603)) β€” @0xbyt4 - Fix None message content crashes across codebase ([#277](https://github.com/NousResearch/hermes-agent/pull/277)) - Fix context overrun crash with local LLM backends ([#403](https://github.com/NousResearch/hermes-agent/pull/403)) β€” @ch3ronsa -- Fix `_flush_sentinel` leaking to external API providers ([#227](https://github.com/NousResearch/hermes-agent/pull/227)) β€” @Farukest +- Prevent `_flush_sentinel` from leaking to external APIs ([#227](https://github.com/NousResearch/hermes-agent/pull/227)) β€” @Farukest - Prevent conversation_history mutation in callers ([#229](https://github.com/NousResearch/hermes-agent/pull/229)) β€” @Farukest - Fix systemd restart loop ([#614](https://github.com/NousResearch/hermes-agent/pull/614)) β€” @voidborne-d -- Close file handles and sockets properly to prevent fd leaks ([#568](https://github.com/NousResearch/hermes-agent/pull/568), [#296](https://github.com/NousResearch/hermes-agent/pull/296), [#709](https://github.com/NousResearch/hermes-agent/pull/709)) β€” @alireza78a, @memosr +- Close file handles and sockets to prevent fd leaks ([#568](https://github.com/NousResearch/hermes-agent/pull/568) β€” @alireza78a, [#296](https://github.com/NousResearch/hermes-agent/pull/296) β€” @alireza78a, [#709](https://github.com/NousResearch/hermes-agent/pull/709) β€” @memosr) +- Prevent data loss in clipboard PNG conversion ([#602](https://github.com/NousResearch/hermes-agent/pull/602)) β€” @0xbyt4 +- Eliminate shell noise from terminal output ([#293](https://github.com/NousResearch/hermes-agent/pull/293)) β€” @0xbyt4 +- Timezone-aware now() for prompt, cron, and execute_code ([#309](https://github.com/NousResearch/hermes-agent/pull/309)) β€” @areu01or00 ### Windows Compatibility -- Guard POSIX-only process functions for Windows ([#219](https://github.com/NousResearch/hermes-agent/pull/219)) β€” @Farukest -- Windows native support via Git Bash, ZIP-based update fallback -- Install to %LOCALAPPDATA%\hermes on Windows -- pywinpty for PTY support on Windows ([#457](https://github.com/NousResearch/hermes-agent/pull/457)) β€” @shitcoinsherpa +- Guard POSIX-only process functions ([#219](https://github.com/NousResearch/hermes-agent/pull/219)) β€” @Farukest +- Windows native support via Git Bash + ZIP-based update fallback +- pywinpty for PTY support ([#457](https://github.com/NousResearch/hermes-agent/pull/457)) β€” @shitcoinsherpa - Explicit UTF-8 encoding on all config/data file I/O ([#458](https://github.com/NousResearch/hermes-agent/pull/458)) β€” @shitcoinsherpa -- Windows-compatible path handling in skill listing ([#354](https://github.com/NousResearch/hermes-agent/pull/354), [#390](https://github.com/NousResearch/hermes-agent/pull/390)) β€” @Farukest -- Regex-based search output parsing for Windows drive-letter paths ([#533](https://github.com/NousResearch/hermes-agent/pull/533)) β€” @Himess +- Windows-compatible path handling ([#354](https://github.com/NousResearch/hermes-agent/pull/354), [#390](https://github.com/NousResearch/hermes-agent/pull/390)) β€” @Farukest +- Regex-based search output parsing for drive-letter paths ([#533](https://github.com/NousResearch/hermes-agent/pull/533)) β€” @Himess - Auth store file lock for Windows ([#455](https://github.com/NousResearch/hermes-agent/pull/455)) β€” @shitcoinsherpa --- -## πŸ§ͺ Testing - -- **3,289 tests** across agent, gateway, tools, cron, and CLI -- Parallelized test suite with pytest-xdist ([#802](https://github.com/NousResearch/hermes-agent/pull/802)) β€” @OutThisLife -- Comprehensive unit test batches covering core modules ([#34](https://github.com/NousResearch/hermes-agent/pull/34), [#60](https://github.com/NousResearch/hermes-agent/pull/60), [#62](https://github.com/NousResearch/hermes-agent/pull/62), [#67](https://github.com/NousResearch/hermes-agent/pull/67), [#191](https://github.com/NousResearch/hermes-agent/pull/191), [#193](https://github.com/NousResearch/hermes-agent/pull/193)) β€” @0xbyt4 -- Telegram format tests (43 tests for italic/bold/code rendering) ([#204](https://github.com/NousResearch/hermes-agent/pull/204)) β€” @0xbyt4 -- Clarify tool tests ([#121](https://github.com/NousResearch/hermes-agent/pull/121)) β€” @Bartok9 -- Vision tools type hints and 42 tests ([#792](https://github.com/NousResearch/hermes-agent/pull/792)) -- Context compressor boundary regression tests ([#648](https://github.com/NousResearch/hermes-agent/pull/648)) β€” @intertwine -- RL environment tests β€” vLLM integration, Atropos tool calling β€” @dmahan93 - ---- - -## πŸ”¬ RL & Evaluation Environments - -- **Atropos Integration** β€” Full agentic RL training pipeline with tool calling support ([#17](https://github.com/NousResearch/hermes-agent/pull/17)) -- **TerminalBench2** β€” Terminal-based tool calling evaluation -- **WebResearchEnv** β€” Multi-step web research RL environment ([#434](https://github.com/NousResearch/hermes-agent/pull/434)) β€” @jackx707 -- **YC-Bench** β€” Long-horizon agent benchmark environment -- **OpenThoughts-TBLite** β€” Evaluation environment and scripts -- **Modal sandbox** β€” Cloud evaluation with concurrency limits ([#621](https://github.com/NousResearch/hermes-agent/pull/621)) β€” @voteblake -- Local vLLM instance support for evaluation β€” @dmahan93 -- Hermes-atropos-environments bundled skill ([#815](https://github.com/NousResearch/hermes-agent/pull/815)) - ---- - -## πŸ“š Documentation - -- **Full documentation website** (Docusaurus) with 37+ pages covering setup, configuration, tools, skills, messaging platforms, and guides -- Comprehensive platform setup guides for Telegram, Discord, Slack, WhatsApp, Signal, and Email -- AGENTS.md β€” development guide for AI coding assistants -- CONTRIBUTING.md β€” contributor guidelines ([#117](https://github.com/NousResearch/hermes-agent/pull/117)) β€” @Bartok9 -- Slash commands reference ([#142](https://github.com/NousResearch/hermes-agent/pull/142)) β€” @Bartok9 -- Skin/theme system documentation -- MCP documentation and examples -- Auxiliary models documentation -- Comprehensive accuracy audit (35+ corrections) -- Documentation typo fixes ([#825](https://github.com/NousResearch/hermes-agent/pull/825), [#439](https://github.com/NousResearch/hermes-agent/pull/439)) β€” @JackTheGit -- Terminology and CLI formatting standardization ([#166](https://github.com/NousResearch/hermes-agent/pull/166), [#167](https://github.com/NousResearch/hermes-agent/pull/167), [#168](https://github.com/NousResearch/hermes-agent/pull/168)) β€” @Jr-kenny - ---- - ## πŸ› Notable Bug Fixes - Fix DeepSeek V3 tool call parser silently dropping multi-line JSON arguments ([#444](https://github.com/NousResearch/hermes-agent/pull/444)) β€” @PercyDikec - Fix gateway transcript losing 1 message per turn due to offset mismatch ([#395](https://github.com/NousResearch/hermes-agent/pull/395)) β€” @PercyDikec - Fix /retry command silently discarding the agent's final response ([#441](https://github.com/NousResearch/hermes-agent/pull/441)) β€” @PercyDikec - Fix max-iterations retry returning empty string after think-block stripping ([#438](https://github.com/NousResearch/hermes-agent/pull/438)) β€” @PercyDikec +- Fix max-iterations retry using hardcoded max_tokens ([#436](https://github.com/NousResearch/hermes-agent/pull/436)) β€” @Farukest - Fix Codex status dict key mismatch ([#448](https://github.com/NousResearch/hermes-agent/pull/448)) and visibility filter ([#446](https://github.com/NousResearch/hermes-agent/pull/446)) β€” @PercyDikec -- Fix `_strip_think_blocks` regex stripping visible content when model discusses \ tags literally ([#786](https://github.com/NousResearch/hermes-agent/issues/786)) - Strip \ blocks from final user-facing responses ([#174](https://github.com/NousResearch/hermes-agent/pull/174)) β€” @Bartok9 +- Fix \ block regex stripping visible content when model discusses tags literally ([#786](https://github.com/NousResearch/hermes-agent/issues/786)) - Fix Mistral 422 errors from leftover finish_reason in assistant messages ([#253](https://github.com/NousResearch/hermes-agent/pull/253)) β€” @Sertug17 - Fix OPENROUTER_API_KEY resolution order across all code paths ([#295](https://github.com/NousResearch/hermes-agent/pull/295)) β€” @0xbyt4 -- Fix gateway session_search crash from missing session_db ([#108](https://github.com/NousResearch/hermes-agent/pull/108)) β€” @Bartok9 -- Fix /retry, /undo having no effect and /reset silently losing memories in gateway ([#217](https://github.com/NousResearch/hermes-agent/pull/217)) β€” @Farukest -- Fix empty file content in ReadResult.to_dict() ([#225](https://github.com/NousResearch/hermes-agent/pull/225)) β€” @Farukest -- Fix retry exhaustion IndexError fallthrough ([#223](https://github.com/NousResearch/hermes-agent/pull/223)) β€” @Farukest -- Fix Anthropic native base URL detection failing fast ([#173](https://github.com/NousResearch/hermes-agent/pull/173)) β€” @adavyas +- Fix OPENAI_BASE_URL API key priority ([#420](https://github.com/NousResearch/hermes-agent/pull/420)) β€” @manuelschipper +- Fix Anthropic "prompt is too long" 400 error not detected as context length error ([#813](https://github.com/NousResearch/hermes-agent/issues/813)) +- Fix SQLite session transcript accumulating duplicate messages β€” 3-4x token inflation ([#860](https://github.com/NousResearch/hermes-agent/issues/860)) +- Fix setup wizard skipping API key prompts on first install ([#748](https://github.com/NousResearch/hermes-agent/pull/748)) +- Fix setup wizard showing OpenRouter model list for Nous Portal ([#575](https://github.com/NousResearch/hermes-agent/pull/575)) β€” @PercyDikec +- Fix provider selection not persisting when switching via hermes model ([#881](https://github.com/NousResearch/hermes-agent/pull/881)) +- Fix Docker backend failing when docker not in PATH on macOS ([#889](https://github.com/NousResearch/hermes-agent/pull/889)) - Fix ClawHub Skills Hub adapter for API endpoint changes ([#286](https://github.com/NousResearch/hermes-agent/pull/286)) β€” @BP602 -- Fix terminal blinking on SSH due to UI invalidate throttling ([#284](https://github.com/NousResearch/hermes-agent/pull/284)) β€” @ygd58 -- Fix multi-line input paste detection destroying input ([#84](https://github.com/NousResearch/hermes-agent/pull/84)) β€” @0xbyt4 -- Fix cron job timezone handling for naive timestamps ([#309](https://github.com/NousResearch/hermes-agent/pull/309)) β€” @areu01or00 -- Fix memory tool entry parsing when content contains section sign ([#162](https://github.com/NousResearch/hermes-agent/pull/162)) β€” @aydnOktay -- Fix Docker backend on macOS and subagent auth for Nous Portal ([#46](https://github.com/NousResearch/hermes-agent/pull/46)) β€” @rsavitt -- Fix piped install silently aborting when interactive prompts fail ([#72](https://github.com/NousResearch/hermes-agent/pull/72)) β€” @cutepawss -- Fix false positives in recursive delete detection ([#68](https://github.com/NousResearch/hermes-agent/pull/68)) β€” @cutepawss -- Eliminate shell noise from terminal output + fix 36 test failures ([#293](https://github.com/NousResearch/hermes-agent/pull/293)) β€” @0xbyt4 - Fix Honcho auto-enable when API key is present ([#243](https://github.com/NousResearch/hermes-agent/pull/243)) β€” @Bartok9 - Fix duplicate 'skills' subparser crash on Python 3.11+ ([#898](https://github.com/NousResearch/hermes-agent/issues/898)) -- Fix Telegram italic regex newline bug ([#204](https://github.com/NousResearch/hermes-agent/pull/204)) β€” @0xbyt4 +- Fix memory tool entry parsing when content contains section sign ([#162](https://github.com/NousResearch/hermes-agent/pull/162)) β€” @aydnOktay +- Fix piped install silently aborting when interactive prompts fail ([#72](https://github.com/NousResearch/hermes-agent/pull/72)) β€” @cutepawss +- Fix false positives in recursive delete detection ([#68](https://github.com/NousResearch/hermes-agent/pull/68)) β€” @cutepawss - Fix Ruff lint warnings across codebase ([#608](https://github.com/NousResearch/hermes-agent/pull/608)) β€” @JackTheGit +- Fix Anthropic native base URL fail-fast ([#173](https://github.com/NousResearch/hermes-agent/pull/173)) β€” @adavyas +- Fix install.sh creating ~/.hermes before moving Node.js directory ([#53](https://github.com/NousResearch/hermes-agent/pull/53)) β€” @JoshuaMart +- Fix SystemExit traceback during atexit cleanup on Ctrl+C ([#55](https://github.com/NousResearch/hermes-agent/pull/55)) β€” @bierlingm +- Restore missing MIT license file ([#620](https://github.com/NousResearch/hermes-agent/pull/620)) β€” @stablegenius49 + +--- + +## πŸ§ͺ Testing + +- **3,289 tests** across agent, gateway, tools, cron, and CLI +- Parallelized test suite with pytest-xdist ([#802](https://github.com/NousResearch/hermes-agent/pull/802)) β€” @OutThisLife +- Unit tests batch 1: 8 core modules ([#60](https://github.com/NousResearch/hermes-agent/pull/60)) β€” @0xbyt4 +- Unit tests batch 2: 8 more modules ([#62](https://github.com/NousResearch/hermes-agent/pull/62)) β€” @0xbyt4 +- Unit tests batch 3: 8 untested modules ([#191](https://github.com/NousResearch/hermes-agent/pull/191)) β€” @0xbyt4 +- Unit tests batch 4: 5 security/logic-critical modules ([#193](https://github.com/NousResearch/hermes-agent/pull/193)) β€” @0xbyt4 +- AIAgent (run_agent.py) unit tests ([#67](https://github.com/NousResearch/hermes-agent/pull/67)) β€” @0xbyt4 +- Trajectory compressor tests ([#203](https://github.com/NousResearch/hermes-agent/pull/203)) β€” @0xbyt4 +- Clarify tool tests ([#121](https://github.com/NousResearch/hermes-agent/pull/121)) β€” @Bartok9 +- Telegram format tests β€” 43 tests for italic/bold/code rendering ([#204](https://github.com/NousResearch/hermes-agent/pull/204)) β€” @0xbyt4 +- Vision tools type hints + 42 tests ([#792](https://github.com/NousResearch/hermes-agent/pull/792)) +- Compressor tool-call boundary regression tests ([#648](https://github.com/NousResearch/hermes-agent/pull/648)) β€” @intertwine +- Test structure reorganization ([#34](https://github.com/NousResearch/hermes-agent/pull/34)) β€” @0xbyt4 +- Shell noise elimination + fix 36 test failures ([#293](https://github.com/NousResearch/hermes-agent/pull/293)) β€” @0xbyt4 + +--- + +## πŸ”¬ RL & Evaluation Environments + +- WebResearchEnv β€” Multi-step web research RL environment ([#434](https://github.com/NousResearch/hermes-agent/pull/434)) β€” @jackx707 +- Modal sandbox concurrency limits to avoid deadlocks ([#621](https://github.com/NousResearch/hermes-agent/pull/621)) β€” @voteblake +- Hermes-atropos-environments bundled skill ([#815](https://github.com/NousResearch/hermes-agent/pull/815)) +- Local vLLM instance support for evaluation β€” @dmahan93 +- YC-Bench long-horizon agent benchmark environment +- OpenThoughts-TBLite evaluation environment and scripts + +--- + +## πŸ“š Documentation + +- Full documentation website (Docusaurus) with 37+ pages +- Comprehensive platform setup guides for Telegram, Discord, Slack, WhatsApp, Signal, Email +- AGENTS.md β€” development guide for AI coding assistants +- CONTRIBUTING.md ([#117](https://github.com/NousResearch/hermes-agent/pull/117)) β€” @Bartok9 +- Slash commands reference ([#142](https://github.com/NousResearch/hermes-agent/pull/142)) β€” @Bartok9 +- Comprehensive AGENTS.md accuracy audit ([#732](https://github.com/NousResearch/hermes-agent/pull/732)) +- Skin/theme system documentation +- MCP documentation and examples +- Docs accuracy audit β€” 35+ corrections +- Documentation typo fixes ([#825](https://github.com/NousResearch/hermes-agent/pull/825), [#439](https://github.com/NousResearch/hermes-agent/pull/439)) β€” @JackTheGit +- CLI config precedence and terminology standardization ([#166](https://github.com/NousResearch/hermes-agent/pull/166), [#167](https://github.com/NousResearch/hermes-agent/pull/167), [#168](https://github.com/NousResearch/hermes-agent/pull/168)) β€” @Jr-kenny +- Telegram token regex documentation ([#713](https://github.com/NousResearch/hermes-agent/pull/713)) β€” @VolodymyrBg --- ## πŸ‘₯ Contributors -Thank you to everyone who has contributed to Hermes Agent! This project is built by a growing community of developers, researchers, and AI enthusiasts. +Thank you to the 63 contributors who made this release possible! In just over two weeks, the Hermes Agent community came together to ship an extraordinary amount of work. -### Core Team -- **@teknium1** β€” Project creator, lead developer (~1,100 commits) -- **@dmahan93** β€” RL environments, Atropos integration, evaluation infrastructure +### Core +- **@teknium1** β€” 43 PRs: Project lead, core architecture, provider router, sessions, skills, CLI, documentation ### Top Community Contributors -- **@0xbyt4** β€” 35 PRs: MCP client, Home Assistant, security fixes, extensive test coverage, ascii-art skill, and dozens of bug fixes across the codebase -- **@Farukest** β€” 15 PRs: Security hardening (path traversal, shell injection, symlink bypass), Windows compatibility, WhatsApp fixes -- **@aydnOktay** β€” 8 PRs: Atomic writes, error handling improvements across Telegram, Discord, transcription, code execution, and skills -- **@teyrebaz33** β€” 4 PRs: Skills enable/disable system, quick commands, personality customization, conditional skill activation, embedding infrastructure -- **@Bartok9** β€” 8 PRs: CONTRIBUTING.md, slash commands reference, Discord channel topics, think-block stripping, TTS fix, session count fix, Honcho fix, clarify tool tests -- **@PercyDikec** β€” 7 PRs: DeepSeek V3 parser fix, /retry fix, gateway transcript fix, Codex fixes, max-iterations retry fixes -- **@rovle** β€” Daytona cloud sandbox backend (4 PRs) -- **@alireza78a** β€” Atomic writes for cron/sessions, fd leak prevention, security allowlist fix -- **@satelerd** β€” WhatsApp native media, multi-user session isolation, tool progress consolidation -- **@Erosika** β€” Honcho AI-native memory integration -- **@SHL0MS** β€” ASCII video skill -- **@shitcoinsherpa** β€” Windows support (pywinpty, UTF-8 encoding, auth store lock) +- **@0xbyt4** β€” 40 PRs: MCP client, Home Assistant, security fixes (symlink, prompt injection, cron), extensive test coverage (6 batches), ascii-art skill, shell noise elimination, skills sync, Telegram formatting, and dozens more +- **@Farukest** β€” 16 PRs: Security hardening (path traversal, dangerous command detection, symlink boundary), Windows compatibility (POSIX guards, path handling), WhatsApp fixes, max-iterations retry, gateway fixes +- **@aydnOktay** β€” 11 PRs: Atomic writes (process checkpoints, batch runner, skill files), error handling improvements across Telegram, Discord, code execution, transcription, TTS, and skills +- **@Bartok9** β€” 9 PRs: CONTRIBUTING.md, slash commands reference, Discord channel topics, think-block stripping, TTS fix, Honcho fix, session count fix, clarify tests +- **@PercyDikec** β€” 7 PRs: DeepSeek V3 parser fix, /retry response discard, gateway transcript offset, Codex status/visibility, max-iterations retry, setup wizard fix +- **@teyrebaz33** β€” 5 PRs: Skills enable/disable system, quick commands, personality customization, conditional skill activation +- **@alireza78a** β€” 5 PRs: Atomic writes (cron, sessions), fd leak prevention, security allowlist, code execution socket cleanup +- **@shitcoinsherpa** β€” 3 PRs: Windows support (pywinpty, UTF-8 encoding, auth store lock) +- **@Himess** β€” 3 PRs: Cron/HomeAssistant/Daytona fix, Windows drive-letter parsing, .env permissions +- **@satelerd** β€” 2 PRs: WhatsApp native media, multi-user session isolation +- **@rovle** β€” 1 PR: Daytona cloud sandbox backend (4 commits) +- **@erosika** β€” 1 PR: Honcho AI-native memory integration +- **@dmahan93** β€” 1 PR: --fuck-it-ship-it flag + RL environment work +- **@SHL0MS** β€” 1 PR: ASCII video skill ### All Contributors -@0xbyt4, @Aum08Desai, @BP602, @Bartok9, @Farukest, @FurkanL0, @Himess, @Indelwin, @JackTheGit, @JoshuaMart, @Jr-kenny, @OutThisLife, @PercyDikec, @SHL0MS, @Sertug17, @VencentSoliman, @VolodymyrBg, @adavyas, @alireza78a, @areu01or00, @aydnOktay, @batuhankocyigit, @bierlingm, @caentzminger, @cesareth, @ch3ronsa, @christomitov, @cutepawss, @deankerr, @dmahan93, @dogiladeveloper, @dragonkhoi, @erosika, @gamedevCloudy, @gizdusum, @grp06, @hjc-puro, @insecurejezza, @intertwine, @jackx707, @jdblackstar, @johnh4098, @kaos35, @kshitijk4poor, @leonsgithub, @luisv-1, @manuelschipper, @mehmetkr-31, @memosr, @mormio, @rsavitt, @rewbs, @rovle, @satelerd, @spanishflu-est1918, @stablegenius49, @tars90percent, @tekelala, @teknium1, @teyrebaz33, @tripledoublev, @unmodeled-tyler, @voidborne-d, @voteblake, @ygd58 +@0xbyt4, @BP602, @Bartok9, @Farukest, @FurkanL0, @Himess, @Indelwin, @JackTheGit, @JoshuaMart, @Jr-kenny, @OutThisLife, @PercyDikec, @SHL0MS, @Sertug17, @VencentSoliman, @VolodymyrBg, @adavyas, @alireza78a, @areu01or00, @aydnOktay, @batuhankocyigit, @bierlingm, @caentzminger, @cesareth, @ch3ronsa, @christomitov, @cutepawss, @deankerr, @dmahan93, @dogiladeveloper, @dragonkhoi, @erosika, @gamedevCloudy, @gizdusum, @grp06, @intertwine, @jackx707, @jdblackstar, @johnh4098, @kaos35, @kshitijk4poor, @leonsgithub, @luisv-1, @manuelschipper, @mehmetkr-31, @memosr, @PeterFile, @rewbs, @rovle, @rsavitt, @satelerd, @spanishflu-est1918, @stablegenius49, @tars90percent, @tekelala, @teknium1, @teyrebaz33, @tripledoublev, @unmodeled-tyler, @voidborne-d, @voteblake, @ygd58 --- -## πŸ“¦ Installation - -```bash -curl -fsSL https://hermes.nousresearch.com/install | bash -``` - -Or clone and install manually: - -```bash -git clone https://github.com/NousResearch/hermes-agent.git ~/.hermes/hermes-agent -cd ~/.hermes/hermes-agent -./install.sh -hermes setup -``` - ---- - -**Full Changelog**: [v2026.3.12](https://github.com/NousResearch/hermes-agent/commits/v2026.3.12) +**Full Changelog**: [v0.1.0...v2026.3.12](https://github.com/NousResearch/hermes-agent/compare/v0.1.0...v2026.3.12)