Started experimenting with what a next-gen build system might look like:
Eleven point releases have followed v0.14.0 over the last few weeks. Here is a short summary of each; the linked GitHub release has the full notes. Run yoe update to pick up the latest.
v0.14.1
- TUI fixes. Switching machine or distro keeps your target image, leaving Setup returns the cursor to the target image, and the unit detail page shows elapsed time while a build runs.
v0.14.2
- Source downloads retry when a mirror returns a server error or times out.
- Nightly board builds cover Debian and Ubuntu, so Raspberry Pi 5 and BeaglePlay images are built for all three distros each night.
- Fixes for
attron musl and readline terminal support, which had stopped BeaglePlay images building on Alpine.
v0.14.3 through v0.14.5
- More resilient fetching. Units can list alternate download locations, all downloads use HTTP/1.1 to avoid endpoints that reset HTTP/2 mid-file, and a transfer that goes silent is abandoned and retried instead of hanging the build.
v0.14.6
- Grafana, VictoriaMetrics, and Simple IoT are available as units, installed from their published releases and working on Alpine, Debian, and Ubuntu. Adding
simpleiot-configandgrafana-configgives a device that comes up already collecting, storing, and graphing metrics. - Tasks can name the distros they apply to, so a package ships an OpenRC script on Alpine and a systemd unit on Debian and Ubuntu rather than carrying both everywhere.
- Downloads published without a file extension now install, and prebuilt bundles no longer ship yoe’s own bookkeeping, so the Grafana package is a third of its former size.
v0.14.7
- Site-wide mirrors. One entry in
PROJECT.starnames backup download locations for every package fetched from a host. - Two packages built from the same repository no longer race on the download, and
e2fsprogsfalls back to alternate hosts when kernel.org drops the connection.
v0.14.8
- Dev-mode modules track the whole remote, so branches you push appear as
origin/<branch>. - Debian is pinned by version number. New projects use
ref = "13"rather thanref = "trixie"; existing projects should update their pin.
v0.14.9
yoe module syncno longer overwrites work in a dev-mode module. It fast-forwards along the branch you are on and leaves the clone alone when it cannot.- Press
pon the modules tab to pull the module under the cursor without leaving the TUI. The HTTPS and SSH options now show their own addresses and mark the one in use.
v0.14.10
- Mark a disk as do-not-use on the flash page with
i, so an internal eMMC or backup drive cannot be picked by accident. The mark follows the physical device across reboots and ports. - BeaglePlay analog inputs work, with the on-board ADC under
/sys/bus/iio/devices. - Alpine images load drivers for hardware present at boot through a new
coldplugpackage. - New
libiioandiiod-initpackages for working with IIO sensors locally and over the network.
v0.14.11
- Git clones, module syncs, and dev mode retry when a host returns an error or stops responding.
- readline and gawk now come from GNU release tarballs instead of a git server that often stalled mid-clone.
- Ubuntu images build again after a
libiiodependency name change in Ubuntu 26.04.
Yoe is still in heavy development, so cleaning the build directory and re-creating projects with yoe init is recommended with each new release.