OXYGENHUB

OxygenHub 0.9.21: a phone as the second factor, and the sudo step (refs #356) 8297a33b9a4c

Author
Andy McCall @andymccall <[email protected]>
via
agent agent:claude@andymccall <[email protected]> · keyless, under your grant for changes,refs,seal · key 9126d2f19dd0
When
· 2026-11-01 16:26 UTC
Signature
◈ sealed by agent:claude@andymccall
Hash
8297a33b9a4c8d3b24b5868431fa6096f38addd526c973691ef788532a1d7b08
Depends on
47932fa8d6f3 5c6e92fd8d71 a22e4aec2e28 b5668108487f d23464c0ac60
Depended on by
e4f1f52f2929
In bookmarks
main
In tags
v0.9.21 v0.9.22 v0.9.23 v0.9.24
Edits
8 atoms, 0 tree operations, 3 files

Browse the tree at this change

modified CHANGELOG.md +1 −1
…
1 unchanged lines
2 2
3 3
OxygenHub runs at https://oxygenhub.io; each deploy's build is on the About page and at `/api/v1/version`.
4 4
5 -
## Unreleased
5 +
## 0.9.21 (2026-11-01)
6 6
7 7
- **Added: your phone as the second factor, and the sudo step (#356).** With two-factor sign-in on, the OxygenHub app can add the phone as a second factor (its Keystore key, opened by your fingerprint, face or PIN; adding it needs a current app code). Signing in then shows a two-digit number and waits: the phone offers three, you pick the one shown and confirm, and the browser carries on, with "Use a code instead" always there. A wrong number is a no. Before sensitive changes (password, two-factor settings, keys, tokens, secrets, webhooks, collaborators, deleting or transferring a repository, anything under Administration) a session that has not proved a second factor in 15 minutes is asked again at `/sudo`: the phone, a code, or the password for an account without two-factor. Settings › Security lists the phones; turning app codes off removes them. API: `/api/v1/user/authenticators`, `/api/v1/user/approvals`; migration 0104.
8 8
…
442 unchanged lines
modified Cargo.lock +3 −3
…
1459 unchanged lines
1460 1460
1461 1461
[[package]]
1462 1462
name = "hub-api"
1463 -
version = "0.9.20"
1463 +
version = "0.9.21"
1464 1464
dependencies = [
1465 1465
 "schemars",
1466 1466
 "serde",
…
797 unchanged lines
2264 2264
2265 2265
[[package]]
2266 2266
name = "oh"
2267 -
version = "0.9.20"
2267 +
version = "0.9.21"
2268 2268
dependencies = [
2269 2269
 "anyhow",
2270 2270
 "axum",
…
86 unchanged lines
2357 2357
2358 2358
[[package]]
2359 2359
name = "oxygenhub"
2360 -
version = "0.9.20"
2360 +
version = "0.9.21"
2361 2361
dependencies = [
2362 2362
 "ammonia",
2363 2363
 "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.9.20"
10 +
version = "0.9.21"
11 11
edition = "2021"
12 12
license = "MIT OR Apache-2.0"
13 13
authors = ["Andy McCall <[email protected]>"]
…
60 unchanged lines