1# Changelog 2 3All notable changes to this project will be documented in this file. 4 5The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6and this project adheres to [Semantic 7Versioning](https://semver.org/spec/v2.0.0.html). 8 9## [Unreleased] 10 11## [v0.6.0] - 2023-09-11 12 13- Updated nix to version `0.27`. 14- Updated bitflags to version `2.4`. 15- MSRV is now 1.65.0. 16 17## [v0.5.1] - 2021-11-22 18 19- Updated nix to version `0.23`. 20- MSRV is now 1.59.0. 21 22## [v0.5.0] - 2021-09-21 23 24- Update Tokio to 1.x. [#55](https://github.com/rust-embedded/gpio-cdev/pull/55). 25- Fix lsgpio example to output gpio line flags. 26- Add `is_empty()` function for `Lines` struct. 27- Add common trait implementations for public structures. 28- Breaking change of `LineEventHandle::get_event()` which now expects `&mut self`. 29- MSRV is now 1.46.0. 30- Updated `nix` to version `0.22`. 31- Updated `quicli` to version `0.4`. 32- Updated `bitflags` to version `1.3`. 33 34 35## [v0.4.0] - 2020-08-01 36 37- Removed pub "errors" module. Error now exposed at top level. 38- MSRV is now 1.39.0 39- 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). 40 41## [v0.3.0] - 2020-02-10 42 43Refactored Errors: 44- Removed the `error-chain` dependency. 45- Errors are now implemented "manually" with `ErrorKind` and `IoctlKind` enums. 46- The encompassing `Error` type implements the `std::error::Error` trait. 47 48## v0.2.0 - 2018-12-12 49 50Adds the ability to create a collection of lines from a single chip and read or write those lines simultaneously with a single stystem call. 51 52- 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. 53- A `Line` now just contains the reference to the Chip and the offset number. No system call is incurred when one is created. 54- 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. 55- Creating a `Line` can't fail unless the caller specifies an offset that is out of range of the chip. 56- The `LineIterator` can not fail since it checks the offset range. So now its item is just a `Line`, and not `Result<Line>`. 57- There was no longer a need for `Line::refresh()` so it was removed. 58- Since a `Line` object is trivial to create, it is now OK to have `Lines` be a simple collection of `Line` structs. 59 60## v0.1.0 - 2018-09-28 61 62- Initial release of the library with basic operations centered around operating 63 on a single line at a time. 64 65[Unreleased]: https://github.com/rust-embedded/gpio-cdev/compare/0.6.0...HEAD 66[v0.6.0]: https://github.com/rust-embedded/gpio-cdev/compare/0.5.1...0.6.0 67[v0.5.1]: https://github.com/rust-embedded/gpio-cdev/compare/0.5.0...0.5.1 68[v0.5.0]: https://github.com/rust-embedded/gpio-cdev/compare/0.4.0...0.5.0 69[v0.4.0]: https://github.com/rust-embedded/gpio-cdev/compare/0.3.0...0.4.0 70