quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.85k stars 394 forks source link

Make a bugfix release of quinn-udp #1532

Closed link2xt closed 1 year ago

link2xt commented 1 year ago

The latest release 0.3.2 does not include #1516 and because of this deltachat-core-rust is stuck patching the dependency: https://github.com/deltachat/deltachat-core-rust/blob/cecc080931f7915dee968ab18e09c625fd2ebbe4/Cargo.toml#L28

Ralith commented 1 year ago

Thanks for reaching out! I don't think there's anything big to wait for here, but let's get in https://github.com/quinn-rs/quinn/pull/1533 in first to avoid future breakage.

djc commented 1 year ago

@link2xt if you submit a PR to bump the version number, I'll publish it soon after.

link2xt commented 1 year ago

I made a PR: https://github.com/quinn-rs/quinn/pull/1535

Note that it depends on quinn-proto 0.10 which should be published too, the version is already bumped there but it was never tagged.

djc commented 1 year ago

Ahh, sorry, forgot that -udp depends on -proto. Conceptually it maybe shouldn't...

I guess we could move EcnCodepoint and Transmit over to -udp, but that would mean -proto needs to start depending on -udp, which feels not quite right? Maybe with some Cargo features to make everything except EcnCodepoint/Transmit optional?

I don't like the idea of adding another crate just for these...

link2xt commented 1 year ago

I really don't like "features" and try to avoid conditional compilation whenever possible. While "more crates" sounds good to me, because when things are in separate crates it means there are no unexpected dependencies between modules.

But is there something preventing release of quinn-proto? The version is already bumped there, isn't 0.10 supposed to be published?

djc commented 1 year ago

Nope, it wasn't published yet -- we proactively bumped the version when we made a semver-incompatible API change.

See #1528 for release planning.

Ralith commented 1 year ago

I don't like the idea of adding another crate just for these...

I think the practical (if mildly tedious) solution is for -udp and -proto to provide independent but broadly identical definitions of these types, with quinn proper converting as needed.

djc commented 1 year ago

I think this will have to effectively become part of #1528.

djc commented 1 year ago

Going to close this, will release 0.4 as part of #1528.