|
1 | 1 | # NEWS |
2 | 2 |
|
3 | | -## libmodbus 3.2.0 (2026-07-XX) |
| 3 | +## libmodbus 3.2.0 (2026-07-02) |
4 | 4 |
|
5 | 5 | - Add `modbus_proxy()` to bridge two Modbus backends (closes #70). |
6 | 6 | - Add termios2 support to allow custom baud rates (RTU). |
|
37 | 37 | - modbus-rtu: report a failure to restore termios settings on close. |
38 | 38 | - `modbus_new_rtu`: reject negative baud rates. |
39 | 39 | - modbus-tcp: guard `freeaddrinfo()` against NULL on resolver failure. |
| 40 | +- `modbus_new_tcp`: NUL-terminate the IP string when `ip` is NULL. |
| 41 | +- `modbus_reply`: validate FC22 request length before writing the register. |
| 42 | +- modbus-tcp: keep `ctx->s` consistent across failed or repeated connects (no |
| 43 | + false success on a stale descriptor, no socket leak on reconnect). |
| 44 | +- modbus-tcp: don't override the user error recovery mode in the flush overflow |
| 45 | + path. |
| 46 | +- modbus-tcp: fully initialize the sigaction struct for the SIGPIPE handler on |
| 47 | + BSD. |
| 48 | +- modbus-rtu: fix the Windows serial handle lifecycle (initialize the handle, |
| 49 | + guard close against a never-opened handle and reset it after close). |
| 50 | +- modbus-rtu: sleep the RTS turnaround delay in chunks to stay portable with |
| 51 | + `usleep()`. |
| 52 | +- `modbus_new_rtu`: validate `data_bit` and `stop_bit` arguments. |
| 53 | +- `modbus_send_raw_request_tid`: reject NULL `raw_req` with `EINVAL`. |
| 54 | +- `modbus_get_byte_from_bits`: remove an always-false assert and clamp `nb_bits` |
| 55 | + consistently in debug and release builds. |
| 56 | +- Preserve errno across the Windows error-recovery paths. |
| 57 | +- tests: don't kill the unit test server on RTU bad-CRC frames. |
| 58 | +- tests: fix integer overflow in the bandwidth-client rate computation. |
40 | 59 |
|
41 | 60 | ## libmodbus 3.1.12 (2026-02-13) |
42 | 61 |
|
|
0 commit comments