mirror of https://github.com/nirenjan/libx52.git
8.4 KiB
8.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based upon Keep a Changelog.
Unreleased
0.3.3 - 2026-03-12
Added
- Updated build infrastructure to use Meson instead of Autotools.
- Added a privacy policy to comply with GDPR/CCPA regulations.
- Added a security policy to help securely report vulnerabilities.
- Added Dependabot configuration to keep Action files up to date.
- Added a changelog script to automatically generate the latest release changelog.
Changed
- BREAKING: Removed vendored inih package and switched build framework to use inih from the system package manager.
x52bugreporttool now strips out potentially identifying information.- Removed the use of a 3rd party action to deploy generated Doxygen pages to the gh-pages branch. This now uses the modern gh-pages deployment action.
- Updated release action to use softprops/action-gh-release@v2, since the original actions are no longer maintained.
Deprecated
- Autotools build framework is now deprecated, and will be removed in the next release.
Fixed
- Github Actions updated to use current set of runners
- Fixed handling malformed UTF-8 input in libx52util
- Fixed boundary check issue in libx52util that incorrectly returned
-E2BIGif the output buffer was the exact size to capture the translated string and the null terminator. - Fixed potential UB in libx52-string-test
- Fixed NULL pointer dereference in
libx52_exit - Fixed errors identified by the GCC
-fanalyzerflag
Security
- Updated action files to include permission blocks
0.3.2 - 2024-06-09
Added
- Updated bug report utility to add details about build host details and compiler information.
Fixed
- Updated syntax check for calloc calls. See #52
- Fixed a tooling bug where running make check on a system without cmocka library installed would fail during daemon testing.
- Cleaned up daemon protocol documentation
Changed
- Moved socket code around to make it easier to reuse the communication logic out in both client(s) and server.
0.3.1 - 2024-06-08
Important: Tag 0.3.1 has a bad Version file and should not be used. This has been superseded by 0.3.2 with corrected metadata. The changes from the previous release are the same.
0.3.0 - 2022-12-25
Added
- Bug report utility to make it easier to gather system and build information when reporting issues.
- Communication infrastructure to communicate with the daemon. This includes the
x52ctlutility which can be used either interactively or non-interactively from a separate program. - Links to prebuilt packages in Ubuntu PPA and Arch Linux AUR
- Ability to change mouse scroll direction. See #45
Changed
- Renamed project from
x52pro-linuxtolibx52
Fixed
- Removed dependency on
rsyncduringmake install - Reduced default logging level of daemon to error only. See #38
- Fixed daemon crash when disconnecting/reconnecting the joystick. See #43
0.2.3 - 2021-09-20
Added
- CI for macOS 11 (Big Sur)
- Virtual mouse driver (on Linux only)
Fixed
0.2.2 - 2021-09-03
Added
- IO library to read and parse events from a supported joystick.
- Event test utility which displays the events similar to evtest.
- Daemon to control and update the X52 joystick.
- Import pinelog library for daemon logging.
- Import inih library sources for daemon configuration parsing.
Changed
- Linux kernel driver to correctly handle the X52/X52 Pro. This is not required
for users running kernels with at least the following versions:
- 5.9+
- 5.8.10+
- 5.4.66+
- 4.19.146+
- Make udev rules customizable at build time, so that the right input group can
be used in the actual rules file. This allows systems such as openSUSE which
use
inputas the group for input devices to behave the same as Ubuntu and other similar systems. - Code layout changed to improve parallel builds.
- x52cli tests modified to use cmocka tests.
0.2.1 - 2020-06-28
Added
- Connect/Disconnect methods in libx52. These allow for dynamically connecting or disconnecting from a supported joystick without having to reinitialize the library.
- Internationalization for the following:
- libx52
- x52test
- Doxygen generation of HTML documentation for libx52 methods.
- Tests for libx52 that run on all supported platforms.
Changed
- libx52_init no longer fails when a supported joystick is not connected.
- Tests now use TAP.
- Python build scripts now use Python 3.
Fixed
- Error reporting in x52cli and x52test commands.
- Handling of very large time_t values in
libx52_set_clock - Secondary and tertiary clock setting when primary clock is set to local time and local timezone is observing daylight savings time (summer time). See #20.
0.2.0 - 2020-04-14
Changed
libx52_initnow returns alibx52_error_code, and returns thelibx52_devicepointer in an output parameter.- All libx52 APIs now return a
libx52_error_codeindicating the error. - libx52 now checks the version of libusb and calls the appropriate method to set logging level.
- x52test has an option to not sleep between consecutive calls to the libx52 APIs.
Fixed
libx52_write_timehandling of large timezone offsets.
0.1.2 - 2017-08-17
Added
- Autotools based unit tests - tests run on Linux only
- libusb mock library for use by test programs
- License file and usage clarification
- Automatic builds on Ubuntu Trusty (14.04) with both GCC and clang on Travis
- Enhanced documentation for libx52
- Support for X52 (non-Pro) version
- New raw time and date APIs for libx52
- Support raw time and date commands in x52cli
- Unicode translation points for halfwidth CJK and Katakana symbols
Changed
- Update Python character map generator to comply with PEP-8 guidelines
Fixed
- Compilation on OSX
0.1.1 - 2016-05-06
Added
- Manpage for x52cli
- Manpages for libx52 in RONN format
- Unicode translation points for Latin, Greek and mathematical symbols
- Travis-CI based automatic compilation
Changed
- libx52 clock API will return -EAGAIN if no update is needed.
- x52test accepts a list of tests to run, defaulting to ALL
- UTF-8 parser rewritten in Python
0.1.0 - 2015-12-09
Added
- Support for semantic LED names instead of numbers in libx52
- Simpler API to control clocks
- Add documentation for X52 design and USB interface
- Add CLI application to interface with libx52
- Add test application to test all aspects of libx52
- Add API to convert UTF-8 string to X52 character map
Changed
- Migrate project to autotools
Deprecated
- Mark kernel driver as proof-of-concept and unsuitable for production
0.0.2 - 2014-10-18
Added
- Proposed design documentation for MFD pages and input mapping
Fixed
- Kernel module compilation on Linux v3.5 and later
0.0.1 - 2012-10-25
Added
- Kernel module for Saitek X52 Pro Joystick
- First release of userspace application