> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lagerdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Version 0.16.5

> April 27, 2026

## <u>Bug Fixes</u>

* **Keysight E36xxx supplies reporting `Enabled: OFF` after `enable`** — running `lager supply <net> state` (or any other read-only supply command) immediately after a successful `lager supply <net> enable` would report the output as `OFF` on Keysight E36200/E36300 series supplies. The `KeysightE36000` driver constructor was unconditionally calling `disable_output()` as a "safe default" on every connect, so each fresh CLI invocation silently turned the output off before running its query. The disable is now gated behind the explicit `reset=True` flag, so constructing a driver for a read (or for `enable`) no longer mutates output state.
* **EA PSB supplies briefly dropping output on re-enable** — `lager supply <net> enable` on an EA PSB 10060-60 / 10080-60 caused a brief (\~500ms) output drop when the output was already on. `EA.enable()` always ran `_clear_latched_events()` first, which writes `OUTPut OFF` and waits 200ms before turning the output back on. `enable()` is now idempotent: if `OUTPut?` reports the output is already on, the call returns immediately without toggling. The off→on path that needs latched-protection clearing is unchanged.
* **`lager supply <net> tui` closing silently on Rigol DP821** — the supply TUI was closing after \~5 seconds with no visible error whenever a direct supply command (e.g. `state`) had been run beforehand. The WebSocket supply monitor on the box was opening its own pyvisa session, conflicting with the cached VISA session held by `hardware_service.py` on port 8080. Instruments that don't tolerate concurrent USB sessions (Rigol DP821 reproduces this) hung silently and the TUI's 15-second wait for `supply_driver_ready` always timed out. The monitor thread now releases the cached handle (via `localhost:8080/cache/clear`) before opening its own session. As a defensive bonus, `get_channel_limits()` and the session-store block now emit a visible `error` event on any failure during init, and the CLI captures the TUI's exit reason and prints it red to stderr after Textual's alt-screen tears down — so failures no longer disappear with the screen restore.

## <u>Installation</u>

To install this version:

```bash theme={null}
pip install lager-cli==0.16.5
```

To upgrade from a previous version:

```bash theme={null}
pip install --upgrade lager-cli
```

## Resources

[View Release on PyPI](https://pypi.org/project/lager-cli/0.16.5/)
