Skip to content
This repository was archived by the owner on Jul 27, 2026. It is now read-only.

Releases: canboat/canboat-rs

v0.6.0

Choose a tag to compare

@keesverruijt keesverruijt released this 10 Jul 03:09
816fa60

0.6.0 (2026-07-10)

Features

  • analyzer: version banner with commit + units, and -si flag (57c6872)
  • canboat: add canboat binary with the convert subcommand (f3a1f78)
  • canboat: add interface subcommand over the unified device layer (85eacb0)
  • canboat: add replay subcommand + shim, retire the replay crate (1b23267)
  • canboat: argv[0] shims + install-shims for the retired tool names (95eb414)
  • canboat: close convert/interface flag gaps for legacy shims (d9d81f3)
  • canboat: drop the nif2analyzer shim (ef3a0e9)
  • canboat: fold n2kd into canboat, retire the standalone bin (0fabfa5)
  • canboat: move canboat-pipeline in as the server subcommand (f2b2d99)
  • canboat: move canboat-tui in as the tui subcommand (c81b912)
  • convert: add YDWG02, Actisense ASCII, and Actisense EBL output (2cc390d)
  • convert: default --to to json instead of plain (5d616a9)
  • convert: surface supported input/output formats in --help (6feb9ba)
  • core: accept PGN/field constants in the encoder (429a040)
  • core: consume camelCase analyzer JSON; dispatch NMEA 0183 by variant id (df4d901)
  • core: DecodedPgn::iso_name — the ISO NAME from decoded fields (52eca80)
  • core: encode all self-contained field datatypes (87dd92b)
  • core: generate compile-time PGN/field id constants (6b35420)
  • core: normalize emitted timestamps to canonical ISO-8601 UTC (30c9e46)
  • core: SI/Metric unit schemas, message encoder, and format-message (4f89109)
  • io: read Actisense .ebl captures as input (08f08eb)
  • n2kd: apply the per-NAME NMEA 0183 filter in the daemon (919e6d9)
  • n2kd: consume the analyzer units banner; convert per requested unit (8b2588f)
  • n2kd: filter control channel — apply Set frames, emit Reports (8f26e29)
  • server: add --quirk wmm and encode all self-contained field datatypes (4822779)
  • server: add --quirk wmm, process quirks from decoded PGNs (d3bdbab)
  • server: add --si to decode JSON ports in SI base units (80eac72)
  • server: dedicated bidirectional NMEA 0183 filter control port (60d89cd)
  • server: emit version/units banner on snapshot + analyzer ports (59b34c5)
  • server: key camelCase snapshot by pgn id, unwrap records (131a6b6)
  • server: own PGN-rate overrides; add TUI Overrides view (326a90c)
  • server: own PGN-rate overrides; add TUI Overrides view (54de770)
  • tui: consume server --camel by canonicalizing records at ingestion (b2781e5)
  • tui: forget persisted overrides the bus NAKs (7e7ad16)
  • wire: declare + convert units across the handshake (fd5f16d)

Bug Fixes

  • core: key JSON message wrapper on -camel mode, drop timestamp bridge (333987a)
  • io: only warn on FAST-mislabel when no PGN variant fits in 8 bytes (838fd40)
  • server: emit coalesced messages on the raw port, not fragments (69cd3f8)

v0.5.0

Choose a tag to compare

@keesverruijt keesverruijt released this 06 Jul 05:18
18723eb

0.5.0 (2026-07-06)

Features

  • io: read Navico .nif and SocketCAN .pcap captures (5e5ccfc)
  • io: read Navico .nif and SocketCAN .pcap captures (9821de7)
  • tui: Turbo Pascal UI — menus, file browser, async save, faster timeline (787ea93)
  • tui: update UI to Turbo Pascal like — menus, file browser, async save, perf & fixes (4b7cc18)

Bug Fixes

  • core: decode STRING_LAU with 0xff encoding byte as an empty field (987fe13)
  • core: decode STRING_LAU with 0xff encoding byte as empty (6b9b4d3)
  • core: parse canboat's dash-separated timestamp in parse_iso_ms (1fc507d)
  • tui: keep the PGN-load rate bar visible on the selected row (17164e2)
  • tui: label on-request PGNs "on request" instead of a fake cadence (82484ad)
  • tui: PGN-load rate is occurrences over capture duration (dd74c1a)
  • tui: show a robust median cadence for the device-detail "every" (b62190e)

