Skip to content

release: v0.1.0 prep — bump, CHANGELOG, SECURITY.md, agent-memory-mcp rename, crates.io workflow - #18

Merged
hermanngeorge15 merged 9 commits into
mainfrom
release/v0.1.0-prep
Oct 25, 2026
Merged

hermanngeorge15 merged 9 commits into
mainfrom
release/v0.1.0-prep

Conversation

@hermanngeorge15

Copy link
Copy Markdown
Contributor

Part of #7. Covers the pre-tag work of #8 and #9; those issues stay open until the tag and the crates.io publish land.

What changes

  • 0.1.0 for both crates. chacha20 moves from 0.10.1, which was yanked, to 0.10.2.
  • CHANGELOG.md (Keep a Changelog, dated 2026-10-25) and SECURITY.md, which points to private vulnerability reporting. That reporting is now enabled on the repo.
  • Crate rename: the binary package is now agent-memory-mcp, because agent-memory is taken on crates.io. The executable is still agent-memory, and the release tarball names and the Homebrew formula are unchanged. Both crates gain crates.io metadata, the core dependency now carries version = "0.1.0", and the README gets the visible mcp-name: io.github.UnityInFlow/agent-memory line and a cargo install agent-memory-mcp section.
  • release.yml / spike-cross-compile.yml: both now build -p agent-memory-mcp. Without this change the v0.1.0 tag run would have failed at the build step.
  • New publish-crates.yml:
    • It runs only on exact vX.Y.Z tags, on a GitHub-hosted runner, with contents: read and id-token: write.
    • It uses crates.io Trusted Publishing (OIDC) and no secret.
    • It fails if the tag doesn't match both crate versions, and runs tests before requesting the token.
    • It is idempotent: a crate version already on crates.io is skipped, and an index lookup that fails with anything other than a 404 stops the run.
    • It publishes core first and waits for it to appear in the index.
    • Every action is pinned to a full commit SHA.
  • MCP serverInfo: initialize now reports {"name":"agent-memory","title":"Agent Memory","version":"0.1.0","websiteUrl":…}. Before, it reported rmcp's own {"name":"rmcp","version":"1.8.0"}. A test checks this.
  • Planning: 05-SECURITY.md records the Phase 5 security audit (25 threats: 20 mitigated, 5 accepted, 0 open). Phase 6 of the roadmap is re-scoped to the v0.1.0 release; Windows binaries and a required musl build move to v0.2.0, per the owner's decision on Launch v0.1.0: release, rename crate, directories (2026-10-24 plan) #7.

Verification (local, at the PR head)

  • cargo fmt --all -- --check: clean
  • cargo clippy --workspace --all-targets --locked -- -D warnings: clean
  • cargo test --workspace --locked: 288 passed, 0 failed, 2 ignored
  • cargo package --workspace --locked succeeds on a clean tree. The binary crate was verified against the unpublished core.
  • actionlint passes on publish-crates.yml
  • No unwrap() added to production code; no new dependencies

After merge (owner steps, in order)

  1. Allow the release and publish actions on the org Actions allow-list.
  2. First manual publish to crates.io from the merged commit: agent-memory-core, then agent-memory-mcp.
  3. Configure Trusted Publishing on crates.io for both crates (repo UnityInFlow/agent-memory, workflow publish-crates.yml).
  4. Tag v0.1.0 on the same commit.

🤖 Generated with Claude Code

hermanngeorge15 and others added 9 commits October 25, 2026 15:09
25 threats from the 05-01..05-05 plan-time registers: 20 mitigated
(verified at ASVS L1 grep depth), 5 accepted with rationale.
threats_open: 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner decision on issue #7 (2026-10-25): v0.1.0 ships from main,
including Phase 5 export/import, on the six targets release.yml
already builds. DIST-03 (Windows) and DIST-05 (musl as a hard
target) move to v0.2.0; the musl legs stay best-effort. Phase 6 now
maps DIST-06 only, widened to cover the crates.io publish (#9) and
CHANGELOG/SECURITY.md (#8).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- agent-memory and agent-memory-core 0.0.1 -> 0.1.0
- cargo update -p chacha20: 0.10.1 (yanked) -> 0.10.2
- CHANGELOG.md (Keep a Changelog) from git log v0.0.1..main: update,
  relations, hybrid search, JSONL export/import, error redaction
- SECURITY.md: GitHub private vulnerability reporting; scope is the
  local binary, REST is unauthenticated and loopback-only by design

Refs #8, #2 (not closed here).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#9)

- [package] name agent-memory -> agent-memory-mcp; [[bin]] stays
  agent-memory, so the executable, tarballs and Homebrew are unchanged
- version = "0.1.0" on the agent-memory-core path dep and dev-dep
- readme, keywords, categories on both crates
- README: visible mcp-name line for the MCP Registry, install from
  crates.io section
- CHANGELOG: rename entry

Packaging dry-run green: cargo package --workspace --locked (core
verified, then mcp verified against core from a temp local registry).

Refs #9.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
New .github/workflows/publish-crates.yml, separate from release.yml:
- same exact vX.Y.Z tag filter; GitHub-hosted (public repo, no
  self-hosted label can run here)
- job permissions contents: read + id-token: write; no org secret,
  the token comes from rust-lang/crates-io-auth-action (OIDC)
- checks the tag against both crate versions, runs the tests, then
  publishes agent-memory-core, waits for the index, then
  agent-memory-mcp
- idempotent: a crate whose version is already in the crates.io
  sparse index is skipped (the first publish of each crate is manual);
  only a 404 counts as absent, any other lookup failure stops the run
- every action pinned to a full commit SHA with a version comment

Refs #9.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
release.yml and spike-cross-compile.yml selected the package with
-p agent-memory, which no longer exists after the rename, so the
v0.1.0 tag run would have failed at the build step. Both now use
-p agent-memory-mcp. The [[bin]] is still agent-memory, so the binary
path, the agent-memory-<triple>.tar.gz assets and the Homebrew formula
are unchanged. The release notes gain a cargo install section, and the
runner-policy comment points at publish-crates.yml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
initialize reported the SDK identity (rmcp 1.8.0); it now reports agent-memory
with the package version, a display title and the repository URL, pinned by a
stdio handshake test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dates the 0.1.0 heading and adds a Fixed entry for the serverInfo identity.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…0 CHANGELOG entry

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hermanngeorge15
hermanngeorge15 merged commit 7d7f170 into main Oct 25, 2026
1 check passed
@hermanngeorge15
hermanngeorge15 deleted the release/v0.1.0-prep branch October 25, 2026 14:33
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