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.
Bug Fixes
lager debug connectno longer hides the real Segger error behind anAttributeErrorwhen J-Link cannot reach the target. When J-Link’s multi-speed retry loop inbox/lager/debug/api.py:connect_jlinkexhausted without ever reaching the target,status['logfile']could be set toNoneinstead of being absent — sostatus.get('logfile', 'No log available')returnedNone, which was then passed intoclean_logfile_contentand crashed withAttributeError: 'NoneType' object has no attribute 'replace'. The crash masked the real Segger “Connecting to target failed” message that operators need to see in the dashboard. Two changes:connect_jlinknow usesstatus.get('logfile') or 'No log available'so the literal fallback fires for both missing andNonevalues, andclean_logfile_contentitself returns''when givenNoneas defense in depth for any future caller.
Internal
- Bumped seven transitive Rust dependencies in
box/oscilloscope-daemon/Cargo.lock(quinn-proto,rustls-webpki,time,bytes,tracing-subscriber,rand0.8 and 0.9 lines) to clear ten Dependabot security advisories on the daemon’s QUIC/TLS stack. Lockfile-only change; the daemon binary is built and deployed separately from the lager-cli pip package, so this has no runtime effect on existing boxes until the daemon is rebuilt. Verified with a full release build + libps2000 link on a Picoscope-equipped box.

