# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [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](https://github.com/rust-embedded/gpio-cdev/pull/55). - Fix lsgpio example to output gpio line flags. - Add `is_empty()` function for `Lines` 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 version `0.22`. - Updated `quicli` to version `0.4`. - Updated `bitflags` to version `1.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](https://github.com/rust-embedded/gpio-cdev/pull/35). ## [v0.3.0] - 2020-02-10 Refactored Errors: - Removed the `error-chain` dependency. - Errors are now implemented "manually" with `ErrorKind` and `IoctlKind` enums. - The encompassing `Error` type implements the `std::error::Error` trait. ## v0.2.0 - 2018-12-12 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 individual `Line` objects on a single `Chip` 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 function `Line::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 a `Line`, and not `Result`. - 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 have `Lines` be a simple collection of `Line` structs. ## v0.1.0 - 2018-09-28 - Initial release of the library with basic operations centered around operating on a single line at a time. [Unreleased]: https://github.com/rust-embedded/gpio-cdev/compare/0.6.0...HEAD [v0.6.0]: https://github.com/rust-embedded/gpio-cdev/compare/0.5.1...0.6.0 [v0.5.1]: https://github.com/rust-embedded/gpio-cdev/compare/0.5.0...0.5.1 [v0.5.0]: https://github.com/rust-embedded/gpio-cdev/compare/0.4.0...0.5.0 [v0.4.0]: https://github.com/rust-embedded/gpio-cdev/compare/0.3.0...0.4.0