Overview
This release adds fixes and improvements, and more examples.
Important Changes
- Improved TLS handling
- Improved ARP and UDP handling in LANs
- Fixed IP fragmentation detection in big-endian architectures
- MG_IO_SIZE defaults now to 256 on embedded platforms
- mg_http_serve_opts.mime_types now accepts a user settable default for unknown file types
- Improved mg_random() strength, changed function signature to
bool mg_random(void *buf, size_t len)
- TLS now aborts on weak RNGs (e.g.: when mg_random() returns
false
) - Renamed
ARCH_RP2040
toARCH_PICOSDK
- Added support for the RNG in Pico-SDK
- Added support for RP2350 and W5500-EVB-Pico2
- Added support for TMS570 and the ARM-CGT compiler
- Refactored the OTA firmware update API
- Added support for OTA firmware update in most supported platforms
Minor changes
- Improved HTTP handling of connection closing and pipelined requests
- Added the macro
MG_TCPIP_IFACE(mgr)
to access elements of the built-in TCP/IP stack interface, for example the IP address:MG_TCPIP_IFACE(mgr)->ip
- Updated support for the latest version of the Zephyr project
- Added more embedded examples
- Added bare metal support for the Raspberry Pi Pico W
- Many examples now default to using our built-in TLS, without preventing the use of other choices
- Changed many embedded examples to make use of our Wizard
- Continued reformatting the examples section
- Updated the AWS MQTT client example to work with Elliptic Curve keys
- Improved test coverage