Changelog
OxygenFlow has no release yet: the runner on Earth runs main. This file starts on 2026-10-01; earlier history is in oxy log.
Unreleased
-
A job says how long it may run (#23).
timeout "90m"on a job, or on a sandbox for its jobs (hours, minutes, seconds; a minute to a day). The hub caps it at the site's maximum. -
A pinned file is re-read from the disk before its hash is called wrong (#22).
-
A runner says which jobs it holds (oxygenhub#71). Each claim lists the jobs the runner is running or still has a result for, so the hub ends at once any job it lost by restarting, instead of an hour later at the time limit.
-
A runner says which images it holds (oxygenhub#73). Each claim lists the rootfs images in the runner's
cas/(read each time, so an image imported while it runs counts), and the hub offers only jobs whose image is among them. plex-1 had failed metalgear's jobs for want of one. -
A job's result is kept until the hub has it (oxygenhub#71). The runner offered a finished job's result three times over seven seconds and then dropped it, so a hub that was briefly down (Earth's reset) left the job running forever. The result is now kept on disk (
pending/in the Flow home) and offered again, every 5 s doubling to a minute, for up to two hours, through any server error or lost connection; a runner that restarts sends what it kept. A refusal (the hub ended the job already) is final. -
The Rust build image vendors mimalloc (#20). Oxygen's new allocator was missing from the image, so oxygen's runs #150 to #153 failed. The image was rebuilt with
images/rust/build.sh, imported on Earth and pinned in the oxygen, oxygenhub and oxygenflow pipelines. Rebuild it whenever aCargo.lockof those projects changes. -
A hint for shell escapes in a pipeline. KDL 2.0 strings have no
\033,\eor\xescapes; a pipeline that uses one (for ANSI colours, say) is still invalid, butflow checkand the hub now name the line and say to write ESC as\u{1b}.