v0.4.0

Choose a tag to compare

@keesverruijt keesverruijt released this 05 Jul 08:30
a926bce

0.4.0 (2026-07-05)

Features

  • canboat-core: decode ISO_NAME dynamic field values (43cc23b)
  • canboat-core: vendor schema inside the crate, pin + gate upstream sync (76865fb)
  • canboat-pipeline: binary WirePgn transport, canonical pipeline ports, performance (465a138)
  • canboat-pipeline: live control channel for the NMEA0183 filter (f13dbd5)
  • canboat-pipeline: per-device NMEA0183 filter keyed by NAME (c2b1a73)
  • canboat-pipeline: per-device NMEA0183 filter with live control channel and TUI (37500ab)
  • canboat-pipeline: rate-limit NMEA0183 output to 1 Hz (cf5a171)
  • canboat-pipeline: rate-limit NMEA0183 output to 1 Hz (5259eb6)
  • canboat-tui: NMEA0183 filter mode (d124ea4)
  • canboat-wire: binary WirePgn transport for pipeline consumers (dd2dbe9)
  • startup banner with binary version and canboat.json version (40cf05a)

Bug Fixes

  • canboat-core: don't let frame 0 complete a fast packet off stale bits (3544487)
  • canboat-core: don't let frame 0 complete a fast packet off stale bits (1d04646)

Performance Improvements

  • canboat-pipeline: batch TCP output, serialize JSON once per record (8f37772)
  • canboat-pipeline: batch TCP output, serialize JSON once per record (4956f9b)

v0.3.0

Choose a tag to compare

@keesverruijt keesverruijt released this 04 Jul 04:12
7906a21

0.3.0 (2026-07-04)

Features

  • analyser: compile canboat.json into the canboat-core crate (4036686)
  • canboat-core: ISO Transport Protocol reassembly (0202997)
  • canboat-tui: connecting modal + fatal-error modal (26b6a68)
  • canboat-tui: correct interval in log mode + hide age (a2ef747)
  • canboat-tui: interactive TUI for n2kd / canboat-pipeline (9aae7ab)
  • canboat-tui: log-file replay mode + analyzer library extraction (b57828c)
  • canboat-tui: measured transmission interval per PGN row (f0a1bbe)
  • canboat-tui: persistent NAME → info cache + return-to on EntryDetail (c4774d6)
  • canboat-tui: require --host or --log; suppress connect modal in log mode (cc77dc5)
  • canboat-tui: scrollable entry-detail screen (53b4523)
  • canboat-tui: surface non-OK PGN 126208 ACKs as status-bar alerts (0c2ccef)
  • canboat-tui: TimeView + per-entry history + ←/→ instance nav (b4eaed7)
  • canboat-tui: TimeView search + PGN filter + source multi-select (842c1ba)
  • canboat-tui: writable-gated overrides; show silenced PGNs (438a225)
  • embed copyright string in help texts, logs, and source files (5953248)

Bug Fixes

  • accept up to 1785-byte payloads + route TUI logs to a file (e38e110)
  • canboat-core: prefer specific no-Match variant over Fallback range catch-all (cf2750a)
  • canboat-core: treat PGN 126464 Function Code as primary-key (e74ffac)
  • canboat-tui: advertise t timeline in Devices + DeviceDetail hints (85f91c6)
  • canboat-tui: bump connect timeout to 10s (5958582)
  • canboat-tui: emit PGN 126208 Request (fn 0), not Command (fn 1) (b1e629b)
  • canboat-tui: non-blocking startup with bounded connect timeouts (ebdd321)
  • canboat-tui: per-screen keybinding hint bars (586243b)
  • canboat-tui: preserve field order in entry-detail JSON view (1adefa9)
  • canboat-tui: round measured interval to a stable step (7be0f0e)
  • canboat-tui: stop column-shift on first ↓ in device list (9827575)
  • repair stale oversized-len test, emit C's match pseudo-unit in text mode (cd843da)