- Search bar clears with
Ctrl+U. Readline's kill-line shortcut wipes the
query input back to a blank bar in one keystroke — faster than holding
Backspace or pressing\to snap to the saved default. Live-applied like a
backspace, so the unit list updates to "showing all" immediately. - Tab completions show up under the query bar. When the search input can't
be advanced further (multiple equally-good matches), the candidate list now
renders as a vertical column directly under the query bar — closer to the
cursor than the previous horizontal blob at the bottom of the screen, and
easier to scan for the next character to type. Long lists truncate with a "(N
more — type a letter to narrow)" hint. - Fresh projects from
yoe initbuild out of the box. The generated
PROJECT.star now pinsxzto the Alpine module, matching the canonical
e2e-project template. Without this, kmod's depmod failed at image-assembly
time because module-core's xz is static-only and doesn't ship liblzma.so.5. - Switching a unit/module to dev mode transfers far less data. The
depth-limited fetch (last 100 / 1000 commits,last year,last month) now
narrows to the unit's pinned ref instead of fanning out across every branch
the upstream tracks, and adds--filter=blob:noneso file content comes down
on demand instead of all at once. For a Linux-kernel-sized repo that's the
difference between a multi-gigabyte fetch and tens of megabytes;git logand
git blamestill work, and missing blobs are fetched lazily when needed. - TUI
/makes refining an existing query faster. When you press/and
the active query is non-empty, the bar opens with a trailing space so you can
immediately type the next term — no need to press End or space first. A blank
query still opens empty. - Toggle any unit or module between pinned and dev mode from the TUI. A new
SRC column on the units and modules tabs surfaces whether each source dir is
yoe-managed (pin), tracking upstream (dev), has commits beyond upstream
(dev-mod), or has uncommitted edits (dev-dirty). Pressuon a unit's
detail page (or a module row) to switch between pin and dev — yoe asks whether
to rewrite origin to SSH, then how much history to fetch (full / last 1000
commits / last 100 commits) so the Linux kernel's full history doesn't have to
come down every time. A spinner runs while the fetch is in flight so you can
see something is happening. Once you're happy with adev-modHEAD,P
captures it back into the.starpin so other people building the project
pick it up. Adev*unit is left untouched at build time, soyoe build
won't overwrite your working tree or undo in-flight changes. - TUI size column no longer overflows on big artifacts. Sizes like a 1003
KiB kernel image render as1003Kinstead of1003.4K, keeping the column
aligned. The decimal still shows for small values (e.g.9.9K,1.2M) where
it carries useful precision. - Device hostname now matches the machine, not the image. A fleet of
raspberrypi4s flashed withdev-imageno longer all answer to
yoe-dev.local; each board comes up as<machine>.local(e.g.
raspberrypi4.local,qemu-x86_64.local) so they're distinguishable on the
LAN out of the box. Sethostname = "..."on an image to override (e.g. a
branded kiosk image). - TUI help bar reflects the active mode. While typing in the search bar, the
bottom help row swaps to the keys that actually work there (type filter,
tab complete,⌫ delete,enter apply,esc cancel) instead of pretending
b build,q quit, etc. still fire. Out of search-edit it shows the
navigation shortcuts as before. - Tab in the search bar always shows progress. When Tab can't advance the
input (multiple candidates with no common prefix to extend — most visibly when
you've just opened the bar, or typed a single ambiguous letter), the candidate
list now flashes in place of the help bar instead of silently doing nothing.
Single-candidate completions still splice in. Empty pool flashes "no
completions".
To update, run: yoe update
Or download the binary for your architecture and place it in your PATH.
Note: Yoe is in heavy development. We recommend cleaning your build directory and re-creating projects (yoe init) with each new release.