Skip to content

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 08:30
· 11 commits to main since this release

Changelog

Features

  • 9cadcf2 feat(cli): fail closed on a contested connection (issue #182)
  • f4de91a feat(serve): start unattached — session_start is the sole workspace-pin authority

Fixes

  • 5ab37ce fix(cli): a seeded shard follows the connection instead of refusing off a stale root
  • 6791349 fix(cli): close the three identity forks the second round found
  • eba5e89 fix(cli): close two identity forks the first pass left open
  • f0aa0b3 fix(cli): conformance scenario pins its workspace; roots/list probe is bounded (#435)
  • 371f830 fix(cli): defer the pre-Execute workspace-arg pin for calls that declare an identity
  • 4f6179f fix(cli): fail an anonymous call on a shared connection closed to the connection
  • cdc17bc fix(cli): keep plumb stop inside its own environment, and unfreeze healed identity records
  • 90490b2 fix(cli): keep both arms of the identity write guard, and the legacy runtime dir
  • 4f6bbd9 fix(cli): latch the shared-connection health mark; never clobber a specific note
  • 93af24c fix(cli): make session identity survive a reconnect, and report it honestly
  • 9ee21b8 fix(cli): re-assert the shared-connection mark after a Health-clearing re-pin
  • 6fce1ea fix(cli): read the shard's root under sh.mu in followConnectionShards
  • 6a16be0 fix(smoke): wait for the isolated daemon to exit before returning
  • 7c49ea3 fix(tools): address review nits on the duplicated-subcommand refusal
  • 59ae914 fix(tools): guard the LSP uri anchoring seam on a contested connection (issue #182)
  • 97edb8e fix(tools): refuse a git call whose args repeat the subcommand
  • 64ab5e7 fix(tui): persist single global settings sparsely instead of freezing defaults
  • 5c2236f fix: read .gitignore in the workspace census and the topology index
  • 424af6d fix: stop a gitignored tree deciding the workspace language

Others

  • a2008c2 Extract gitignore matching into internal/ignore (Foundation)
  • 8d6d10f Let a child .gitignore override a parent, as the walker claimed it could
  • 8c3aa37 Make *.py.lock a weak marker: a locked helper is not a project root
  • 42cbedd Name a language that can actually run, and pin the branch that says so
  • cc0b633 Pin the language argument at the tool seam, and stop rendering "language ()"
  • 20f9133 Reach a second language's tasks, and refuse an override that cannot be honoured
  • 0ca9f7f Refuse a catch-all exclude by probing it, not by recognising its spelling
  • c391d2c Stop a set judging its own directory, which hid re-included files
  • ecd0851 chore(deps): bump charm.land/bubbles/v2 in the charm group (#438)
  • 48569e1 chore(deps): bump charm.land/bubbletea/v2 in the charm group (#415)
  • 59f2b2c chore(deps): bump modernc.org/sqlite in the minor-and-patch group (#417)
  • dc748ad chore(deps): bump svelte and vite in the npm group, refresh generated UI assets (#433)
  • 64cab44 chore(release): cut 0.18.0
  • 3f2e174 ci(conformance): run the gate on every push to main (#437)
  • 698ad12 ci(conformance): run the gate on the paths it asserts on
  • 4fb419d ci(lint): pin golangci-lint to v2.13.1, matching the binary in use
  • 835b187 ci(release): fail fast on a lapsed Homebrew tap token, and make it checkable
  • 86ed695 ci(release): fail the release when the conformance gate is skipped
  • 763d7ce docs(changelog): consolidate the duplicated 0.17.8 section headings
  • 953dce1 docs: correct the layer seam claim and document run_command
  • c54ca9f docs: slim agent brief and move reference detail
  • 8328b69 site: five claims drift fixes — plumb tui, HTML tier, language count, tool groups, version stamp
  • 3c94ead test(cli): guard the roots/list probe bound; split timeout from unsupported logs (#436)
  • 967ad74 test(cli): pin the symlink canonicalisation on both sides of the ownership probe
  • 38e2214 test(clientsmoke): run plumb setup inside the isolated HOME

Install

Homebrew (macOS + Linux):

brew install plumbkit/plumb/plumb

Direct download: grab the archive for your OS/arch below, extract it, and
put the plumb binary on your PATH.

Platform Archive
macOS, Apple Silicon (M-series) plumb_0.18.0_darwin_arm64.tar.gz
macOS, Intel plumb_0.18.0_darwin_amd64.tar.gz
Linux, Intel/AMD 64-bit plumb_0.18.0_linux_amd64.tar.gz
Linux, ARM 64-bit plumb_0.18.0_linux_arm64.tar.gz

Verify your download against checksums.txt.

macOS note: these binaries are not yet code-signed. On a direct download
Gatekeeper may block the first run — clear the quarantine flag once:
xattr -dr com.apple.quarantine ./plumb. Homebrew installs are unaffected.