libwebsockets v4.3.0 Release Notes
-
- Add full CBOR stream parsing and writing support, with huge amount of test vectors and resumable printf type write apis See ./READMEs/README.cbor-lecp.md
- Add COSE key and signing / validation support with huge amount of test vectors cose_sign[1] ES256/384/512, RS256/384/512 cose_mac0 HS256/384/512 See ./READMEs/README.cbor-cose.md
- JIT Trust: for constrained devices, provides a way to determine the trusted CA certs the peer requires, and instantiate just those. This allows generic client browsing without the overhead of ~130 x.509 CA certs in memory permanently. See ./READMEs/README.jit-trust.md
- Add support for client Netscape cookie jar with caching
- Secure Streams: issue LWSSSCS_EVENT_WAIT_CANCELLED state() when lws_cancel_service() called, so cross-thread events can be handled in SS
- Actively assert() on attempt to destroy SS handles still active in the call stack, use DESTROY_ME returns instead so caller can choose how to handle it.
- Improved Client Connection Error report strings for tls errors
- SMP: Use a private fakewsi for PROTOCOL_INIT so pts cannot try to use the same one concurrently
- MbedTLS v3 support for all release changes, as well as retaining support for v2.x
- MQTT client: support QoS2
- Event lib ops can now be set at context creation time directly, bringing full event lib hooking to custom event loops. See minimal-http-server-eventlib-custom
- Extra APIs to recover AKID and SKID from x.509 in mbedtls and openssl
- Improve http redirect to handle h2-> h2 cleanly
- IPv4+6 listen sockets on vhosts are now done with two separate sockets bound individually to AF_INET and AF_INET6 addresses, handled by the same vhost listen flow.
- Improved tls restriction handling
- Log contexts: allow objects to log into local logging contexts, by lws_context, vhost, wsi and ss handle. Each context has its own emit function and log level. See ./READMEs/README.logging.md
- Upgrade compiler checking to default to -Werror -Wall -Wextra
- Fault injection apis now also support pseudo-random number binding within a specified range, eg, --fault-injection "f1(10%),f1_delay(123..456)"
- Remove LWS_WITH_DEPRECATED_THINGS, remove master branch
- Interface binding now uses ipv6 scoring to select bind address