Releases: litespeedtech/lsquic
Releases · litespeedtech/lsquic
Fix memory leaks
- [BUGFIX] Memory leak in IETF full conn dtor: cleanup closed IDs sets.
- [BUGFIX] Memory leak: free pushed promise when refcnt is zero.
Minor bug fix; some refactoring
- [BUGFIX] Typo in new "validate peer addr by DCID" code. It is a benign bug (works either way), but better to fix it.
- Simplify Stream Priority Iterator (SPI).
- Minor documentation updates.
Features: ID-30, datagrams, adaptive CC support; bug fixes
- [FEATURE] QUIC and HTTP/3 Internet Draft 30 support.
- [FEATURE] Unreliable Datagram Extension support.
- [FEATURE] Adaptive congestion controller.
- [BUGFIX] Do not send MAX_STREAM_DATA frames on crypto streams.
- [BUGFIX] Fail with CRYPTO_BUFFER_EXCEEDED when too much CRYPTO data comes in.
- [BUFFIX] Spin bit is now strictly per path; value is reset on DCID change.
- [BUGFIX] Check that max value of max_streams_uni and max_streams_bidi TPs is 2^60.
- [BUGFIX] Close IETF mini conn immediately if crypto session cannot be initialized.
- Deprecate ID-28 (no browser uses it): it's no longer in the default versions list.
- New programs duck_server and duck_client that implement the experimental siduck-00 protocol. They quack!
- IETF crypto streams: don't limit ourselves from sending.
- Command-line programs: turn off QL loss bits if -G is used, as Wireshark cannot decrypt QUIC packets when this extension is used.
- Turn all h3 framing unit tests back on.
- Fix malo initialization when compiled in no-pool mode.
Feature: pwritev; bug fixes
- [FEATURE] Add
lsquic_stream_pwritev()
. This function allows one to reduce the number of system calls required to read a file from disk by usinglsquic_stream_pwritev()
together withpreadv(2)
. - [BUGFIX] When stream is reset, it is writeable -- let user collect the error.
- [BUGFIX] Calculate correct conn flow control if reading ends early.
- [BUGFIX] Remove stream from read and write queues on internal shutdown. This is a regression introduced in 2.19.7.
- [BUGFIX] Swapped arguments in IETF RESET_FRAME generation.
- Turn off mini conn history when compiling with Visual Studio; this allows the project to compile on Windows again.
- http_client: Add -3 flag to stop reading from streams early; code cleanup.
- Don't use -Werror.
Bug fix: when stream is reset, it is writeable
v2.12.8 Update version to 2.12.8
ECN blackholes, new timestamps, and bug fixes
- [FEATURE] Update the timestamp extension to latest version.
- [FEATURE] Cope with appearance of ECN blackholes.
- [OPTIMIZATION] return packno offset and size when header is generated.
- [BUGFIX] ignore old ACK frames in mini conns.
- [BUGFIX] Mark initial server path as initialized.
- [BUGFIX] Do not merge ACK if ECN counts do not match.
- Turn incoming packet number history in mini conn back on.
- Record mini conn event history again when compiled in debug mode.
- IETF mini conn: log when ACK is queued.
- Clean up and refactor code in several places.
Fixes and tying up of loose ends
- Handle ECT-CE event: issue a loss event.
- Log the fact that we ignore SETTINGS_MAX_HEADER_LIST_SIZE.
- Use Max Push ID in GOAWAY frame to cancel promises.
- Add support for HTTP/3 CANCEL_PUSH frame.
- lsquic_stream_is_pushed: streams without headers are never pushed.
- [BUGFIX] Regression in lsquic_stream_shutdown_internal: now it shuts down.
- Improve logic whether to generate CONNECTION_CLOSE.
Minor ECN improvements
- Don't process incoming ECN marks if ECN is not enabled.
- Schedule ACK when incoming packet is marked with CE.
Bugfix release: DPLPMTUD stealing ACK across buffered packets
- [BUGFIX] Generate frame record when moving an ACK from one buffered packet to another.
Bugfix release: DPLPMTUD
- [BUGFIX] Do not return an oversize MTU probe to connection twice.
- [FEATURE] Delayed Acks updated to latest draft. Still experimental.
- Minor code cleanup in IETF full connection.