Closed djc closed 1 year ago
Should we try to get https://github.com/quinn-rs/quinn/pull/1219 in?
That would be wonderful! :pray:
I'd like to include mechanics for enabling MTUD automatically where supported (some sort of PlatformConfig
?), since most users won't and shouldn't need to bother with target-specific configuration.
How do we plan for QUIC V2?
IIRC QUIC V2 is mainly an anti-ossification measure that won't impact public API. It'd be healthy for us to have it but I don't think it's pressing. Might bear a double-check.
Should we consider bumping the next version to 1.0?
I agree we're getting close, but if we're going to treat 1.0 as special we should probably defer a decision until we've actually not broken for a good while. Alternatively, we could abandon cosmetic concerns and just start bumping the major version without a care.
How do we plan for QUIC V2?
IIRC QUIC V2 is mainly an anti-ossification measure that won't impact public API. It'd be healthy for us to have it but I don't think it's pressing. Might bear a double-check.
Correct, see:
This document specifies QUIC version 2, which is identical to QUIC version 1 except for some trivial details. Its purpose is to combat various ossification vectors and exercise the version negotiation framework. It also serves as a template for the minimum changes in any future version of QUIC.
Note that "version 2" is an informal name for this proposal that indicates it is the second standards-track QUIC version. The protocol specified here uses a version number other than 2 in the wire image, in order to minimize ossification risk.
Should we consider bumping the next version to 1.0?
As long as rustls
is part of the public API, I wouldn't recommend that.
Should we try to get https://github.com/quinn-rs/quinn/pull/1219 in?
As much as I'd love to get this merged finally, it doesn't need to be a blocker since it's not API-breaking, and can easily be included in a patch release. If it continues to be a difficult review it probably shouldn't delay the other more practically beneficial changes we have staged.
We should probably get #1529 in before release. I think that's probably the only thing blocking the release at this point?
I think so; I should be able to review that within the next few days.
Since #1529 has been merged, should we plan to release 0.10? It looks like all the checkpoints have been resolved.
We should review #1545 and #1547 before we decide to release. I think those will be relatively straightforward, though.
Draft changelog:
min_guaranteed_mtu
to min_mtu
for clarity (#1552)Transmit
and EcnCodepoint
across -proto and -udp (#1541)Arc<dyn Runtime>
directly (#1534)&mut self
in AsyncUdpSocket::poll_send
(#1519, thanks to dignifiedquire)IP_TOS
is not supported (#1516, thanks to link2xt)sendmmsg
and recvmmsg
(#1504, thanks to link2xt)self
in read_to_end, rather than consuming (#1502)Endpoint::wait_idle
(#1477)udp::{RecvMeta, UdpState}
for AsyncUdpSocket
(#1476, thanks to XOR-op)log
crate by default when tracing
isn't used (#1473)IP_RECVDSTADDR
support (#1447, thanks to lucifer9)setsockopt()
(#1461)no-protection
option in perf crate (#1550, thanks to aochagavia)Rename min_guaranteed_mtu to min_mtu for clarity
This is a bit confusing as a literal changelog entry because in 0.9 the parameter was called initial_max_udp_payload_size
.
udp: add safe wrapper for setsockopt()
This is purely internal.
LGTM otherwise!
Time to start talking about the next semver-incompatible release, I guess?
We definitely want to wait for:
Other things to consider:
Should we consider bumping the next version to 1.0? Our API has been pretty stable...