Repository navigation
desktop-foundation v0.9.0
·
17 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Products can now run without a menu bar: one owner process per product, short-lived commands that print JSON, a human gate for decisions a person owns, and terminal views in place of the menu. Everything is additive; the tray, ./menu-kit and the companion lifecycle calls work as before.
Changes
- New SDK subpaths
./registry,./control,./human-gate,./tui,./login,./retireand./helper, with a new Rust crate,hraness-control-kit, that matches them. Both read the shared contract incontract/, which now ships in the package. - Every
--jsoncommand prints one envelope with a stable error code and exit code: 2 usage, 3 needs a person, 4 owner not running, 5 conflict.commands --jsonlists every verb with its operation class. - A
decideverb needs a person at a foreground terminal who types back a one-time code shown on/dev/tty. Run from an agent with--json, it exits 3 with the command a person should run, and never prompts. This stops accidental approvals, not a determined process running as the same user; seedocs/human-gate.md. - The owner listens on an agent socket and an admin socket in a 0700 directory.
ensureOwnerstarts it on demand, andcontrolStatusreports it without sending signals. tuiviews render interactively on a terminal, as a plain-text snapshot when piped, or as the same JSONstatus --jsonprints.retireLegacyLoginItemmoves a product's old menu bar login item aside after checking it is the product's own, andinstallLoginItemadds an opt-in login item for the owner.- A new
hraness-helper-<target>executable runs the one-shot modes (--notice,--prompt,--launch,--assemble-appand the others) with the same arguments and output ashraness-companion, without the tray. macOS builds are ad-hoc signed. The release manifest lists it underhelperAssets, andresolveHelperfalls back to the companion for older manifests. SDK 0.8.x refuses the new field, so use a 0.9.0 or later manifest only with SDK 0.9.0 or later; the manifest that ships in the package always matches. - The macOS local app, login items and one-shot dialogs moved into the
hraness-local-appcrate, which has no Tauri dependency. Thedesktop-foundationcrate's public API is unchanged.
Install
npm install https://github.com/hraness/desktop-foundation/releases/download/v0.9.0/hraness-desktop-foundation-0.9.0.tgzRust products pin the tag: desktop-foundation = { git = "https://github.com/hraness/desktop-foundation", tag = "v0.9.0" }.
Verify
Checksums for every asset are in SHA256SUMS. The source commit is 6174033a51cd0fa4f5259c8c2492b9a28b942602. Each asset has a GitHub build attestation: gh attestation verify <file> --repo hraness/desktop-foundation. See the installation guide.