| libgpiod v1.3 | |
| ============= | |
| New features: | |
| - the gpio-tools now have automatically generated (using help2man) man pages | |
| that are bundled with the release tarball | |
| - support a singular 'default_val' argument in Line.request() in python | |
| bindings | |
| - the test executable can now be installed to the bindir along with the | |
| gpio-tools and the testing framework will look for the binaries in standard | |
| locations if it's not run from the top source directory | |
| - gpiomon now supports line buffered output | |
| Improvements: | |
| - tweaks to the C API documentation | |
| - treewide unification of the naming of local variables | |
| - extended helptest in gpioset (explanation of the way the character device | |
| works aimed at reducing user confusion when a GPIO line reverts to its | |
| default value after gpioset exits) | |
| - the source directories have been rearranged and the src/ directory was | |
| dropped, lib/ and tools/ now live in the top source directory | |
| - minor coding style fixes in python bindings, ctxless functions and tools | |
| - automatically generated documentation is now removed by 'make clean' | |
| - all Makefiles now use top_builddir instead of relative paths | |
| - code shrink in configure.ac | |
| - add a brief section about API documentation to README | |
| Bug fixes: | |
| - fix a segfault causing bug in C++ bindings | |
| - make bitset_cmp::operator() const as this is required by C++17 | |
| - ignore 'remove' events from udev in the testing framework | |
| - don't segfault on num_lines = 0 in ctxless functions | |
| libgpiod v1.2 | |
| ============= | |
| New features: | |
| - new contextless event monitor that should replace the previous event loop | |
| which caused problems on hardware that doesn't allow to watch both rising | |
| and falling edge events | |
| - port gpiomon to the new event monitor | |
| - deprecate event loop routines | |
| Improvements: | |
| - many minor improvements and tweaks in the python module | |
| - new test cases for python bindings | |
| - add much more detailed documentation for python bindings | |
| - coding style improvements in gpio-tools | |
| - remove unicode characters from build scripts | |
| - improve the help text messages in gpio-tools | |
| - make gpiod_chip_open() and its variants verify that we're really trying to | |
| open a character device associated with a GPIO chip | |
| Bug fixes: | |
| - fix memory leaks in python bindings | |
| - fix a memory corruption bug in python bindings | |
| - fix the default_vals argument in line request implementation in python | |
| bindings | |
| - fix a compilation warning in python bindings | |
| - fix gpiod_Chip_find_lines() for nonexistent lines (python bindings) | |
| - add a missing include in C++ bindings examples | |
| - correctly display the version string in gpio-tools | |
| libgpiod v1.1 | |
| ============= | |
| New features: | |
| - add object-oriented C++ bindings | |
| - add object-oriented Python3 bindings | |
| - add several new helpers to the C API | |
| Improvements: | |
| - start using separate versioning schemes for API and ABI | |
| - use SPDX license identifiers and remove LGPL boilerplate | |
| - check for unexpanded macros in configure.ac | |
| Bug fixes: | |
| - include Doxyfile in the release tarball | |
| - fix the implicit-fallthrough warnings | |
| - make tests work together with gpio-mockup post v4.16 linux kernel | |
| - use reference counting for line file descriptors | |
| - correctly handle POLLNVAL when polling for events | |
| - fix the copyright notice in tools | |
| libgpiod v1.0 | |
| ============= | |
| NOTE: This is a major release - it breaks the API compatibility with | |
| the 0.x.y series. | |
| New features: | |
| - remove custom error handling in favor of errnos | |
| - merge the two separate interfaces for event requests and regular line | |
| requests | |
| - redesign the simple API | |
| - change the prefix of the high-level API from 'simple' to 'ctxless' (for | |
| contextless) which better reflects its purpose | |
| - redesign the iterator API | |
| - make use of prefixes more consistent | |
| - rename symbols all over the place | |
| - various minor tweaks | |
| - add support for pkg-config | |
| Improvements: | |
| - add a bunch of helpers for line requests | |
| - split the library code into multiple source files by functionality | |
| - re-enable a test case previously broken by a bug in the kernel | |
| Bug fixes: | |
| - correctly handle signal interrupts when polling in gpiod_simple_event_loop() | |
| - fix the linking order when building with static libraries | |
| - pass the correct consumer string to gpiod_simple_get_value_multiple() in | |
| gpioget | |
| - fix a line test case: don't use open-drain or open-source flags for input | |
| mode | |
| - fix the flags passed to ar in order to supress a build warning | |
| - set the last error code in gpiod_chip_open_by_label() to ENOENT if a chip | |
| can't be found | |
| - fix checking the kernel version in the test suite | |
| - fix various coding style issues | |
| - initialize the active low variable in gpiomon | |
| libgpiod v0.3 | |
| ============= | |
| New features: | |
| - gpiomon can now watch multiple lines at the same time and supports custom | |
| output formats which can be specified using the --format argument | |
| - testing framework can now test external programs: test cases for gpio-tools | |
| have been added | |
| Improvements: | |
| - improve error messages | |
| - improve README examples | |
| - configure script improvements | |
| Bug fixes: | |
| - use correct UAPI flags when requesting line events | |
| - capitalize 'GPIO' in error messages in gpioset, gpioget & gpiomon | |
| - tweak the error message on invalid arguments in gpiofind | |
| - don't ignore superfluous arguments and fix the displayed name for falling | |
| edge events in gpiomon | |
| libgpiod v0.2 | |
| ============= | |
| New features: | |
| - relicensed under LGPLv2.1 | |
| - implemented a unit testing framework together with a comprehensive | |
| set of test cases | |
| - added a non-closing variant of the gpiochip iterator and foreach | |
| macro [by Clemens Gruber] | |
| - added gpiod_chip_open_by_label() | |
| Improvements: | |
| - Makefiles & build commands have been reworked [by Thierry Reding] | |
| - documentation updates | |
| - code shrinkage here and there | |
| - coding style fixes | |
| - removed all designated initializers from the header for better standards | |
| compliance | |
| Bug fixes: | |
| - fix the return value of gpiod_simple_event_loop() | |
| - don't try to process docs if doxygen is not installed | |
| - pass the O_CLOEXEC flag to open() when opening the GPIO chip device file | |
| - include <poll.h> instead of <sys/poll.h> in gpioset | |
| - fix a formatting issue in gpioinfo for chips with >100 GPIO lines | |
| - fix a bug when requesting both-edges event notifications | |
| - fix short options in gpiomon (short opt for --silent was missing) | |
| - correct the kernel headers requirements in README | |
| - include <time.h> for struct timespec | |
| - include <poll.h> instead of <sys/poll.h> | |
| - detect the version of strerror_r() | |
| libgpiod v0.1 | |
| ============= | |
| First version of libgpiod. | |
| It's currently possible to: | |
| - get and set the values of multiple GPIO lines with a single function call | |
| - monitor a GPIO line for events | |
| - enumerate all GPIO chips present in the system | |
| - enumerate all GPIO lines exposed by a chip | |
| - extract information about GPIO chips (label, name, number of lines) | |
| - extract information about GPIO lines (name, flags, state, user) | |
| Tools provided with the library are: | |
| - gpioget - read values from GPIO lines | |
| - gpioset - set values of GPIO lines | |
| - gpiodetect - list GPIO chips | |
| - gpioinfo - print info about GPIO lines exposed by a chip | |
| - gpiomon - monitor a GPIO line for events | |
| - gpiofind - find a GPIO line by name |