Skip to content

Guild v0.4.1

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Oct 20:07
13130ff

Guild 0.4.1

This patch fixes daemon startup and MCP availability when macOS encounters a large registry of project roots. It retains the Homebrew 7 support and retrieval improvements shipped in 0.4.0.

Watcher resource safety

macOS kqueue watches consume descriptors for files as well as directories. Guild now bounds native registrations to 4,096 paths and at most one quarter of the process descriptor limit, including implicit file watches and later filesystem growth. Git watches share the same budget.

If watching exceeds that budget or the backend exhausts OS resources, Guild closes the watcher and falls back to query-time staleness checks. MCP, SQLite, embeddings, and daemon sessions remain available. guild daemon status reports degraded watching; periodic rescans retry. Large registries may therefore use query-time checks instead of live file events.

Upgrade

brew update
brew upgrade --cask mathomhaus/tap/guild

For a new installation, use brew install --cask mathomhaus/tap/guild. Restart existing Guild daemons and MCP server connections after upgrading.

No new database migration is introduced in this patch. Users upgrading from before 0.4.0 should first stop all Guild writers and back up the entire Guild data directory, including SQLite sidecars; rollback requires the matching pre-upgrade data backup. See runtime defaults and upgrades.

Validation

Full local lint, SQL, docs, and race checks passed. Regression coverage includes an actual macOS descriptor-exhaustion subprocess that verifies partial registrations release their handles, initial oversized registrations, and growth after startup. An isolated copy of a 44-project registry successfully bootstrapped MCP, read canonical lore and quests, and enabled embeddings with default watching enabled; the oversized watcher degraded safely and the daemon used 18 handles.

Post-publication verification checked the Sigstore checksum signature against the exact release workflow and commit, all six archive hashes and build metadata, both installers against tagged source, and the latest stable channel. The published Mac and offline Linux ARM64 binaries passed embedded runtime/MCP tests. The generated Homebrew cask passed strict audit and fetch, and its four platform hashes match the signed manifest. A real Homebrew 7 upgrade to 0.4.1 passed, followed by default daemon/MCP startup with the watcher budget fallback.

Signed release workflow

Full changelog