Skip to content

feat: versioning infrastructure + release script + v0.2.0 changelog#1018

Merged
teknium1 merged 3 commits intomainfrom
hermes/hermes-37fb78aa
Mar 12, 2026
Merged

feat: versioning infrastructure + release script + v0.2.0 changelog#1018
teknium1 merged 3 commits intomainfrom
hermes/hermes-37fb78aa

Conversation

@teknium1
Copy link
Contributor

Summary

Adds a complete versioning system for hermes-agent, combining CalVer git tags (v2026.3.12) with SemVer display (v0.1.0) in the CLI.

What Changed

Version Infrastructure

  • Fixed version mismatch: __init__.py had v1.0.0, pyproject.toml had 0.1.0 — now both use 0.1.0 (no v prefix, added in display code)
  • Added __release_date__ for CalVer date tracking alongside SemVer
  • Fixed double-v bug in cmd_version() — was printing vv1.0.0
  • Updated banner/CLI to show Hermes Agent v0.1.0 (2026.3.12) format

Release Script (scripts/release.py)

Full release automation:

  • Generates categorized changelogs from git history (features, fixes, improvements, etc.)
  • Maps 70+ git authors to GitHub @mentions
  • Supports dry-run preview and --publish mode
  • Creates annotated CalVer git tags + GitHub Releases with rich changelogs
  • Bumps semver in source files automatically
# Preview next release changelog
python scripts/release.py --bump minor

# Actually publish  
python scripts/release.py --bump minor --publish

# First release (no prior tags)
python scripts/release.py --bump minor --publish --first-release

Files Changed

  • hermes_cli/__init__.py — version fix + add release_date
  • hermes_cli/banner.py — display format update
  • hermes_cli/main.py — fix double-v, add release date
  • cli.py — banner display format update
  • scripts/release.py — new release automation script
  • .gitignore — add temp release notes file

Test Plan

  • 3289 tests pass (2 pre-existing failures in unrelated managed server tests)
  • Dry-run tested: generates comprehensive changelog with 1113 commits and 74 contributors
  • No test files reference the version string directly

- Fix version mismatch: __init__.py had 'v1.0.0', pyproject.toml had '0.1.0'
  Now both use '0.1.0' (no v prefix — added in display code only)
- Add __release_date__ for CalVer date tracking alongside SemVer version
- Fix double-v bug in cmd_version (was printing 'vv1.0.0')
- Update banner title to show 'Hermes Agent v0.1.0 (2026.3.12)' format
- Update cli.py banner to match new format
- Add scripts/release.py: full release automation tool
  - Generates categorized changelogs from git history
  - Maps git authors to GitHub @mentions (70+ contributors)
  - Supports dry-run preview and --publish mode
  - Creates annotated CalVer git tags + GitHub Releases
  - Bumps semver in source files automatically
  - Usage: python scripts/release.py --bump minor --publish
- Add .release_notes.md to .gitignore

Versioning scheme: CalVer tags (v2026.3.12) + SemVer display (v0.1.0)
- Update __version__ to 0.2.0 (was 0.1.0)
- Update pyproject.toml to match
- Add RELEASE_v0.2.0.md with comprehensive changelog covering:
  - All 231 merged PRs
  - 120 resolved issues
  - 74+ contributors credited
  - Organized by feature area with PR links
@teknium1 teknium1 changed the title feat: versioning infrastructure + release script feat: versioning infrastructure + release script + v0.2.0 changelog Mar 12, 2026
…wards)

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
@teknium1 teknium1 merged commit a370ab8 into main Mar 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant