• v0.15.2 0e7cb12599

    v0.15.2 Stable

    hexajon released this 2026-07-16 17:28:17 +00:00 | 214 commits to main since this release

    Signed by hexajon
    GPG key ID: 6E62A0A72715C1F6

    Changelog

    Features

    • ab8ebb8 feat(actions): give the runner family an org form (#122)
    • 7f249a3 feat(adr): madtea adr command group - race-free new + drift-guard check (#26)
    • b9b4867 feat(api): exit nonzero on HTTP error responses, matching gh api (#105)
    • bea98f1 feat(finish): complete a remote-only branch via owner_repo= (no local checkout) (#49)
    • dd00d0b feat(gate): self-heal preflight for poisoned module cache (#132)
    • 77ffd6c feat(gpg-key): add top-level gpg-key command group with scope preflight (#53)
    • d7dda5f feat(mcp): extract DirScope embeddable with enforced tool matrix (#62)
    • 93307a3 feat(mcp): harden serve against mid-session drops with KeepAlive + stdout write watchdog
    • b37a84a feat(mcp): launch scope is the credential scope - refusals, parity guard, and the dir= report carve-out on madt_issues
    • 493b04b feat(mcp): madt_auth_login - in-session OAuth login, secure backend only (#89)
    • 5131c4e feat(orchestrate): reconcile mode gets dir=/owner_repo= on DirScope (#14)
    • 124f62a feat(ref-inspect): add contains ancestry check and worktree read-verb steering (#126)
    • a59588b feat(release): stamp tag version into artifact plugin.json at assemble time (#121)
    • 64c3bf1 feat(release): version-free asset filenames - stable latest-download URLs and a real Linux install one-liner
    • 0f8894a feat(repos): description in list output, check-metadata audit, user-repos suggestions (#50)
    • 7c260e5 feat(worktrees): port ephemeral-worktree revert to CLI pr revert and orchestrate (#131)
    • d33f739 feat(worktrees): run conflict-capable PR revert in an ephemeral worktree (#20)

    Bug Fixes

    • 733b906 fix(actions): strip event_payload from runs/tasks; add tasks pagination (#123)
    • fdf49e3 fix(api): propagate first-page HTTP status through --paginate (#105)
    • 33af7d4 fix(config): GetConfigForDir reads the target dir's own repo-local token
    • c6f6186 fix(dates): normalize YYYY-MM-DD date-only input for all date filter flags (#91)
    • 4fcd842 fix(finish): surface real error from resolveForeignDefaultBranch (#93)
    • e80a138 fix(hooks): close the git -c/-C commit early-exit bypass (#19)
    • a9ee2de fix(hooks): deny commit-creating continuation forms; madt_commit completes in-progress merge/revert/cherry-pick (#19)
    • 9bd3175 fix(issues): forward labels_filter as names and assignee as assigned_by (#142)
    • 6960a3c fix(mcp): enforce param scope on madt_ref_inspect; trim accepted-list globals (#127)
    • 7461796 fix(mcp): enforce per-action param scope, stop swallowing inapplicable params (#127)
    • ee19a95 fix(mcp): trim the org param doc under the madt_actions schema byte budget
    • 2bf7039 fix(mcp,cli): remove instance-breaking user/org delete; pin gated destructive remote surface (#120)
    • 79dc9de fix(orchestrate): name the worktree when reconcile checkout fails because branch is locked (#24)
    • 28f781a fix(orchestrate): thread invoking dir=/owner_repo= into reconcile conflict rails (#14)
    • bfcb893 fix(prune): bare prune is a pure dry run - gate fetch --prune behind confirm (#133)
    • 02fb8aa fix(serve): test-scope lifecycle log path under go test (#95)
    • b8ef918 fix(worktrees): refuse rebase targeting the primary checkout; name path in result lines (#125)

    Documentation

    • e3a1c19 docs(readme): restore the sixfold.space footer logo block

    Other

    • 58cb948 merge main into issue-26-adr-command-group: reconcile COMPARISON summary + regenerated reference docs
    • 071f2a9 merge: integrate main (tasks pagination) with the org runner surface
    • 1cbf417 ux(clone): name the resolved forge host; warn on mirror=true (#97)
    • 4ae7748 ux(mcp): probe credentials at initialize and warn in the banner when unauthed (#88)
    • 2f71d25 ux(worktrees): bounded conflict detail + sanctioned resolve path on rebase conflict (#21)

    Upgrading from v0.15.1 or older

    This release renames the downloadable archives to version-free filenames (madtea_linux_amd64.tar.gz), which makes the releases/download/latest/... install links permanently stable. Older installed binaries construct the previous versioned filename when self-updating, so madtea update from v0.15.1 or older fails with no release asset madtea_0.15.2_.... Reinstall once by hand; every later madtea update then works normally (0.15.2+ understands both naming eras):

    curl -fsSL https://codeberg.org/sixfold_space/madtea/releases/download/latest/madtea_linux_amd64.tar.gz | tar -xz
    ./madtea_linux_amd64/madtea install
    

    macOS: brew upgrade --cask madtea - Windows: scoop update madtea - or grab the matching archive for your platform from this page. Details in #164.

    Downloads