All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
core::error::Error
implementations for every customimpl Error
- Migrated
std
feature-gatedstd::error::Error
implementations tocore::error::Error
- Increased MSRV to 1.81 due to
core::error::Error
- Make
SliceWriteError
publicly available.
- Prohibit
Write::write
implementations returningOk(0)
unless there is no data to write; consequently removeWriteAllError
and theWriteAllError
variant ofWriteFmtError
. Update the&mut [u8]
impl to possibly return a newSliceWriteError
if the slice is full instead ofOk(0)
. - Add
WriteZero
variant toErrorKind
for implementations that previously may have returnedOk(0)
to indicate no further data could be written. Write::write_all
now panics if thewrite()
implementation returnsOk(0)
.
- Add
ReadReady
,WriteReady
traits. 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
ErrorKind
mirroringstd::io::ErrorKind
. - Add
From
impls to convert betweenErrorKind
andstd::io::ErrorKind
. - Moved
embedded_io::blocking
to the crate root. - Split async traits to the
embedded-io-async
crate. - Split trait adapters to the
embedded-io-adapters
crate. - Add
std::error
impls forReadExactError
&WriteAllError
. - Rename trait
Io
toErrorType
, for consistency withembedded-hal
. - Added optional
defmt
0.3 support.
- Switch all traits to use
async_fn_in_trait
(AFIT). Requiresnightly-2022-11-22
or newer.
- Fix compilation on recent nightlies (#5)
FromFutures
adapter now requiresfutures
Cargo feature. (breaking change)- Add
FromTokio
adapter. - Add blanket impls for
&mut T
,Box<T>
. - Add impl
Read
,BufRead
for&[u8]
- Add impl
Write
for&mut [u8]
- Add impl
Write
forVec<u8>
- impl
std::error::Error
forReadExactError
,WriteFmtError
.
- First release