Comments (12)
Draft changelog:
- Initial support for PLPMTUD (#1510 with followup in #1529, thanks to aochagavia)
- Bump rustls to 0.21.0 (#1515, thanks to cpu)
- Fix: build and tests on FreeBSD 13.2 (#1555, thanks to Tirka)
- Fail FreeBSD CI if any step fails (#1557, thanks to Tirka)
- Fragmentation handling improvements (#1547)
- Add missing exports of stats types (#1546)
- Rename
min_guaranteed_mtu
tomin_mtu
for clarity (#1552) - Duplicate
Transmit
andEcnCodepoint
across -proto and -udp (#1541) - quinn: take
Arc<dyn Runtime>
directly (#1534) - Support external crypto implementations (#1496, thanks to nmittler)
- Do not require
&mut self
inAsyncUdpSocket::poll_send
(#1519, thanks to dignifiedquire) - Getters for stream concurrency metrics and related documentation (#1518, thanks to FlorianUekermann)
- Fallback to not using ECN if
IP_TOS
is not supported (#1516, thanks to link2xt) - Implement fallback for
sendmmsg
andrecvmmsg
(#1504, thanks to link2xt) - Borrow
self
in read_to_end, rather than consuming (#1502) - Improve error when connecting with an unsupported version (#1482)
- Fix racy
Endpoint::wait_idle
(#1477) - Re-export
udp::{RecvMeta, UdpState}
forAsyncUdpSocket
(#1476, thanks to XOR-op) - Route logs via
log
crate by default whentracing
isn't used (#1473) - Fail gracefully on attempts to connect to an unspecified IP address (#1474)
- add FreeBSD
IP_RECVDSTADDR
support (#1447, thanks to lucifer9) - udp: add safe wrapper for
setsockopt()
(#1461)
Documentation
- Allow initial MTU to be specified in bulk benchmark (#1456)
- Document how to close a stream correctly (#1493, thanks to flub)
- Update wording about QUIC being a draft (#1468, thanks to zicklag)
- Clarify async runtime support (#1497, thanks to mxinden)
- Fix usage message (#1484, thanks to dzvon)
Internal improvements
- Allow benchmarking without packet protection (#1436, thanks to stormshield-damiend)
- Fix
no-protection
option in perf crate (#1550, thanks to aochagavia) - Don't rely on sleeping in 0-RTT test (#1522)
- Update deny.toml (#1470, thanks to NukeManDan)
- Bump quinn-proto version (#1520, thanks to nmittler)
- Clippy fixes (#1466, thanks to StygianLightning)
- Bump MSRV to 1.63 (#1548)
- Bump quinn-udp version to 0.4 (#1535, thanks to link2xt)
from quinn.
It's done! https://github.com/quinn-rs/quinn/releases/tag/0.10.0
from quinn.
Should we try to get #1219 in?
That would be wonderful! 🙏
from quinn.
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.
https://datatracker.ietf.org/doc/draft-ietf-quic-v2/
from quinn.
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.
from quinn.
We should probably get #1529 in before release. I think that's probably the only thing blocking the release at this point?
from quinn.
We should review #1545 and #1547 before we decide to release. I think those will be relatively straightforward, though.
from quinn.
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.
from quinn.
Should we try to get #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.
from quinn.
I think so; I should be able to review that within the next few days.
from quinn.
Since #1529 has been merged, should we plan to release 0.10? It looks like all the checkpoints have been resolved.
from quinn.
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!
from quinn.
Related Issues (20)
- How to run insecure connection example? HOT 1
- Weird issue when transferring large file HOT 3
- `ACKs are delivered in order` panic when packets are reordered
- Allow a client to specify Initial Connection ID HOT 2
- Bundle flow control and ACK frames opportunistically
- RTT calculation of connection is pretty unreliable when _just_ using the library as is HOT 8
- `SendStream::stopped` suffers excessive delay in terminating with `ZeroRttRejected`
- Dropping `Endpoint` can cause unnecessary "Incoming dropped without passing to..." warnings
- Allow certificate access on Connecting HOT 5
- `SendStream::finish()` no longer errors when connection is closed HOT 2
- Allow disabling backtraces in panics HOT 3
- Consider adding an expect message to unwrap in packet_builder.rs HOT 6
- quinn is failing `zerortt` interop HOT 1
- Panic with tokio 1.39 HOT 8
- `handshakecorruption` crash HOT 5
- `recvmmsg` is disallowed by seccomp on Android x86 HOT 4
- how to use quinn to create an echo server and client? HOT 7
- Add echo server & client for examples HOT 1
- How to use empty cert connect my quic server using quinn? HOT 3
- Don't silence errors from `quinn-udp` code HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quinn.