• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / sonde / 24151899330
82%

Build:
DEFAULT BRANCH: main
Ran 08 Apr 2026 06:34PM UTC
Jobs 1
Files 85
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Apr 2026 06:31PM UTC coverage: 81.607% (-0.06%) from 81.666%
24151899330

push

github

web-flow
feat: centralize workspace version to 0.4.0 and add `firmware_version` to WAKE (#690)

* feat: centralize workspace version to 0.4.0 and add irmware_version to WAKE

Centralize version management across the sonde workspace:

- Add [workspace.package] version = "

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* style: apply rustfmt formatting

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address PR review feedback

- Modem: use CARGO_PKG_VERSION_{MAJOR,MINOR,PATCH} env vars instead of
  manually parsing CARGO_PKG_VERSION. Adds explicit range checks and
  handles pre-release suffixes safely.
- Registry: take firmware_version: String by value in update_telemetry
  to avoid redundant allocation on the WAKE hot path.
- State bundle: persist firmware_version through export/import round-trips
  via new CBOR key NODE_KEY_FW_VERSION (14). Optional for backward compat.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: validate firmware_version length and ASCII on decode

Add length cap (32 bytes) and ASCII-only check to get_string() in the
protocol message decoder. Prevents unbounded allocation from malicious
or buggy peers sending oversized CBOR text values for firmware_version.

Add tests for oversized and non-ASCII firmware_version rejection.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address second round of PR review feedback

- protocol.md: document exact wire constraints for firmware_version
  (ASCII-only, max 32 bytes) instead of saying "semantic version".
- protocol.md: reword evolution rules to explicitly allow pre-1.0
  breaking changes, resolving inconsistency with the additive-only rule.
- engine.rs: move firmware_version into update_telemetry instead of
  cloning, read back from updated_node for the event payload.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Signed-off-by: Alan Jowett <alan.jowett@microsoft.... (continued)

58 of 87 new or added lines in 7 files covered. (66.67%)

2 existing lines in 2 files now uncovered.

21274 of 26069 relevant lines covered (81.61%)

140.72 hits per line

Uncovered Changes

Lines Coverage ∆ File
19
91.77
-0.96% crates/sonde-modem/src/bridge.rs
6
87.93
-0.29% crates/sonde-gateway/src/sqlite_storage.rs
3
82.32
-0.07% crates/sonde-gateway/src/state_bundle.rs
1
94.9
-0.2% crates/sonde-protocol/src/messages.rs

Coverage Regressions

Lines Coverage ∆ File
1
92.07
0.11% crates/sonde-gateway/src/engine.rs
1
82.32
-0.07% crates/sonde-gateway/src/state_bundle.rs
Jobs
ID Job ID Ran Files Coverage
1 24151899330.1 08 Apr 2026 06:34PM UTC 85
81.61
GitHub Action Run
Source Files on build 24151899330
  • Tree
  • List 85
  • Changed 7
  • Source Changed 7
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24151899330
  • 2bbe37f4 on github
  • Prev Build on main (#24145123111)
  • Next Build on main (#24152690355)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc