embedded-io
Embedded IO traits
0.7.1
106M downloads/mo
#783 most downloaded on crates.io
rust-embedded/embedded-hal
What this package is like to depend on
Last release 10 months ago
01 Oct 2025
Ships unpredictably
gaps range from 2 weeks to 1.9 years
Nearly every release is documented
notes for 8 of 8 stable releases
2 versions withdrawn
withdrawn after publishing
4 years old
10 releases · first in 2022
2 releases in the last 12 months
see the full history below
Release timeline
10 releases · May 2022 to Oct 2025
2023
2024
2025
2026
Releases
latest 10-
0.7.101 Oct 2025Release notes
Open source →- Do not require
ReadandWriteto be implemented forReadReadyandWriteReady.
- Do not require
-
0.7.030 Sep 2025 withdrawnRelease notes
Open source →- Add trait dependency on
core::error::Errorto this crate'sErrortrait- Implement the trait on all provided implementations
- Migrate
stdfeature-gatedstd::error::Errorimplementations tocore::error::Error
- Updat
defmtdependency to 1.0; rename feature fromdefmt_03todefmt - Increase MSRV to 1.81 due to
core::error::Error - Implement
ReadReadyfor&[u8]andWriteReadyfor&mut [u8] - Require
ReadandWriteto be implemented for various Read and Write traits - Add provided
.seek_relative()method to Seek - Fix missing method forwardings for blanket implementations
- Specialize
.read_exact()and.write_all()for slices - Implement
Read,ReadReady,BufRead,Write, andWriteReadyforVecDeque<u8>
- Add trait dependency on
-
0.6.122 Oct 2023 -
0.6.003 Oct 2023Release notes
Open source →- Prohibit
Write::writeimplementations returningOk(0)unless there is no data to write; consequently removeWriteAllErrorand theWriteAllErrorvariant ofWriteFmtError. Update the&mut [u8]impl to possibly return a newSliceWriteErrorif the slice is full instead ofOk(0). - Add
WriteZerovariant toErrorKindfor implementations that previously may have returnedOk(0)to indicate no further data could be written. Write::write_allnow panics if thewrite()implementation returnsOk(0).
- Prohibit
-
0.5.007 Aug 2023Release notes
Open source →- Add
ReadReady,WriteReadytraits. They allow peeking whether the I/O handle is ready to read/write, so they allow using the traits in a non-blocking way. - Add variants to
ErrorKindmirroringstd::io::ErrorKind. - Add
Fromimpls to convert betweenErrorKindandstd::io::ErrorKind. - Moved
embedded_io::blockingto the crate root. - Split async traits to the
embedded-io-asynccrate. - Split trait adapters to the
embedded-io-adapterscrate. - Add
std::errorimpls forReadExactError&WriteAllError. - Rename trait
IotoErrorType, for consistency withembedded-hal. - Added optional
defmt0.3 support.
- Add
-
0.4.025 Nov 2022Release notes
Open source →- Switch all traits to use
async_fn_in_trait(AFIT). Requiresnightly-2022-11-22or newer.
- Switch all traits to use
-
0.3.126 Oct 2022 -
0.3.018 May 2022Release notes
Open source →FromFuturesadapter now requiresfuturesCargo feature. (breaking change)- Add
FromTokioadapter. - Add blanket impls for
&mut T,Box<T>. - Add impl
Read,BufReadfor&[u8] - Add impl
Writefor&mut [u8] - Add impl
WriteforVec<u8> - impl
std::error::ErrorforReadExactError,WriteFmtError.
-
0.2.006 May 2022 -
0.1.006 May 2022 withdrawnNothing published for this version