Skip to main content

Release Notes

Maekon follows SemVer at the tag/Cargo level + CalVer in user-facing surfaces — same pattern as NousResearch/hermes-agent. Build date and short commit SHA appear on every release page, in maekon --version, and via the get_app_build_info IPC.

SurfaceFormat
Git tag / Cargo.tomlSemVer only — v0.0.1-rc.3
GitHub Release titleMaekon v0.0.1-rc.3
Release notes line 1## Maekon v0.0.1-rc.3 — Released May 06, 2026
Release notes line 2**Built**: 2026-05-06 UTC · **Commit**: 628908505
maekon --versionmaekon 0.0.1-rc.3 (build: 2026-05-06 | commit: 628908505)

Latest release

See github.com/pseudotop/maekon-client/releases/latest for the full asset list, or maekon.dev/download for direct platform-specific download buttons (auto-fetched at landing build time).

Cadence

  • RC iteration — as needed within a release cycle (typically 1-3 RCs per stable cut)
  • RC soak window — ~4 weeks between final RC and stable promotion
  • Stable promotion — via promote-stable.yml (workflow_dispatch, GitHub App authenticated)
  • No fixed weekly/monthly cadence — driven by feature/fix readiness

Pre-1.0 contract

Until v1.0, the public API surface (Tauri IPC, server gRPC contract, config schema) may break across minor versions per SemVer §4. The CHANGELOG.md flags every breaking change with BREAKING CHANGE: per Conventional Commits.

Changelog

The authoritative changelog is generated by git-cliff and lives at CHANGELOG.md in the public repo. Each release page mirrors the relevant section.

Verifying a release

Every asset ships .sha256 + .sig (ed25519). Verification example:

PUB=fPiU9KchUIXZ7qOcjJIVp+W8rsO/WI7yStD+AiNuYvw=
ARTIFACT=maekon-linux-x64.tar.gz

curl -fLO "https://github.com/pseudotop/maekon-client/releases/latest/download/$ARTIFACT"
curl -fLO "https://github.com/pseudotop/maekon-client/releases/latest/download/$ARTIFACT.sig"

python3 -c "
import base64, sys
from nacl.signing import VerifyKey
data = open(sys.argv[1], 'rb').read()
sig = base64.b64decode(open(sys.argv[1] + '.sig').read().strip())
VerifyKey(base64.b64decode('$PUB')).verify(data, sig)
print('OK')
" "$ARTIFACT"

The same check runs in CI as the Release Reliability Smoke job.

Versioning policy reference

For the rationale behind the SemVer + CalVer hybrid, see docs/RELEASE-POLICY.md in the public repo.