Skip to content

Commit ce16863

Browse files
chore(release): prepare v6.2.0
1 parent e1b4570 commit ce16863

6 files changed

Lines changed: 22 additions & 1 deletion

File tree

.changesets/ethernet-diagnostics-forwarding.md renamed to .changesets/archive/v6.2.0/ethernet-diagnostics-forwarding.md

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,27 @@ The revived semantic-versioning baseline starts at `v5.0.0`.
66
Historical releases that predate this file remain available in Git tags such as
77
`v1.0.0`, `v3.0.0`, `v4.0.0-beta`, and `h10`.
88

9+
## v6.2.0 - 2026-07-09
10+
11+
### Features
12+
13+
- Add variable-length TCP orders, diagnostic forwarding, and flush throttling
14+
- `TcpOrderStreamParser` now supports variable-length orders: when an order's `get_size()` returns 0, all remaining stream data is passed to `parse()`, and the post-parse size is used for byte consumption. A `reset_for_receive()` hook is called after consumption so orders can reset state for the next packet.
15+
- `Order` gains a virtual `reset_for_receive()` no-op that subclasses can override.
16+
- `Socket` constructor no longer panics on `ERR_RTE` during `tcp_connect()` — sets `pending_connection_reset` instead, letting the connection retry when the route becomes available.
17+
- `OrderProtocolDiagnosticSink` now accepts a target `OrderProtocol*` via its constructor, so diagnostic records are sent to a single socket instead of broadcasting to all open sockets.
18+
- `DiagnosticTransportOrder` now parses incoming diagnostic orders (IDs 1555, 2555, 3000) and re-publishes them via `Hub::publish_runtime_*()`, enabling forwarding of remote board diagnostics to the control station.
19+
- `Diagnostics::Hub::flush_pending` throttles records to at most one per 100 ms per priority level (urgent and non-urgent tracked separately) to prevent flooding sinks.
20+
- Default TCP keepalive values tightened: 30 ms idle, 20 ms interval, 2 probes (commented out for now since it can't keep connection with the backend).
21+
- `lwipopts.h`: `MEMP_NUM_SYS_TIMEOUT` increased by 10 to avoid pool exhaustion with SNTP and whatever else it may happen, `TCP_TMR_INTERVAL` reduced to 10 ms for faster keepalive response.
22+
- Added `Diagnostics::install_ethernet_sink(OrderProtocol*)` to register the Ethernet sink with a specific target socket.
23+
- Makes the watchdog reset check block the system and have a visual indication similar to hardfault
24+
25+
### Fixes
26+
27+
- Fix a warning about symbols in HardfaultTrace (doesn't change any behaviour)
28+
- Adds a check to ensure return values from Scheduler::get_global_tick() are monotonic (never get decreasing values)
29+
930
## v6.1.3 - 2026-06-02
1031

1132
### Fixes

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.1.3
1+
6.2.0

0 commit comments

Comments
 (0)