chore: release v0.13.0 (2026.5.7) (#21406)

The Tenacity Release — Hermes Agent now finishes what it starts.

- Durable multi-agent Kanban with heartbeat, reclaim, zombie detection,
  retry budgets, hallucination gate
- /goal persistent cross-turn goals (Ralph loop)
- Checkpoints v2 single-store rewrite with real pruning
- Gateway auto-resume interrupted sessions after restart
- no_agent cron watchdog mode
- Post-write delta lint on write_file + patch
- 8 P0 security closures — redaction ON by default, CVSS 8.1 Discord
  fix, WhatsApp stranger rejection, MCP/auth TOCTOU, SSRF floor,
  cron prompt-injection skill scanning
- Google Chat (20th platform) + generic platform-plugin hooks
- ProviderProfile ABC + plugins/model-providers/
- 7 i18n locales (zh/ja/de/es/fr/uk/tr) + display.language
- video_analyze tool, xAI Custom Voices, SearXNG, OpenRouter caching
- MCP SSE transport + OAuth + image MEDIA surfacing
- 864 commits, 588 merged PRs, 295 contributors
This commit is contained in:
Teknium 2026-05-07 09:22:48 -07:00 committed by GitHub
parent 2564132a1f
commit 498bfc7bc1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 657 additions and 19 deletions

View file

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "hermes-agent"
version = "0.12.0"
version = "0.13.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"
@ -90,20 +90,6 @@ google = [
"google-auth-oauthlib>=1.0,<2",
"google-auth-httplib2>=0.2,<1",
]
google_chat = [
# Google Chat gateway adapter (plugins/platforms/google_chat/): Pub/Sub for
# inbound events, Chat REST API for outbound. Shares the api-client and
# httplib2 transport with [google] but adds the Pub/Sub library.
# google-auth-oauthlib is required for the user-OAuth consent flow that
# backs native attachment delivery — Chat's media.upload endpoint rejects
# service-account auth, so the user grants chat.messages.create once via
# /setup-files in chat. See plugins/platforms/google_chat/oauth.py.
"google-cloud-pubsub>=2.20,<3",
"google-api-python-client>=2.100,<3",
"google-auth>=2.20,<3",
"google-auth-httplib2>=0.2,<1",
"google-auth-oauthlib>=1.0,<2",
]
# `hermes dashboard` (localhost SPA + API). Not in core to keep the default install lean.
web = ["fastapi>=0.104.0,<1", "uvicorn[standard]>=0.24.0,<1"]
rl = [
@ -138,7 +124,6 @@ all = [
"hermes-agent[dingtalk]",
"hermes-agent[feishu]",
"hermes-agent[google]",
"hermes-agent[google_chat]",
"hermes-agent[mistral]",
"hermes-agent[bedrock]",
"hermes-agent[web]",
@ -179,3 +164,6 @@ exclude = ["tinker-atropos"]
[tool.ruff]
exclude = ["tinker-atropos"]
select = [] # disable all lints for now, until we've wrangled typechecks a bit more :3
[tool.uv]
exclude-newer = "7 days"