Skip to content

Releases: EvoMap/evolver

v1.69.6

21 Apr 01:51

Choose a tag to compare

v1.69.6 — Auto-detect host git repository

Fix

When evolver is installed as an npm dependency or as a skill under another repository, it now auto-detects the host workspace's .git and uses it as repoRoot. Before 1.69.6, evolver would walk up to the host .git, warn, and then deliberately fall back to its own package directory, which caused git diff to see no Hand Agent edits and every evolution cycle to stall with:

hollow_commit: N file(s) changed but 0 are constraint-counted code.
Only GEP metadata was modified.

If you were seeing repeated hollow_commit failures, recurring exec errors, or the Hand Agent appearing to "not work" despite being successfully spawned, upgrading to 1.69.6 resolves the root cause with no env changes required.

Behavior summary

EVOLVER_REPO_ROOT Own dir has .git Parent has .git repoRoot
set any any explicit value
unset yes any own dir
unset no yes host workspace (new default)
unset no no own dir (fallback)

Opt-out

If you deliberately want the old isolated behavior (evolver only sees its own package dir), set:

EVOLVER_NO_PARENT_GIT=true

The legacy EVOLVER_USE_PARENT_GIT=false flag still works as an opt-out for forward compatibility.

Also

  • Loop terminator in repo walk now uses dir !== path.dirname(dir) so it terminates correctly on Windows (where path.dirname('C:\\') never equals / or .).
  • Added three regression tests covering default auto-detection, EVOLVER_NO_PARENT_GIT opt-out, and legacy EVOLVER_USE_PARENT_GIT=false opt-out.
  • Full test suite: 912/912 pass.

v1.69.5

21 Apr 01:00

Choose a tag to compare

v1.69.5 - node_id format fix

Fixes a regression where hub-issued 16-hex node_ids (e.g. node_71c0a711a894cbf3)
were silently rejected by the client and each restart regenerated a new 12-hex
node_id from the device-fingerprint fallback, making it look like "my node keeps
getting recreated".

What changed

  • The persisted-node_id validator now accepts 12-32 hex chars, matching what the
    hub actually issues
  • A2A_NODE_ID env values with unexpected formats are still used as-is but now
    emit a clear warning pointing to https://evomap.ai

Upgrading

If you set A2A_NODE_ID to a 16-hex hub-issued id, or copied one into
~/.evomap/node_id, upgrade to v1.69.5. If your ~/.evomap/node_id was already
overwritten by the fallback, either:

  • set A2A_NODE_ID=<your hub node_id> in your shell, or
  • delete ~/.evomap/node_id and re-claim your original node on evomap.ai

Internal improvements and stability enhancements.

v1.69.4

20 Apr 16:02

Choose a tag to compare

Release created by publish script.

v1.69.3

20 Apr 01:22

Choose a tag to compare

Release created by publish script.

v1.69.1

20 Apr 01:11

Choose a tag to compare

Release created by publish script.

v1.69.0

19 Apr 15:24

Choose a tag to compare

Release created by publish script.

v1.68.0-beta.2

19 Apr 14:49

Choose a tag to compare

Release created by publish script.

v1.68.0-beta.1

18 Apr 18:16

Choose a tag to compare

v1.68.0-beta.1 Pre-release
Pre-release

What is new

  • Opt-in validator role for decentralized asset validation. Staked
    nodes can now fetch Hub-assigned validation tasks, run the asset
    commands in an isolated sandbox, and report PASS/FAIL back to the Hub
    for consensus-based promotion.
  • Configuration is gated by EVOLVER_VALIDATOR_ENABLED (default off).
    Safe drop-in upgrade: no change in behavior unless opted in.

Beta scope

This is a prerelease intended for 2-3 days of canary traffic. Once
validation_consensus_decisions_total is observed trending up on the
admin dashboard, a stable v1.68.0 will follow.

Other

Internal improvements and stability enhancements.

v1.67.6

18 Apr 17:36

Choose a tag to compare

Release created by publish script.

v1.67.4

18 Apr 04:09

Choose a tag to compare

Bug Fixes

  • setup-hooks / Claude Code adapter: Fix .claude/settings.json schema incompatibility that caused Claude Code to reject the generated settings file on startup.

    Claude Code expects hooks[event] to be an array of HookMatcher
    ({ matcher?, hooks: HookCommand[] }), but the previous adapter emitted a flat
    array of HookCommand, producing expected array, received undefined at
    hooks.SessionStart[0].hooks during Zod validation.

    buildClaudeHooks now wraps each command in a HookMatcher, and
    uninstall walks the nested structure correctly. Verified against the
    real Zod HooksSchema from Claude Code 2.1.87 (src/schemas/hooks.ts).

    A new structural test (buildClaudeHooks produces Claude Code HookMatcher structure)
    guards against regression.

No API changes for users. After upgrading, re-run evolver setup-hooks (or delete
the old .claude/settings.json block tagged _evolver_managed and re-install).