Breaking Changes:
- Added
Error::InvalidDcidInitializationfor invalid custom client destination connection ID initialization, so exhaustive matches onErrorneed to be updated.
Highlights:
- Added the
custom-client-dcidfeature, withconnect_with_dcid()andconnect_with_dcid_and_buffer_factory(), for clients that need to provide the initial destination connection ID. Applications using this feature must satisfy RFC 9000 requirements for destination connection ID unpredictability and length. - Added C API support for custom client destination connection IDs via
quiche_conn_new_with_tls_and_client_dcid()when thecustom-client-dcidfeature is enabled. - Fixed retransmission of lost flow-control credit updates, including
MAX_DATA,MAX_STREAM_DATA, andMAX_STREAMS_*frames. - Fixed stream-cancellation retransmission so lost
RESET_STREAMframes are retransmitted even after stream collection, andSTOP_SENDINGframes are retransmitted only while useful. - Improved stream-limit behavior for long-lived connections by sending
MAX_STREAMSupdates when available stream credit drops to half of the initial limit. - Gracefully handles DPLPMTUD probe errors instead of surfacing non-critical send failures.
- Added qlog loss metrics in
MetricsUpdated.ex_data, including lost packet and byte totals and deltas. - Other bug fixes and performance improvements.
Full changelog at 0.25.0...0.26.0