Releases: ethereum/utp
v0.1.0-alpha.14
What's Changed
Full Changelog: v0.1.0-alpha.13...v0.1.0-alpha.14
v0.1.0-alpha.13
What's Changed
Full Changelog: v0.1.0-alpha.12...v0.1.0-alpha.13
v0.1.0-alpha.12
What's Changed
- fix: remove non-need clone of peer by @KolbyML in #129
- chore: fix typos by @xiaoxianBoy in #131
- fix: deadlock + memory leak caused by cid generation code by @KolbyML in #130
- fix: stop cloning Connection::State as it is very wasteful by @KolbyML in #128
New Contributors
- @xiaoxianBoy made their first contribution in #131
Full Changelog: v0.1.0-alpha.11...v0.1.0-alpha.12
v0.1.0-alpha.11
What's Changed
Full Changelog: v0.1.0-alpha.10...v0.1.0-alpha.11
v0.1.0-alpha.10
What's Changed
- fix: timeout stale incoming_conns + clean up last PR by @KolbyML in #125
- feat: switch to one way acks and fix bugs by @KolbyML in #118
Full Changelog: v0.1.0-alpha.9...v0.1.0-alpha.10
v0.1.0-alpha.9
What's Changed
- chore: add peer info to debug starting log by @KolbyML in #117
- fix: resolve accept_with_await never returning with 2 fixes by @KolbyML in #122
Full Changelog: v0.1.0-alpha.8...v0.1.0-alpha.9
v0.1.0-alpha.8
What's Changed
In this situation, utp-rs was continuing to retry after a peer had hung up and was sending RESETs in response:
- the peer ends a connection early (without acknowledging our FIN)
- the peer forgets about our connection
- utp-rs retries a FIN
- the peer doesn't recognize the connection, choosing the connection ID as if utp-rs were starting a connection (even though the peer had started it originally)
- the peer would send a RESET to a calculated connection ID that utp-rs is not expecting
- utp-rs drops the RESET packet, rather than routing it to the connection that sent the FIN
- utp-rs resends FIN until the connection times out
After this fix, utp-rs receives the RESET and ends the connection (with a failure).
Full Changelog: v0.1.0-alpha.7...v0.1.0-alpha.8
v0.1.0-alpha.7
What's Changed
- fix: acknowledge sent packets when receiving a FIN by @carver in #107
- feat: attempt connections a bit more aggressively by @carver in #110
- feat: logs connection reattempts by @carver in #111
- test: run 2k concurrent transfers with 1MB of data by @carver in #81
- refactor: don't wrap empty fin data in Option by @carver in #109
- chore: use rust 1.71.1 in tests, fix new warning by @carver in #108
Full Changelog: v0.1.0-alpha.6...v0.1.0-alpha.7
v0.1.0-alpha.6
There are a number of API changes, fixes, performance boosts, and log improvements included in this release.
As we're still in pre-release, we don't have a formal changelist of everything included, but here are a few things worth noting:
- Breaking: an API change on a stream from
shutdown()
to anasync
close()
, which returns after pending writes are acknowledged by the recipient - Breaking: require &mut self in AsyncUdpSocket trait methods
- Faster transfers and fewer timeouts in high-throughput scenarios that cause UDP packet loss, by pulling packets off the read queue as quickly as possible
- Clearer log messages about different possible scenarios
- Much more...