Upgrading mio 0.6 to 0.7
Breaking0.6.23 → 0.7.14Breaking1Security1Platform1Deprecated3New21Changed5Fixed20Other1
SecurityMedium · CVSS 5.5`mio` invalidly assumes the memory layout of std::net::SocketAddrGHSA-pf3p-x6qj-6j7q · CVE-2020-35922 ↗
BreakingUpgrade verdict
1 breaking change and a platform requirement change and a security fix.
In plain terms
- This release makes large, incompatible changes to the library's interface, so code written for 0.6 will likely need updates.
- If you build for 32-bit iOS or macOS, this version no longer supports it.
- `mio` invalidly assumes the memory layout of std::net::SocketAddr
- The three old networking feature flags still work but are on their way out; use `net` instead.
Must act Top 5 of 6 that need code or config changes
What you must change
Breaking1
Version 0.7 contains various major changes compared to 0.6, with many API changes to reduce implementation complexity and overhead.
Security1
mio invalidly assumes the memory layout of std::net::SocketAddrPlatform1
Drops support for 32-bit Apple targets, matching Rust's reduced support, since CI no longer checks 32-bit iOS/macOS.
Deprecations to plan for
Deprecated3
Deprecates the
tcp, udp and uds features in favour of the new net feature.tcpudpudsnetDeprecates the
extra-docs feature, which is now enabled by default.extra-docsDeprecates the
os-util and pipe features in favour of the new os-ext feature.os-utilpipeos-ext