OXYGENHUB

OxygenFlow 0.2.0, its first tagged release da72c3b192c3

Pins oxy 0.5.0. Approval gates and environments, artifacts between jobs,
egress, keyless receipts, priorities, on-triggers, runs-on labels, images
by hash, build caches (microVM and now syscall tiers), runner facts and
the native RISC-V runner. The changes are in CHANGELOG.md under 0.2.0.
Author
Andy McCall @andymccall <[email protected]>
via
agent agent:claude@andymccall <[email protected]> · keyless, under your grant for changes,refs,seal · key dbf566fb344b
When
· 2026-10-19 23:54 UTC
Signature
◈ sealed by agent:claude@andymccall
Hash
da72c3b192c3926c37e2db6e386b8eb2c95762e7108a730dac7e8a2d7f4e078d
Depends on
59078d2b8d46 8efb7e14532b c2430ac3b728 c3db750ed96e da5118d25db2 e0918b887850 f849c7889471 fe128fa67a06
Depended on by
6a2d31568cf2 8bf49b95b09e d59bf2389914 077a65242359
In bookmarks
main
In tags
v0.2.0 v0.3.0 v0.3.1 v0.4.0 v0.5.0 v0.5.1 v0.5.2 v0.5.3
Edits
13 atoms, 0 tree operations, 4 files

Browse the tree at this change

modified CHANGELOG.md +3 −1
1 1
# Changelog
2 2
3 -
OxygenFlow has no release yet: the runner on Earth runs `main`. This file starts on 2026-10-01; earlier history is in `oxy log`.
3 +
0.2.0 is OxygenFlow's first tagged release; until then the runners ran `main`. This file starts on 2026-10-01; earlier history is in `oxy log`.
4 4
5 5
## Unreleased
6 6
7 +
## 0.2.0 (2026-10-20)
8 +
7 9
- **Approval gates and environments (#57, #59, oxygenhub#235, spec §5.3.2, §5.3.3).** `approval { by "maintain"; others-only; expires "24h" }` on a job makes the hub hold it until a person with that role (write, maintain by default, or admin) approves it, and with `others-only` not the person who pushed. `approval { sealed #true }` asks for an approval signed with the approver's own key (`oxy seal --flow`), the default for a job that names an `environment "prod"`; the hub names the environment in the job's identity tokens only once it is approved. Both are part of the job's hash.
8 10
9 11
- **Artifacts between jobs (#58, spec §5.3.1).** `input { artifact "x" from "job"; path "/src/x" }` takes an artifact from a job named in `depends-on`, up to 8 per job. The runner fetches each from the hub, refuses the job when the blob is not the one the producer's receipt names, writes it at its path and lists it in the receipt's inputs.
…
72 unchanged lines
modified Cargo.lock +6 −6
…
500 unchanged lines
501 501
502 502
[[package]]
503 503
name = "flow"
504 -
version = "0.1.0"
504 +
version = "0.2.0"
505 505
dependencies = [
506 506
 "anyhow",
507 507
 "blake3",
…
15 unchanged lines
523 523
524 524
[[package]]
525 525
name = "flow-casfs"
526 -
version = "0.1.0"
526 +
version = "0.2.0"
527 527
dependencies = [
528 528
 "anyhow",
529 529
 "fuser",
…
4 unchanged lines
534 534
535 535
[[package]]
536 536
name = "flow-core"
537 -
version = "0.1.0"
537 +
version = "0.2.0"
538 538
dependencies = [
539 539
 "blake3",
540 540
 "globset",
…
8 unchanged lines
549 549
550 550
[[package]]
551 551
name = "flow-init"
552 -
version = "0.1.0"
552 +
version = "0.2.0"
553 553
dependencies = [
554 554
 "libc",
555 555
 "serde",
…
232 unchanged lines
788 788
789 789
[[package]]
790 790
name = "jet"
791 -
version = "0.1.0"
791 +
version = "0.2.0"
792 792
dependencies = [
793 793
 "blake3",
794 794
 "hex",
…
216 unchanged lines
1011 1011
1012 1012
[[package]]
1013 1013
name = "oxy-core"
1014 -
version = "0.4.6"
1014 +
version = "0.5.0"
1015 1015
dependencies = [
1016 1016
 "blake3",
1017 1017
 "ed25519-dalek",
…
1024 unchanged lines
modified Cargo.toml +1 −1
…
4 unchanged lines
5 5
resolver = "2"
6 6
7 7
[workspace.package]
8 -
version = "0.1.0"
8 +
version = "0.2.0"
9 9
edition = "2021"
10 10
license = "MIT OR Apache-2.0"
11 11
…
14 unchanged lines
replaced deps/oxygen +0 −0

No line changes.