Minimal Router OS v0.1.6
Status: Beta / controlled pilot
v0.1.6 is a dashboard release. It standardises the table and form presentation
across every page, adds a selectable appearance for the dashboard shell, and
repairs several defects found while that work was in progress. There are no
routing, firewall, DHCP or update-trust behaviour changes in this release.
Highlights
- Selectable appearance. The topbar carries an appearance switcher offering
the default look plus three alternatives: Console (dense operator console,
monospaced figures, hairline grid), Atelier (spacious, settings-app rows,
soft elevation) and Topology (network-first, teal, addressing in mono).
The choice is remembered per browser and is independent of the existing
light/dark control, so each appearance has both a light and a dark form. - A skin is a CSS layer keyed off
data-skinon the document element. It
remaps the--classic-*tokens the shell already reads and applies a focused
set of structural overrides on top. The default appearance ships no stylesheet
at all, so an appliance where nothing is selected renders exactly as v0.1.5
did. - Unified table standard across the remaining pages, so connected devices,
reservations, port forwards, firewall rules, WireGuard peers, snapshots and
audit events share one row, header and action presentation. - Compact form standard across all pages, with LAN & DHCP grouped into
labelled WAN / LAN / DHCP / DNS sections and per-section save actions. - Offline devices can be woken with a Wake-on-LAN magic packet; firewall rules,
WireGuard peers and DHCP reservations can be edited in place. - Connected devices show a per-device traffic column, and Gateway Health shows
service recovery action tiles alongside public-IP history. - Application memory is reported separately from reclaimable file cache.
- Configuration snapshots can be deleted from the dashboard.
- Boot activity is sampled at one-second resolution.
Fixes
- WAN / PPPoE fields collapsed to zero width. The fieldset heading was
floated to pull it off the border line, and the following element cleared that
float. In the demo build the element immediately after the heading is the WAN
toggle, which is hidden and therefore clears nothing, so the field grid was
laid out beside a full-width float. Headings now sit in normal flow inside the
card and the float is gone. - Fieldset groups lost their accessible name when those headings stopped
being<legend>elements. Each group is now named witharia-labelledby
pointing at its heading, so screen readers announce the group again. - Connected devices no longer reported
Online. The unified table work
replaced the online state with the lease countdown alone. The state and the
countdown are both shown again, as documented for v0.1.5. - Device tables no longer overflow their containers.
- Runtime React source no longer carries inline style objects; the affected
column widths and two element styles moved to stylesheets. - Executable bits are preserved for distribution integration files.
GitHub Pages demo
The Pages job publishes the demo unchanged at the site root and additionally
publishes a standalone design gallery at /design/, which presents the four
LAN & DHCP appearances side by side in both light and dark for comparison
without running the appliance. The gallery is a static page built from the same
mock data as the demo; it is not part of the appliance image.
Validation
The exact release-candidate commit must pass all seven required workflows: CI,
CodeQL, Secret scan, Deep validation, Performance, Service supervision and
Appliance ISO. Dashboard coverage includes the Playwright matrix across
Chromium, WebKit, mobile WebKit and mobile Chromium for both the production and
demo builds.
The Golden ISO gate is unchanged from v0.1.5 and still covers clean-disk
installation, installed cold boot without the ISO attached, firstboot
non-reentry, SSH and Dashboard/API readiness, forced routerd crash recovery
under supervision, warm reboot, refusal to overwrite an existing MinimalRouter
disk and refusal to install onto an undersized disk.
Scope and pilot status
v0.1.6 remains a Beta / controlled pilot release and inherits the v0.1.5
pilot conditions unchanged. Because this release does not alter routing,
firewall, DHCP, WireGuard or update-trust behaviour, an appliance already
qualified on v0.1.5 does not need to repeat the full network validation matrix;
the owner lab should still confirm the dashboard reaches the appliance and that
the appearance control behaves on the browsers actually used.