0.6.5 (March 14, 2017)

  • Misc improvements to kqueue bindings
  • Add official support for iOS, Android, BSD
  • Reimplement custom readiness queue
  • Poll is now Sync
  • Officially deprecate non-core functionality (timers, channel, etc...)
  • Registration now implements Evented
  • Fix bug around error conditions with connect on windows.
  • Use iovec crate for scatter / gather operations
  • Only support readable and writable readiness on all platforms
  • Expose additional readiness in a platform specific capacity

0.6.4 (January 24, 2017)

  • Fix compilation on musl
  • Add TcpStream::from_stream which conversts a std TCP stream to Mio.

0.6.3 (January 22, 2017)

  • Implement readv/writev for TcpStream, allowing vectored reads/writes to work across platforms
  • Remove nix dependency
  • Implement Display and Error for some channel error types.
  • Optimize TCP on Windows through SetFileCompletionNotificationModes

0.6.2 (December 18, 2016)

  • Allow registration of custom handles on Windows (like EventedFd on Unix)
  • Send only one byte for the awakener on Unix instead of four
  • Fix a bug in the timer implementation which caused an infinite loop

0.6.1 (October 30, 2016)

  • Update dependency of libc to 0.2.16
  • Fix channel dec logic
  • Fix a timer bug around timeout cancellation
  • Don't allocate buffers for TCP reads on Windows
  • Touched up documentation in a few places
  • Fix an infinite looping timer thread on OSX
  • Fix compile on 32-bit OSX
  • Fix compile on FreeBSD

0.6.0 (September 2, 2016)

  • Shift primary API towards Poll
  • EventLoop and types to deprecated mod. All contents of the deprecated mod will be removed by Mio 1.0.
  • Increase minimum supported Rust version to 1.9.0
  • Deprecate unix domain socket implementation in favor of using a version external to Mio. For example: https://github.com/alexcrichton/mio-uds.
  • Remove various types now included in std
  • Updated TCP & UDP APIs to match the versions in std
  • Enable implementing Evented for any type via Registration
  • Rename IoEvent -> Event
  • Access Event data via functions vs. public fields.
  • Expose Events as a public type that is passed into Poll
  • Use std::time::Duration for all APIs that require a time duration.
  • Polled events are now retrieved via Events type.
  • Implement std::error::Error for TimerError
  • Relax Send bound on notify messages.
  • Remove Clone impl for Timeout (future proof)
  • Remove mio::prelude
  • Remove mio::util
  • Remove dependency on bytes

0.5.0 (December 3, 2015)

  • Windows support (#239)
  • NetBSD support (#306)
  • Android support (#295)
  • Don't re-export bytes types
  • Renamed EventLoop::register_opt to EventLoop::register (#257)
  • EventLoopConfig is now a builder instead of having public struct fields. It is also no longer Copy. (#259)
  • TcpSocket is no longer exported in the public API (#262)
  • Integrate with net2. (#262)
  • TcpListener now returns the remote peer address from accept as well (#275)
  • The UdpSocket::{send_to, recv_from} methods are no longer generic over Buf or MutBuf but instead take slices directly. The return types have also been updated to return the number of bytes transferred. (#260)
  • Fix bug with kqueue where an error on registration prevented the changelist from getting flushed (#276)
  • Support sending/receiving FDs over UNIX sockets (#291)
  • Mio's socket types are permanently associated with an EventLoop (#308)
  • Reduce unnecessary poll wakeups (#314)

0.4.1 (July 21, 2015)

  • [BUGFIX] Fix notify channel concurrency bug (#216)

0.4.0 (July 16, 2015)

  • [BUGFIX] EventLoop::register requests all events, not just readable.
  • [BUGFIX] Attempting to send a message to a shutdown event loop fails correctly.
  • [FEATURE] Expose TCP shutdown
  • [IMPROVEMENT] Coalesce readable & writable into ready event (#184)
  • [IMPROVEMENT] Rename TryRead & TryWrite function names to avoid conflict with std.
  • [IMPROVEMENT] Provide TCP and UDP types in mio (path to windows #155)
  • [IMPROVEMENT] Use clock_ticks crate instead of time (path to windows #155)
  • [IMPROVEMENT] Move unix specific features into mio::unix module
  • [IMPROVEMENT] TcpListener sets SO_REUSEADDR by default