OXYGENHUB

OxygenHub 0.9.0 b7d2b0b30b4a

Board archiving and label/assignee filters (#293), and
GET /api/v1/user/proposals for the Android app's dashboard. Migration
0093. Changelog dated.
Author
Andy McCall @andymccall <[email protected]>
via
agent agent:claude@andymccall <[email protected]> · keyless, under your grant for changes,refs,seal · key a8f45073067a
When
· 2026-10-25 12:02 UTC
Signature
◈ sealed by agent:claude@andymccall
Hash
b7d2b0b30b4ac9cf296a69413edcb0026af40ab263445dae89ecdb5030307526
Depends on
5c6e92fd8d71 69e4f27c5633 a7e6e8e6094c b5668108487f d23464c0ac60 f4e138301198
Depended on by
de4467cb1eca 5714347a6233
In bookmarks
api-unknown-fields diffusion-pin-bookmark draft-ready main proposal-list-fast
In tags
v0.9.0 v0.9.1 v0.9.11 v0.9.15 v0.9.16 v0.9.19 v0.9.2 v0.9.20 v0.9.21 v0.9.22 v0.9.23 v0.9.24 v0.9.3 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9
Edits
7 atoms, 0 tree operations, 3 files

Browse the tree at this change

modified CHANGELOG.md +2 −0
…
3 unchanged lines
4 4
5 5
## Unreleased
6 6
7 +
## 0.9.0 (2026-10-25)
8 +
7 9
- **`GET /api/v1/user/proposals` (repo:read):** the proposals the web dashboard lists, for apps: `review` (open ones by others in repositories the caller belongs to, not yet reviewed by them) and `authored` (their own open and drafts, in repositories they can still see), each with its repository, state, conflicts and web address. The Android app's dashboard shows them (oxygenhub-android#18).
8 10
- **Board cards can be archived (#293, archive):** off the board but kept, on the board's archive view (`?archived=1`, with the same filter) and restored to the end of their column. A column archives its cards that reached it more than N days ago at once ("Archive cards here more than 14 days"), or on its own once set to (checked hourly, `projects.archiver`), so a Done column stops growing. An issue's or proposal's page says its card is archived. The API has `POST …/cards/archive` (#289's selection plus `older_days`, with `dry_run`), `GET …/cards?archived=true` and `POST …/cards/{id}/restore`; `oh project card archive N --from Done --older 14d`, `oh project card restore N CARD` and `oh project view N --archived`. Migration 0093 adds `project_cards.archived_ms` and `moved_ms` (when a card joined its column) and `project_columns.archive_after_days`.
9 11
- **Board cards show their labels and assignees, and the board filters by them (#293, filters):** an issue's or proposal's card shows its labels (each a link to the board filtered by it) and an issue's assignees; the filter takes `label:NAME`, `assignee:NAME` and `state:STATE` with words, as the issue list does, every term holding. The board reads what its cards show once per repository rather than once per card (a board of 300 cards made 300 queries). The API's cards and `oh project view` carry the labels and assignees too.
…
299 unchanged lines
modified Cargo.lock +3 −3
…
1457 unchanged lines
1458 1458
1459 1459
[[package]]
1460 1460
name = "hub-api"
1461 -
version = "0.8.0"
1461 +
version = "0.9.0"
1462 1462
dependencies = [
1463 1463
 "schemars",
1464 1464
 "serde",
…
797 unchanged lines
2262 2262
2263 2263
[[package]]
2264 2264
name = "oh"
2265 -
version = "0.8.0"
2265 +
version = "0.9.0"
2266 2266
dependencies = [
2267 2267
 "anyhow",
2268 2268
 "axum",
…
86 unchanged lines
2355 2355
2356 2356
[[package]]
2357 2357
name = "oxygenhub"
2358 -
version = "0.8.0"
2358 +
version = "0.9.0"
2359 2359
dependencies = [
2360 2360
 "ammonia",
2361 2361
 "anyhow",
…
2513 unchanged lines
modified Cargo.toml +1 −1
…
6 unchanged lines
7 7
resolver = "2"
8 8
9 9
[workspace.package]
10 -
version = "0.8.0"
10 +
version = "0.9.0"
11 11
edition = "2021"
12 12
license = "MIT OR Apache-2.0"
13 13
authors = ["Andy McCall <[email protected]>"]
…
60 unchanged lines