Skip to content

Releases: PlayForm/Aphrodite

Aphrodite/v1.0.4

23 Jun 05:38
Aphrodite/v1.0.4
20cdf11

Choose a tag to compare

Compare v1.0.3...v1.0.4

Summary

Documentation overhaul + Unicode normalization sweep + CI fix. All four READMEs rewritten with install instructions, post-install fs trees, and crate-level API docs. 41 files normalized (em dashes → ASCII hyphens). Pyright CI passing.

Changes

  • Rewrite monorepo README — add install section, modern Under the Hood (dylib-based), fix stale versions
  • Rewrite plugin README — add post-install ~/.hermes tree, config reference, verify/uninstall steps
  • New: crates/aphrodite/README.md — C ABI reference (17 functions), pipeline architecture
  • New: crates/aphrodite-hermes/README.md — bridge architecture, tool dispatch table
  • Restructure .hermes/ — 56→17 files into audits/ plans/ reports/ scripts/
  • Normalize all Unicode dashes → ASCII hyphens (41 files, 241 replacements)
  • Fix pyright: _read_str handle c_char_p.value possibly None (CI: 0 errors)
  • Remove headroom-core from workspace + Publish (vendored bundled dep)

Infrastructure

  • Build: cargo build --release ✅
  • Tests: cargo test --workspace ✅ (all suites, 0 failures)
  • Pyright: 0 errors, 0 warnings ✅

Aphrodite/v1.0.3

23 Jun 04:54
Aphrodite/v1.0.3
d18a8b2

Choose a tag to compare

Compare v1.0.2...v1.0.3

Summary

Fix crates.io publish workflow — all three crates (headroom-core → aphrodite → aphrodite-hermes) now publish sequentially with proper version requirements on every path dependency.

Changes

  • Add headroom-core to workspace members (needed for crates.io publish)
  • Add version to aphrodite dep on headroom-core (0.1.0), aphrodite-hermes dep on aphrodite (1.0.3)
  • Split Publish.yml matrix into sequential: Publish-Headroom → Publish-Aphrodite → Publish-Hermes
  • Bump crate + hermes: 1.0.1 → 1.0.3
  • Update README badge + AGENTS.md binary version

Infrastructure

  • Build: cargo build --release ✅
  • Tests: cargo test --workspace ✅ (all 17 suites, 0 failures)

Aphrodite/v1.0.2

23 Jun 04:31
Aphrodite/v1.0.2
f45a9be

Choose a tag to compare

Aphrodite/v1.0.1

22 Jun 18:04
Aphrodite/v1.0.1
b97bb19

Choose a tag to compare

Aphrodite/v1.0.0

22 Jun 17:31
Aphrodite/v1.0.0
7309a14

Choose a tag to compare

Aphrodite v1.0.0 💋 Plugin v2.0.0

Summary

Milestone release — 33/33 release audit claims verified ✅. Fixes the sole regression from the Python→Rust migration (dylib hot-reload), adds cargo install aphrodite bootstrap, crates.io Publish workflow, and a 10-point version audit skill.

Changes

  • Dylib hot-reload restored — v0.9.0 claimed hot-reload but headroom_ffi.py was deleted during migration. Fixed: _dylib_mtime global tracks file mtime, _load_dylib() reloads on change. Logs "dylib mtime changed — hot-reloading".
  • aphrodite setup subcommand — 10-step bootstrap after cargo install aphrodite. Self-hash (BLAKE3), verify hermes, copy binary + dylibs, write config + manifest from templates, symlink plugin, register with hermes.
  • Template-driven configtemplates/aphrodite.toml + templates/__init__.py embedded via include_str!. Placeholder replacement for {api_url} / {model}.
  • Publish.yml — GitHub Actions workflow publishes aphrodite + aphrodite-hermes to crates.io on Aphrodite/v* tags.
  • Version audit skill — 10-point checklist covers every version location in the repo.
  • Release audit — 33 claims across 9 releases (v0.9.0–v0.9.8) verified against current code. Full report at .hermes/audits/release-verification.md.
  • Security hardening — Binary chmod 700, config chmod 600, dylibs chmod 755. BLAKE3 self-hash. No secrets in CLI args.
  • ccr_db_path fixPathBufOption<PathBuf> (clap subcommand compatibility).

