libwebsockets v4.2.0 Release Notes
-
- Sai coverage upgrades, 495 builds on 27 platforms, including OSX M1, Xenial, Bionic and Focal Ubuntu, Debian Sid and Buster on both 32 and 64-bit OS, and NetBSD, Solaris, FreeBSD, Windows, ESP32. Ctest run on more scenarios including all LWS_WITH_DISTRO_RECOMMENDED. More tests use valgrind if available on platform.
- RFC7231 date and time parsing and retry-after wired up to lws_retry
LWS_WITH_SUL_DEBUGGING
checks that no sul belonging to Secure Streams and wsi objects are left registered on destruction- Netlink monitoring on Linux dynamically tracks interface address and routing changes, and immediately closes connections on invalidated routes.
- RFC6724 DNS results sorting over ipv4 + ipv6 results, according to available dynamic route information
- Support new event library, sdevent (systemd native loop), via
LWS_WITH_SDEVENT
- Reduce .rodata cost of role structs by making them sparse
- Additional Secure Streams QA tests and runtime state transition validation
- SMD-over-ss-proxy documentation and helpers to simplify forwarding
- SSPC stream buffering at proxy and client set from policy by streamtype
- Trigger Captive Portal Detection if DNS resolution fails
- Switch all logs related to wsi and Secure Streams to use unique, descriptive tags instead of pointers (which may be reallocated)
- Use NOITCE logging for Secure Streams and wsi lifecycle logging using tags
- Update SSPC serialization to include versioning on initial handshake, and pass client pid to proxy so related objects are tagged with it
- Enable errors on -Wconversion pedantic type-related build issues throughout the lws sources and upgrade every affected cast.
- Windows remove WSA event implementation and replace with WSAPoll, with
a pair of UDP sockets instead of pipe() for
lws_cancel_service()
lws_strcmp_wildcard()
helper that understand "x*", "x*y", "x*y*" etcLWS_WITH_PLUGINS_BUILTIN
cmake option just builds plugins into the main library image directly- Secure Streams proxy supports policy for flow control between proxy and clients
- libressl also supported along with boringssl, wolfssl
- prepared for openssl v3 compatibility, for main function and GENCRYPTO
- Fault injection apis can confirm operation of 48 error paths and counting
LWS_WITH_SYS_METRICS
keeps stats and reports them to user-defined function, compatible with openmetrics- windows platform knows how to prepare openssl with system trust store certs
LWS_WITH_SYS_CONMON
allows selected client connections to make precise measurements of connection performance and DNS results, and report them in a struct- New native support for uloop event loop (OpenWRT loop)
- More options around JWT
- Support TLS session caching and reuse by default, on both OpenSSL and mbedtls
- Many fixes and improvements...