|
| 1 | +# Changelog |
| 2 | +All notable changes to this project will be documented in this file. |
| 3 | + |
| 4 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 5 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 6 | + |
| 7 | +## [Unreleased] |
| 8 | + |
| 9 | +No unreleased changes yet |
| 10 | + |
| 11 | +## [0.7.0] - 2021-01-20 |
| 12 | + |
| 13 | +### New features |
| 14 | +- tcp: Allow distinguishing between graceful (FIN) and ungraceful (RST) close. On graceful close, `recv()` now returns `Error::Finished`. On ungraceful close, `Error::Illegal` is returned, as before. (#351) |
| 15 | +- sockets: Add support for attaching async/await Wakers to sockets. Wakers are woken on socket state changes. (#394) |
| 16 | +- tcp: Set retransmission timeout based on an RTT estimation, instead of the previously fixed 100ms. This improves performance on high-latency links, such as mobile networks. (#406) |
| 17 | +- tcp: add Delayed ACK support. On by default, with a 10ms delay. (#404) |
| 18 | +- ip: Process broadcast packets directed to the subnet's broadcast address, such as 192.168.1.255. Previously broadcast packets were |
| 19 | +only processed when directed to the 255.255.255.255 address. (#377) |
| 20 | + |
| 21 | +### Fixes |
| 22 | +- udp,raw,icmp: Fix packet buffer panic caused by large payload (#332) |
| 23 | +- dhcpv4: use offered ip in requested ip option (#310) |
| 24 | +- dhcpv4: Re-export dhcp::clientv4::Config |
| 25 | +- dhcpv4: Enable `proto-dhcpv4` feature by default. (#327) |
| 26 | +- ethernet,arp: Allow for ARP retry during egress (#368) |
| 27 | +- ethernet,arp: Only limit the neighbor cache rate after sending a request packet (#369) |
| 28 | +- tcp: use provided ip for TcpSocket::connect instead of 0.0.0.0 (#329) |
| 29 | +- tcp: Accept data packets in FIN_WAIT_2 state. (#350) |
| 30 | +- tcp: Always send updated ack number in `ack_reply()`. (#353) |
| 31 | +- tcp: allow sending ACKs in FinWait2 state. (#388) |
| 32 | +- tcp: fix racey simultaneous close not sending FIN. (#398) |
| 33 | +- tcp: Do not send window updates in states that shouldn't do so (#360) |
| 34 | +- tcp: Return RST to unexpected ACK in SYN-SENT state. (#367) |
| 35 | +- tcp: Take MTU into account during TcpSocket dispatch. (#384) |
| 36 | +- tcp: don't send data outside the remote window (#387) |
| 37 | +- phy: Take Ethernet header into account for MTU of RawSocket and TapInterface. (#393) |
| 38 | +- phy: add null terminator to c-string passed to libc API (#372) |
| 39 | + |
| 40 | +### Quality of Life™ improvements |
| 41 | +- Update to Rust 2018 edition (#396) |
| 42 | +- Migrate CI to Github Actions (#390) |
| 43 | +- Fix clippy lints, enforce clippy in CI (#395, #402, #403, #405, #407) |
| 44 | +- Use #[non_exhaustive] for enums and structs (#409, #411) |
| 45 | +- Simplify lifetime parameters of sockets, SocketSet, EthernetInterface (#410, #413) |
| 46 | + |
| 47 | +[Unreleased]: https://github.com/smoltcp-rs/smoltcp/compare/v0.7.0...HEAD |
| 48 | +[0.7.0]: https://github.com/smoltcp-rs/smoltcp/compare/v0.6.0...v0.7.0 |
0 commit comments