You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,27 @@ The revived semantic-versioning baseline starts at `v5.0.0`.
6
6
Historical releases that predate this file remain available in Git tags such as
7
7
`v1.0.0`, `v3.0.0`, `v4.0.0-beta`, and `h10`.
8
8
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)
0 commit comments