Infrastructure

  • Build: cargo build --release
  • Tests: cargo test --workspace ✅ (990 passed, 0 failed)
  • Release audit: 33/33 claims verified ✅
  • Submodule hashes: match ✅
  • Version audit: 10/10 points match ✅

Links

Full Changelog: Aphrodite/v0.9.8...Aphrodite/v1.0.0

Full Changelog: Aphrodite/v0.9.8...Aphrodite/v1.0.0

Full Changelog: Aphrodite/v0.9.8...Aphrodite/v1.0.0

Aphrodite/v0.9.8

22 Jun 13:45
Aphrodite/v0.9.8
2ffed16

Choose a tag to compare

Aphrodite v0.9.8 💋 Plugin v1.62.66

Summary

cargo install aphrodite bootstrap — single-command setup that deploys the proxy binary + dylibs + config + plugin manifest under ~/.hermes/aphrodite/. Adds aphrodite setup subcommand, crates.io Publish.yml workflow, template-driven config, and a 10-point version audit skill.

Changes

  • aphrodite setup subcommand — 10-step bootstrap: self-hash (BLAKE3), verify hermes, copy binary + dylibs to ~/.hermes/aphrodite/binaries/, write aphrodite.toml from template, write plugin.yaml + __init__.py, symlink plugin, register with hermes. Run after cargo install aphrodite.
  • Template-driven configtemplates/aphrodite.toml + templates/__init__.py embedded via include_str!. Placeholder replacement for {api_url} / {model}. No inline r#"..."# strings.
  • Publish.yml — GitHub Actions workflow publishes aphrodite + aphrodite-hermes to crates.io on Aphrodite/v* tags. Runs cargo test first, then cargo publish --no-verify. Requires CARGO_REGISTRY_TOKEN in Release environment.
  • Security hardening — Binary chmod 700, config chmod 600, dylibs chmod 755. BLAKE3 self-hash displayed on every setup. No secrets in CLI args.
  • ccr_db_path fixPathBufOption<PathBuf>. Empty default broke clap subcommand recognition (aphrodite setup was rejected).
  • Dependencies — Add blake3 = "1.7", make dirs non-optional.
  • Parallel smoke testMaintain/scripts/smoke-dispatch.sh dispatches 6 poll workers for concurrent proxy testing.
  • Version audit skill — 10-point checklist covers every version location: Cargo.toml ×2, plugin.yaml ×2, README badges ×3, AGENTS.md ×2, __init__.py docstring. Includes one-command audit script.
  • Stale version fixes — Plugin README badge v1.62.62→v1.62.66, AGENTS.md plugin v1.62.62→v1.62.66, AGENTS.md binary v0.9.4→v0.9.8.

Infrastructure

  • Build: cargo build --release
  • Tests: cargo test --workspace ✅ (990 passed, 0 failed)
  • Parallel: 6× poll_worker.py smoke test ✅ (0 errors)
  • Version audit: 10/10 points match ✅
  • Submodule hashes: match ✅

Links

Aphrodite v0.9.7

22 Jun 10:26
Aphrodite/v0.9.7
75fc526

Choose a tag to compare

Aphrodite v0.9.7 💋 Plugin v1.62.65

Summary

Synced vendor/headroom fork with upstream/main — merged 10+ commits including
v0.27.0 release, Cortex Code provider, ONNX embedder, tokenizer fix, tree-sitter pin,
Anthropic tool forwarding, and Windows encoding fix.

Changes

  • vendor/headroom: merged upstream/main (95b2333) — v0.26.0 → v0.27.0
    • feat(providers): Cortex Code (Snowflake CoCo) support
    • fix(memory): ONNX embedder for wrap --memory sync
    • fix(tokenizers): literal special-token strings as plain text
    • fix(proxy): Anthropic byte-faithful tool forwarding
    • fix(code): tree-sitter-language-pack <1.0 pin
    • fix(e2e): Codex wrap alignment, Windows UTF-8 encoding
  • 8 conflicts resolved (all upstream Python/docs/config — no Rust changes)

