diff --git a/RELEASE_v0.2.0.md b/RELEASE_v0.2.0.md new file mode 100644 index 000000000..51c2c068a --- /dev/null +++ b/RELEASE_v0.2.0.md @@ -0,0 +1,378 @@ +# Hermes Agent v0.2.0 (v2026.3.12) + +**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. + +--- + +## ✨ 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. + +- **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 + +- **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 + +- **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)) + +- **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)) + +- **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 + +- **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)) + +--- + +## πŸ—οΈ 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 +- 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 +- 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 + +### 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)) +- 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 + +--- + +## πŸ“± 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 +- Forum topic session isolation ([#766](https://github.com/NousResearch/hermes-agent/pull/766)) β€” @spanishflu-est1918 +- Browser screenshot sharing via MEDIA: protocol +- Location support for find-nearby skill +- TTS voice message fix β€” prevent accumulation across turns ([#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 + +### 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)) + +### Slack +- App_mention 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 +- Cross-platform port cleanup replacing Linux-only fuser ([#433](https://github.com/NousResearch/hermes-agent/pull/433)) β€” @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 + +### Home Assistant +- REST tools + WebSocket gateway integration ([#184](https://github.com/NousResearch/hermes-agent/pull/184)) β€” @0xbyt4 +- Service discovery and enhanced setup + +### 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 +- `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)) +- 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)) + +--- + +## πŸ–₯️ 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 +- 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)) +- `/background` command for managing background processes +- `/help` formatting with command categories ([#640](https://github.com/NousResearch/hermes-agent/issues/640)) +- 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) +- Loading indicators for slow slash commands ([#882](https://github.com/NousResearch/hermes-agent/pull/882)) +- Spinner flickering fix under patch_stdout ([#91](https://github.com/NousResearch/hermes-agent/pull/91)) β€” @0xbyt4 +- `--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 + +### 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) +- 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 +- `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 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 + +--- + +## πŸ”§ Tool System + +### 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)) + +### 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 +- 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 + +### File Operations +- Fuzzy-matching patch with 9 strategies +- File search via ripgrep backend +- Atomic writes across all file operations + +--- + +## 🧩 Skills Ecosystem + +### System +- Skill slash commands β€” dynamic CLI and gateway integration +- Optional skills β€” official skills shipped but not activated by default +- 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 +- Skills sub-category organization +- 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 + +### 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 + +--- + +## πŸ”’ 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 +- 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 +- 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 +- 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 + +### 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 +- 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 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 + +### 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 +- 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 +- 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 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 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 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 Ruff lint warnings across codebase ([#608](https://github.com/NousResearch/hermes-agent/pull/608)) β€” @JackTheGit + +--- + +## πŸ‘₯ 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. + +### Core Team +- **@teknium1** β€” Project creator, lead developer (~1,100 commits) +- **@dmahan93** β€” RL environments, Atropos integration, evaluation infrastructure + +### 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) + +### 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 + +--- + +## πŸ“¦ 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) diff --git a/hermes_cli/__init__.py b/hermes_cli/__init__.py index 58f002df2..3c7adeea6 100644 --- a/hermes_cli/__init__.py +++ b/hermes_cli/__init__.py @@ -11,5 +11,5 @@ Provides subcommands for: - hermes cron - Manage cron jobs """ -__version__ = "0.1.0" +__version__ = "0.2.0" __release_date__ = "2026.3.12" diff --git a/pyproject.toml b/pyproject.toml index eb1ae9e53..876c47f73 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "hermes-agent" -version = "0.1.0" +version = "0.2.0" description = "The self-improving AI agent β€” creates skills from experience, improves them during use, and runs anywhere" readme = "README.md" requires-python = ">=3.11"