OXYGENHUB

Releases 1

OxygenHub 0.8.0 v0.8.0 · ✔ signed by Andy McCall · andymccall ·

Trust and audit
  • Built on oxy 0.6.0 and OxygenFlow 0.3.1: tag withdrawals, keyless grants that survive a key rotation, working depth-0 clones of big repositories (oxygen#134, issue #135, issue #137; oxygenhub#301).
  • The API for apps (issue #302-issue #305), found building the Android app: GET /api/v1/user/repos lists the caller's own repositories, their organisations' and those they collaborate on (?affiliation=owner,organization,collaborator, paged with ?after=owner/name&limit=), and GET /api/v1/user/orgs their organisations and role (issue #302); a call with no token now answers 401 (sign in) rather than 403 (issue #303); DELETE /api/v1/device/code withdraws a device sign-in the app gave up on, at once (issue #304); each notification says its repository, reason (participating, watching), thread and the kind's label (issue #305).
  • Boards that keep growing stay readable (issue #293, first part): a column of more than 30 cards shows its newest 30 (cards join a column at its end), says how many older ones it leaves out and links to "show all"; a filter above the board finds cards by title or reference, and by state (open, closed, landed, draft), in every column, counting "3 of 312".
  • An issue's references come in a box per day (issue #292): an issue many changes refer to listed a line per change and ran on down the page. Two or more on one day are now one box, "referenced by 12 changes on 21 Oct 2026", their changes as wrapping chips, collapsible, the newest day's open.
  • Move a board's column at once (issue #289): oh project card move N --from Doing -c Done moves every card of a column, --except 317,#320 leaves some, --state closed,landed takes only cards whose issue or proposal is done, and --dry-run lists what would move. One call (POST …/projects/{owner}/{n}/cards/move), all or none, one audit entry: tidying a board of 115 cards took 115 commands.
  • Expediting a run moves the queue at once (issue #291): a run's jobs kept the place they had ("9 of 9 jobs come before") until the next placement pass and some other change on the page. Expediting now places every queued job again straight away, every run whose jobs' notes changed updates live, and a job an expedited run moved down says so ("2 ready jobs come first (after expedited run andy/demo issue #12)").
  • Create and withdraw tags on the website (issue #295, issue #301): a writer creates a tag on the Tags page (or oh tag create, POST …/tags), signed by the hub as their delegate, under the policy, and its tag jobs run; a maintainer withdraws one there (or oh tag delete, DELETE …/tags/{tag}, or oxy push --delete tags/NAME) with a signed withdrawal, never while a release uses it. The withdrawal is logged, audited and listed on the page with why, and clones drop the tag on their next fetch. Tags never move, and a withdrawn name is not used again. Pins oxygen with tag withdrawal and with keyless grants that survive their owner's key rotation (oxygen#135).
  • An agent's changes verify in a new repository (oxygen#134): a keyless agent's change in a repository its owner had never pushed to read INVALID ("grant is by an unknown author"). The hub now sends the grant's signer with each certificate, and with oxy's fix the agent keeps it and pushes it beside the certificate, so the repository can check the grant.
  • A mistyped address shows the not-found page (issue #294): an address the hub could not read, such as a project or issue number that is not a number, answered with a raw parse error ("Invalid URL: Cannot parse value …"); it now shows the site's not-found page, signed-in header and all.
  • Embed a drop (issue #280): a drop's page offers an <iframe> snippet; /{owner}/drops/{id}/embed shows its files with a link back, framed by any site, with no scripts and no forms.
  • Comments on drops (issue #280): a drop's page has comments: signed-in readers write them in Markdown, the drop's owner is told, and the author, the owner or a site administrator deletes one.
  • Star a drop (issue #280): a signed-in visitor stars a drop, or takes the star back, from its page, which shows how many it has.

Assets