Infrastructure

  • Build: ✅ cargo build --release
  • Tests: ✅ 6/6 aphrodite-hermes
  • Headroom-core: ✅ cargo check clean

Links

Full Changelog: Aphrodite/v0.9.6...Aphrodite/v0.9.7

Aphrodite/v0.9.6

22 Jun 08:30
Aphrodite/v0.9.6
dad536e

Choose a tag to compare

Aphrodite v0.9.6 💋 Plugin v1.62.64

Summary

Skill system sync — fixed 10 phantom skills in dylib registry, added missing
skill registration to Python shim, bumped stale profile skill versions.

Changes

  • fix(skills.rs): Replaced 14-skill list (10 phantoms with no SKILL.md) with
    the 9 actual skills on disk. Removed: center-testing, coding-defaults,
    compression-architecture, context-efficiency, dev-workflow, iterate-release,
    output-formatting, presentation, session-patterns, tool-guide. Added:
    auto-expand-testing, cargo-upgrade, development-lessons, operations,
    v0.8.6-patterns.
  • fix(init.py): Skill registration was completely missing — Hermes
    never loaded aphrodite skills. Added ctx.register_skill() loop reading from
    monorepo skills/ directory, plus ctypes signature for
    aphrodite_hermes_list_skills.
  • fix(plugin.yaml): Updated skill list comment to match actual 9 skills.
  • chore(skills): Bumped stale version references in profile skills:
    rebuild-chain (v0.8.43→v0.9.5), docs-conventions badges (v0.8.43→v0.9.5,
    v1.62.50→v1.62.63).

Infrastructure

  • Build: ✅ cargo build --release
  • Tests: ✅ 6/6 aphrodite-hermes
  • Skills on disk: 9 ✅ — all registered + all have SKILL.md

Links

Aphrodite/v0.9.5

22 Jun 07:17
Aphrodite/v0.9.5
5f45d84

Choose a tag to compare

Aphrodite v0.9.5 💋 Plugin v1.62.63

Summary

Critical bug fixes from Python→Rust migration audit — hooks were no-ops,
context engine was broken, download.sh used wrong version, test assertion failed.

Changes

  • fix(hooks): Hook dispatch was no-op — all 5 hooks registered as lambda: None.
    Now dispatch to Rust dylib via aphrodite_hermes_call_hook with ctypes setup.
  • fix(context-engine): context_engine_pre_llm dispatched to tool registry
    but was missing from tools.rs → returned {"error": "unknown tool"} silently.
    Added handler that calls aphrodite::hooks::pre_llm_call.
  • fix(download.sh): Auto-detected version from plugin.yaml (1.62.62) but
    GitHub releases use crate version (0.9.4) → download 404. Now reads from
    crates/aphrodite/Cargo.toml first.
  • fix(test): test_version_is_semver failed — aphrodite_hermes_version()
    returns JSON {"version":"0.1.1"} but test checked starts_with("0.").
    Now parses JSON before assertion.
  • docs: Restored comprehensive README (867→847 lines) — deduped Migration
    section into Architecture.

Infrastructure

  • Build: ✅ cargo build --release
  • Tests: ✅ 6/6 aphrodite-hermes
  • Audit methodology: 9-step systematic approach documented in
    aphrodite-dev-workflow/references/codebase-audit-methodology.md

Methodology

Discovered via systematic 9-step audit:

  1. Git history scan (50 commits)
  2. Deleted file audit (git diff --diff-filter=D)
  3. Reference cross-check (rg for dangling refs)
  4. C ABI surface comparison (before/after extern fn list)
  5. Test execution (cargo test)
  6. Runtime code path analysis (trace hook→handler→dispatch)
  7. Cross-system version sync (Cargo.toml vs plugin.yaml vs badges)
  8. Script dry-run testing (bash download.sh)
  9. Dead code / orphan path detection (dispatch target existence)

Links

Aphrodite/v0.9.4

20 Jun 03:55
Aphrodite/v0.9.4
ed5821e

Choose a tag to compare