v0.8.3
- mDNS via new
mdnsdunit — the dev-image now answers<hostname>.local
on the LAN, sossh user@yoe-dev.localworks without knowing the device's IP.
Uses troglobit/mdnsd (a small dbus-free mDNS responder) and ships a default
_ssh._tcpservice record so the host A record is advertised and SSH
discovery works for Bonjour-aware tools. - NTP at boot via new
ntp-clientunit — boards without a battery- backed
RTC (e.g., Raspberry Pi) booted at 1970, which broke TLS with "certificate is
not yet valid".ntp-clientdoes a blocking initial sync at S20 (retried a
few times to cover DNS settling right after udhcpc) so subsequent services
start with real time, then leaves a busyboxntpddaemon running to
discipline drift over uptime. Added todev-imageby default.base-files
also gets/var/runso daemons that write a pidfile have a place to put it. - Fix
simpleiotfailing to start at boot — the unit installed the binary
as/usr/bin/simpleiotbut its init script invoked/usr/bin/siot, so
booting the dev image showedsiot: not foundand the service never ran. The
binary now installs assiotto match upstream.go_binarygains abinary
kwarg for cases where the installed command name should differ from the apk
package name. - Per-developer machine override via
local.star— when you switch machines
from the TUI's setup view, yoe now writeslocal.starat the project root
with your selection. Subsequentyoecommands use that machine without you
re-passing--machineevery time. The file is gitignored so each developer
can pin their own target.--machineon the command line still wins. yoe flash listand TUI device picker —yoe flash listenumerates
removable USB sticks and SD cards (filtered against the disk hosting the
running system). In the TUI, pressingfon an image unit opens a device
picker with a live progress bar during the write.yoenever invokessudo
itself; if the device isn't writable, it prompts once for consent and runs
sudo chown <you> /dev/....- Honest flash progress —
yoe flashnow opens the target device with
O_DIRECTso writes bypass the kernel page cache and the progress bar tracks
actual device throughput. Previously the bar could hit 100% with hundreds of
MB still buffered in RAM, freezing the UI for tens of seconds during the final
flush. WithO_DIRECTthe wait is paid out across the write itself, and
"Flash complete" appears when the data is really on the card. - Fix
yoe flashrejecting non-system disks —flashpreviously refused to
write to/dev/sda,/dev/nvme0n1, and/dev/vdaregardless of the actual
layout. It now detects which disk hosts the running system (/,/boot,
/boot/efi,/usr) and refuses only that disk, so flashing to a USB or
external SATA drive named/dev/sdaworks on machines whose root is on NVMe. - Fix images silently shipping without packages — if an artifact's apk was
missing from the local repo (e.g., its build was cancelled), the image used to
build anyway with awarning: package X not found, skippingand produce a
kernel-panicking rootfs. Image assembly now hard-fails with a clear message
naming the missing package. The build cache now also treats a unit as
out-of-date when its apk has gone missing, and rebuilding any unit invalidates
its dependents — so reruns auto-recover instead of reusing stale outputs.
To update, run: yoe update
Or download the binary for your architecture and place it in your PATH.
Note: Yoe-NG is in heavy development. We recommend cleaning your build directory and re-creating projects (yoe init) with each new release.