Repository navigation
desktop-foundation v1.1.1
·
13 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Fixes from the review of 1.1.0. Exit codes, schema ids, error codes and the envelope shape are unchanged. Some behaviour, message text and helper signatures did change, and every change is listed below.
Changes
helpis a command only as the first word (after--jsonat most). In 1.1.0runCliremoved the firsthelpanywhere in the command line, soapprovals decide a1 --digest help denylost its--digestvalue, and-- helpprinted help. Now a flag's value and every word after--are left alone.--debugworks likeHRANESS_DEBUG=1, asCLI_MENU_STYLE.mdD5 says: a text error adds the code and detail.runClitakes--debug(before any--) out of the command line, unless one of the product's verbs declares its owndebugflag, in which case it stays that verb's flag and the other verbs reject it as before. 1.1.0 answered--debugwith an unknown-option error.- An undeclared code no longer shows its code to a person. The
internalerror readsThe command failed with an error it did not declare., and the code moved todetailasUndeclared code <code>., which text mode shows only with--debugorHRANESS_DEBUG=1. In 1.1.0 the message wasThe command answered an undeclared code <code>.This changes--jsonerror.messageand addserror.detail. - A wrong or expired code points at the same command.
gate-failedandgate-expiredfromrunClinow have onenextstep for a person, the same command again, so the→line re-runs it. In 1.1.0 they had nonext, and the→line pointed at--help. This addserror.nextto those--jsonenvelopes. T3unsupported-platformstill points at--help, since running it again cannot succeed in this release. help commands --jsonlists one descriptor forcommandsindata.verbsinstead of an empty list.error.permissionis built the same way by both kits. In 1.1.0 TypeScript kept only the known System Settings panes, while Rust kept anyx-apple.systempreferences:link.- Both now keep only the twelve panes in
contract/names.jsonsettingsUrls. Rust exports them asSETTINGS_URLS. - Both leave
permissionout for a kind outside^[a-z][a-z0-9-]*$(validPermissionKind,valid_permission_kind). contract/golden/error-permission-cases.jsonchecks that both kits print the same bytes.errorPermissionnow returnsErrorPermission | undefined. TypeScript code that assigns its result to anErrorPermissionmust handleundefined.- Rust
ErrorPermission::with_settings_urldrops a link that is not one of the twelve panes, andErrorBody::with_permissiondrops a permission with an invalid kind. - The Rust reader now rejects a
permissionwhose kind or link the schema rejects. 1.1.0 accepted it. permissionErrorJsonkeeps its 1.0 shape. Itserror.permissionis now tested to hold the same kind and link aserrorPermissionand to pass the schema.
- Both now keep only the twelve panes in
- Documented from 1.1.0: an agent that runs a
decideverb without--jsongetshuman-required(exit 3) and no prompt. In 1.0 only--jsondid that, and an agent without it was prompted at/dev/tty. The 1.1.0 notes left this out. A person who wants to decide runs the command at their own terminal, as thenextstep says.
Install
npm install https://github.com/hraness/desktop-foundation/releases/download/v1.1.1/hraness-desktop-foundation-1.1.1.tgzRust products pin the tag: desktop-foundation = { git = "https://github.com/hraness/desktop-foundation", tag = "v1.1.1" }.
Verify
Checksums for every asset are in SHA256SUMS. The source commit is 5a76ba99a90c5754be50244c7d0ef8a9b4120f9b. Each asset has a GitHub build attestation: gh attestation verify <file> --repo hraness/desktop-foundation. See the installation guide.