|
|
… |
3 unchanged lines |
| 4 |
4 |
|
|
| 5 |
5 |
|
## Unreleased |
| 6 |
6 |
|
|
|
7 |
+ |
## 0.5.0 (2026-10-14) |
|
8 |
+ |
|
|
9 |
+ |
- **Mail that works for any site (#181, #182):** Administration › Mail picks a service (Resend, Amazon SES, Mailgun or plain SMTP) and takes its key, STARTTLS by default, with SEND A TEST. Every email is an HTML card with the OxygenHub mark, a button for its link and the site's links, beside a plain-text copy. |
|
10 |
+ |
- **Notifications by email (#183, #186):** owners hear about their repositories by default; Flow says when a build breaks and when it is fixed; backups say when they fail, when they recover, and once a day what ran; admins hear of sign-ups; proposals reach watchers and reviewers. Subjects say what happened, e.g. `[OxygenHub] 🎉 Build Success`, `💥 Build Broken`, `⚠️ Backup Failed`, `🔀 New Proposal`. |
|
11 |
+ |
- **Agent tokens (#183, #185):** a token marked as an agent's (Settings › Tokens, Mark as agent) tells its owner what is done with it, as anyone else's actions would. Settings › Tokens and Keys are cards with their actions beside each row (#188). |
|
12 |
+ |
- **Two-factor sign-in asks only for the code (#184):** the password is not typed twice. |
|
13 |
+ |
- **Backups, part two:** restore brings the records back and release assets travel (#175); Admin › Backups (#176); a repository can be left out or given its own schedule (#177); Amazon S3 with no key, through STS web identity (#178); an API for settings, TEST, back up now and runs, for users and organisations (#179); empty files upload to GCS (#180). |
|
14 |
+ |
- **Assistants summarise proposals (#190):** Summarise with <assistant> posts its summary of the proposal as a comment via the assistant, under the prompts the site, organisation and repository set. |
|
15 |
+ |
- **Choose a bookmark or tag on the overview (#191):** a picker beside the code search; the side bar stays. |
|
16 |
+ |
- **Wiki pages (#192, #194):** a title row with who edited the page and its revisions, Pages and Contents in the side bar, and a clone box with a copy button. |
|
17 |
+ |
- **The Markdown editor (#193)** is laid out like GitLab's: a Preview tab, icon buttons with strikethrough, task lists and tables, fullscreen and a Markdown supported footer. |
|
18 |
+ |
- **Backdrops on more pages (#196):** a repository's own sky on its overview, wiki, proposals and Conflicts; the mark on Settings › Keys, Tokens and Backups. Live arrivals on the sky (#172). |
|
19 |
+ |
- **Diffusion auto-land (#174)**, opt-in per repository; image architectures detected on push and learnt from runs (#173). |
|
20 |
+ |
- **Fixes:** the proposals list API on a bucket-backed repository (28 s, #171); a long list of heads on a proposal (#170); Conflicts is the usual width (#195); + new is the primary blue (#187); Backups' settings are as wide as its runs (#189). |
| 7 |
21 |
|
- **Backups (#169, docs/backups.md):** a user (Settings › Backups) or an organisation's owners copy every repository they own, with its wiki, issues, proposals, releases and settings (never a secret value), hourly or daily, to a directory the hub allows or a Google Cloud Storage bucket with no key at all (the hub signs in as `backup:OWNER` through workload identity federation; TEST checks it). Only what changed travels, runs are kept 7, 30 or 90 days, a failure lands in the owner's inbox, and `oxygenhub admin backup restore` brings repositories back byte for byte. |
| 8 |
22 |
|
- **Diffusion (#148, docs/diffusion.md).** When a repository that others pin as a subrepo moves on, each consumer that follows it gets a proposal moving the pin, signed by the hub, tested by the consumer's own pipeline, with the upstream's changes listed. One proposal per consumer and subrepo, kept up to date; never landed by itself. Turned on per repository (Settings › Diffusion, `PUT /repos/{owner}/{name}/diffusion`, or `follow` in `.oxymodules`), off by default; `green` waits for the upstream's run to pass. A repository's page shows who uses it and how far behind each is (Diffusion › Diffuses to, `GET /repos/{owner}/{name}/consumers`). Consumers are bumped on the bookmark their work lands on, learned from where their proposals land. |
| 9 |
23 |
|
- **Diffusion in the API (#153):** `GET /repos/{owner}/{name}/diffusion` gives what a repository takes from and what it diffuses to, each with its pill, for the VS Code extension. |
|
|
… |
170 unchanged lines |