Skip to content

Releases: smol-rs/async-io

v2.0.0

18 Oct 04:11
7e89eec
Compare
Choose a tag to compare
  • Breaking: Async::new() now takes types that implement AsFd/AsSocket instead of AsRawFd/AsRawSocket, in order to implement I/O safety. (#142)
  • Breaking: Async::get_mut(), Async::read_with_mut() and Async::write_with_mut() are now unsafe. The underlying source is technically "borrowed" by the polling instance, so moving it out would be unsound. (#142)
  • Expose miscellaneous kqueue filters in the os::kqueue module. (#112)
  • Expose a way to get the underlying Poller's file descriptor on Unix. (#125)
  • Add a new Async::new_nonblocking method to allow users to avoid duplicating an already nonblocking socket. (#159)
  • Remove the unused fastrand and memchr dependencies. (#131)
  • Use tracing instead of log. (#140)
  • Support ESP-IDF. (#144)
  • Optimize the block_on function to reduce allocation, leading to a slight performance improvement. (#149)

v1.13.0

22 Mar 16:55
ce297f4
Compare
Choose a tag to compare
  • Use rustix instead of libc/windows-sys for system calls (#76)
  • Add a will_fire method to Timer to test if it will ever fire (#106)
  • Reduce syscalls in Async::new (#107)
  • Improve the drop ergonomics of Readable and Writable (#109)
  • Change the "wepoll" in documentation to "IOCP" (#116)

v1.12.0

27 Nov 07:27
Compare
Choose a tag to compare
  • Switch from winapi to windows-sys (#102)

v1.11.0

26 Nov 08:17
Compare
Choose a tag to compare
  • Update concurrent-queue to v2. (#99)

v1.10.0

28 Oct 13:27
Compare
Choose a tag to compare
  • Remove the dependency on the once_cell crate to restore the MSRV. (#95)

v1.9.0

01 Sep 13:27
Compare
Choose a tag to compare
  • Fix panic on very large durations. (#87)
  • Add Timer::never (#87)

v1.8.0

17 Aug 20:34
Compare
Choose a tag to compare
  • Implement I/O safety traits on Rust 1.63+ (#84)

v1.7.0

26 May 00:49
Compare
Choose a tag to compare
  • Process timers set for exactly now. (#73)