Upgrade Notes
-
Lager rewrote its user-facing messages to one written standard. Command
output, error text and help strings now follow ASD-STE100. The wording
changed across the whole CLI. Scripts that match on message text can break.
A test suite in this repository broke this way: it matched
could not connect to the box|may be offline, and both strings became different sentences. If your automation greps Lager output, check those patterns against this release. Exit codes did not change. -
lager debug <net> statusreports two states, and the Lager Box must be updated. The box reported oneconnectedflag that meant “the gdbserver process is alive”. Commands ran against a target that was not attached. The box now reportsgdbserver_runningandtarget_attachedseparately, and the CLI prints both.connectedkeeps its old meaning, so an older CLI behaves as before.target_attachedhas a third value,Unknown, for a box that cannot answer. Runlager update --box <box-name>to get this. -
The box python service no longer serves
/pip. Its only caller addressed a port and a path that the box never served, so both halves were dead code. Update your boxes to a release that contains this change. -
lager installdeploys a firewall allowlist. Provisioning writes one allowlist that matches the ports the Lager Box publishes. Every rule namesproto tcp. An install on a host with its own firewall rules can need review. -
LAGER_DISABLE_UART_SERVICEfrees port 9000. The variable disabled the service but left the port bound. Anything that relied on port 9000 staying occupied will now find it free.
Features
-
The Net-Manager Add screen makes LabJack I2C/SPI pins changeable. Readers
saw
Ch: FIO4-FIO5and read it as a fixed assignment. A row’s pencil button now opens a combined editor for the name and the pins. The screen carries a dismissable notices block that states the pins are defaults. - A second device of one model no longer disables that instrument family. Lager decides net creation by address ambiguity, not by instrument model. Two Acroname hubs now yield sixteen usb nets. Two LabJack T7 units stay refused, because a T7 reports no serial number.
-
The Rust API reference mirrors the Python one, page for page.
Router,Arm,Webcam,Wifi,AnalogandLogicgained MCP API reference pages. A guide for running Lager from CI is new.
Bug Fixes
-
lager debugcommands ran against a target that was not there. Theconnect()check asked the gdbserver about itself, which answers with no part attached.flash,reset,erase,memrdand the RTT paths all ran believing they were connected. -
A box install failed at the firewall step.
ufwrefuses a port range that names no protocol, so the first range stopped the script andlager installexited 1 with nothing configured. - Per-probe runtime file paths are built from a checked serial number. A probe’s pid and log file names come from a field of a net’s address that accepts almost anything. Each path is now checked where it is built.
-
lager logic measure,triggerandcursorresolve a logic net again. - The supply suites wait for the output to reach regulation. They slept a fixed interval and read the supply before it settled.
-
A
lager pythonconnection error printed the literal{box_ip}. The hint was a plain string, not an f-string. -
The scope’s
SUPPORTED_USBkey spelled the Rigol MSO5204 with a zero. The correct spelling works now, and the old spelling still resolves. -
lager box config applyreports what the container-side package steps did. The box no longer advertises host URLs that it does not publish.
Improvements
- Sixteen
reference/cli/pages, fourteenlagercommand pages, the Python API reference, the Rust API reference and the root prose files follow ASD-STE100. A CI gate holds them there. tools/check_docs.pychecks the documentation against the shipping CLI, andmint broken-linksruns in the static-checks gate.- The Architecture page draws its diagrams. Four of its claims about the Lager Box were wrong and are corrected.
- The Release Notes navigation groups 158 entries into five version ranges.
Known Limitations
- Two LabJack T7 units on one Lager Box stay unsupported. A T7 reports no serial number and the scanner does not address it by topology, so two of them enumerate as the same address. A net cannot say which one it means. The message now states this instead of telling the reader to unplug extras.

