Skip to content

v0.11.3

Choose a tag to compare

@jaspertey jaspertey released this 28 Oct 04:53
a375e78

Headline

Installed records are portable: they no longer store an absolute checkout path, and a fresh clone (CI, another worktree, a teammate) can plan and apply.

Fixed

  • Committed installed records work in any checkout of the app. A record stores its root as . instead of the absolute path of the checkout that wrote it, so a clone, CI or another worktree no longer fails with Unknown, foreign or mismatched installed artifact., and no local path is committed. A record written before 0.11.3 (0.12.2 on the main line) is read anywhere and rewritten on the next update. The app id, lineage and artifact fingerprint still refuse a foreign record (#207).
  • The first update in a fresh clone no longer fails with Maintenance data requires an unlinked regular file. When .mod-maintenance/ holds only committed installed records, Mod creates the git-ignored owner.json and lock itself. A linked owner.json is still refused, and unknown content is still reported (#207).

Fresh-install check from a real git clone + composer install: plan creates, apply completes, an upgrade plan replaces, apply completes; owner.json and lock are created; the record has root "." with no local path. Foreign records are still refused by app id, lineage-hash filename and artifact fingerprint.


What's Changed

Full Changelog: v0.11.2...v0.11.3