Overview
This release adds fixes and improvements, and more examples.
Important Changes
- Mongoose built-in TCP/IP stack now has a driver for SDIO, e.g.: the Murata Wi-Fi modules in the Arduino Portenta H7 and Infineon CY8CPROTO-062S2-43439
- Added support for Renesas RA8
- Added
MG_ARCH_TREADX
, supporting Eclipse ThreadX and NetXDuo. - Function
mg_millis()
now autodetects the STM32 HAL, a custom time base function no longer needs to be provided - Added
MG_ARCH_CUBE
, this autodetects time base and random number generator, and removes the need to provide custom functions - Renamed
MG_ARCH_NEWLIB
toMG_ARCH_ARMGCC
. The former name is still accepted, but it will be deprecated in a further release this year - The
is_tls
flag is now set when callingmg_listen()
andmg_connect()
, TLS connections no longer need to parse the URL at connect/accept time in order to initiate the handshake; just check that flag. The URL is still needed when host name validation is required - When using Mongoose built-in TCP/IP stack,
mg_send()
andmg_io_send()
now return failure when UDP fails to send a datagram - Fixed DNS client and built-in TCP/IP stack interactions preventing proper functioning of local DNS servers and numeric addresses for non-local SNTP servers
- Built-in TLS now is able to validate RSA certificates and use either SAN or CN for host name validation
Minor changes
- Allowed tildes in URIs and HTTP header values
- Improved built-in TCP handling of connection start and connection closure
- Improved built-in TLS 1.3 client connection start
- Improved TLS operation under high load in socket environments
- Improved Zephyr support, updated to LTS version 3.7 and stable 4.2.0
- Built-in TCP/IP stack now accepts TCP Keep-Alive probes from erroneous implementations
- Introduced
mg_calloc()
andMG_ENABLE_CUSTOM_CALLOC
, to collaborate with custom memory handling - Using
select()
now has a minimum 1ms wait time, instead of no wait, same as how usingpoll()
behaves - Added more embedded examples using Wi-Fi, including Arduino Portenta H7 with STM32CubeIDE and RW612 with MCUXpresso
- Changed more embedded examples to make use of our Wizard
- Added verbose MbedTLS error logging
- Built-in TCP/IP and TLS can now be built on C89 compilers
- Improved built-in TLS testing
- Improved test coverage