Releases: litespeedtech/lsquic
Releases · litespeedtech/lsquic
Zero-RTT bugfix release
- [BUGFIX] Begin negotiation with version provided in 0-RTT info.
- [BUGFIX] Version checking in zero_rtt deserialize function.
0-RTT support; bug fixes; Windows works again
- [FEATURE, API Change] 0-RTT support. Add function to export 0-RTT information; it can be supplied to a subsequent connect() call.
- [FEATURE] Add -0 flag to http_client to exercise 0-RTT support.
- [BUGFIX] Resuscitate the Windows build.
- [BUGFIX] Send HTTP settings (max header list size) if necessary.
- [BUGFIX] Buffered packets can contain ACK frames.
- [BUGFIX] Make packet writeable once all STREAM frames are elided.
- [BUGFIX] Fix potential null dereference when realloc fails.
- cmake: simplify build configuration.
Bug fixes and performance improvements
- [API Change] Can specify clock granularity in engine settings.
- [BUGFIX] Pacer uses fixed clock granularity. Since the change on 2018-04-09, it is not necessary to try to approximate the next tick time in the pacer: it can use fix clock granularity specified by the user.
- [BUGFIX] Do not tick constantly before handshake is done.
- [BUGFIX] Do not exit tick prematurely: reuse packet with ACK. Even if we cannot allocate more packets, we could still be able to write o one already allocated.
- [BUGFIX] Do not schedule pacer if there are no lost packets.
Optimizations for immediate write code paths
Release 1.17.15 - [BUGFIX] http_client: make sure only one read per on_read() callback is performed in the header conversion bypass (-B) mode. - http_client: with -E, assign random priority when stream is created. - [OPTIMIZATION] On immediate write, place an ACK frame into the first buffered packet if an ACK is queued. This reduces the number of standalone ACK packets. - [OPTIMIZATION] Allow placing more than one STREAM frame from the same stream into an outgoing packet. This change minimizes the number of buffered packets required to store several small HTTP messages by virtue of allowing more than one STREAM frame from HEADERS stream in the same packet. - [OPTIMIZATION] Flush headers when writing to buffered packets. This causes the headers to be written to the same buffered packet queue, thereby improving packet utilization, especially for small HTTP messages.
Client fixes and optimizations
Release 1.17.14 - [FEATURE] http_client can now collect stats: time to connect, TTFB, time to download, requests per seconds, and bandwidth. See -t flag. - [BUGFIX] http_client: -B, -K, and -r can be used at the same time. - [BUGFIX] http_client: do not display cert chain before each request. Now this is only done once per connection, if the handshake is successful and -a option is given. - [BUGFIX] Do not wait to dispatch on_close() after reading. If a stream is scheduled to be closed after on_read() callback returns, close it immediately instead of waiting until the end of the tick. If client creates new request from on_close() event, they will be processed in the same tick instead of waiting for the next one. - [BUGFIX] HEADERS stream is critical: always treat it with highest priority.
Sample program can send parallel requests in a single connection
1.17.12 Update header file and changelog: release 1.17.12
FIx strict aliasing when compiling with optimizations
Release 1.17.11 Fix strict aliasing warning in when compiling with optimizations
Fix parallel connections in the sample client code
Release 1.17.10 Fix the example program to be able to use parallel connections again. (See the -n argument.)
[BUGFIX] Engine: reduce minumum batch size from 256 to 4
Release 1.17.9 [BUGFIX] Engine: reduce minumum batch size from 256 to 4
[BUGFIX] Compilation issues on FreeBSD and 32-bit Linux
Release 1.17.8 [BUGFIX] Fix compilation on FreeBSD and 32-bit Linux