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.
v0.6.0 - 2023-09-11
- Updated nix to version
0.27
. - Updated bitflags to version
2.4
. - MSRV is now 1.65.0.
v0.5.1 - 2021-11-22
- Updated nix to version
0.23
. - MSRV is now 1.59.0.
v0.5.0 - 2021-09-21
- Update Tokio to 1.x. #55.
- Fix lsgpio example to output gpio line flags.
- Add
is_empty()
function forLines
struct. - Add common trait implementations for public structures.
- Breaking change of
LineEventHandle::get_event()
which now expects&mut self
. - MSRV is now 1.46.0.
- Updated
nix
to version0.22
. - Updated
quicli
to version0.4
. - Updated
bitflags
to version1.3
.
v0.4.0 - 2020-08-01
- Removed pub "errors" module. Error now exposed at top level.
- MSRV is now 1.39.0
- Add support behind a feature flag for reading events from a line as a Stream via tokio. #35.
Refactored Errors:
- Removed the
error-chain
dependency. - Errors are now implemented "manually" with
ErrorKind
andIoctlKind
enums. - The encompassing
Error
type implements thestd::error::Error
trait.
Adds the ability to create a collection of lines from a single chip and read or write those lines simultaneously with a single stystem call.
- A new
Lines
object (plural) was added. It is a collection of individualLine
objects on a singleChip
which can be read or written simultaneously with a single system call. - A
Line
now just contains the reference to the Chip and the offset number. No system call is incurred when one is created. - Information about an individual line is now represented by a separate
LineInfo
struct which can be obtained from the functionLine::info()
. This incurs a system call to retrieve the information. - Creating a
Line
can't fail unless the caller specifies an offset that is out of range of the chip. - The
LineIterator
can not fail since it checks the offset range. So now its item is just aLine
, and notResult<Line>
. - There was no longer a need for
Line::refresh()
so it was removed. - Since a
Line
object is trivial to create, it is now OK to haveLines
be a simple collection ofLine
structs.
- Initial release of the library with basic operations centered around operating on a single line at a time.