Storage:
- Filter inputs for the Available images table (matches filename,
detected family, category, source) and the Unattended files list
(name, kind). Pure client-side; shown when there's more than one
entry. Forty-image libraries are now navigable.
Hosts — one form, one mental model:
- The separate Boot rules card is gone. The Pin form gains
'Architecture (optional)' next to Label (plus the v0.7.1 boot-binary
pin): a full MAC with no architecture saves a per-host pin exactly as
before; a MAC prefix and/or architecture saves a first-match-wins
group rule. Saved rules render as a compact read-only 'Group rules'
card with remove buttons.
- The boot-decision webhook keeps working via /api/boot-rules but no
longer has a UI knob (operator feedback: not needed in the UI).
- Per-machine auto-deploy fields are rejected on group rules with a
clear message (they're per-host values).
Network:
- New 'Link' row under NIC name: operstate · speed · duplex · port MAC,
read from sysfs at startup (detect_link_info). Empty-degrades on
non-Linux dev builds and virtual NICs. Confirms WHICH physical port
answers PXE in multi-NIC/trunked environments.
About:
- Hero copy rewritten: positioning lead, three-pillar feature grid
(Boot anything / Adapt to every machine / Run it in production), and
the privacy + no-test-cert principles restated crisply.
Spacing:
- label.field:has(+ button) collapse fixes the doubled 30px gap above
Queue 'Launch for all waiting' and Network 'Save' (now the same 16px
as every other card action).
Validation: clippy clean, fmt clean, 299 workspace tests green, webui
syntax-checked. No protocol or boot-path changes in this release.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>