tag:github.com,2008:https://github.com/Sapd/HeadsetControl/releasesTags from HeadsetControl2026-01-07T14:10:20Ztag:github.com,2008:Repository/51667480/continuous2026-03-15T17:13:26ZContinuous Build<p>C++ Rewrite (<a class="issue-link js-issue-link" href="https://github.com/Sapd/HeadsetControl/pull/443">#443</a>)</p>
<p>* C++ Rewrite</p>
<p>Rewrite codebase from C to modern C++20</p>
<p>Complete modernization introducing type safety, better error handling, and a cleaner architecture.</p>
<p>- **Language**: C → C++20 (requires GCC 10+, Clang 10+, MSVC 2019+)
<br />- **Structure**: Reorganized into lib/, cli/, tests/
<br />- **Error handling**: Result<T> type with rich error information
<br />- **Device code**: 50-70% reduction via protocol templates</p>
<p>- High-level C++ API (headsetcontrol.hpp)
<br />- C API for FFI bindings (headsetcontrol_c.h)
<br />- Shared library support (-DBUILD_SHARED_LIBRARY=ON)
<br />- Protocol templates: HIDPPDevice, SteelSeriesNovaDevice
<br />- Data-driven capability system
<br />- Test suite</p>
<p>- HIDDevice base class with virtual methods per capability
<br />- Device registry singleton for device lookup
<br />- Capability descriptors as single source of truth
<br />- Feature handler registry (replaces switch statements)</p>
<p>CLI interface unchanged - fully backwards compatible.</p>
<p>- See docs/ADDING_A_DEVICE.md for adding devices
<br />- See docs/ADDING_A_CAPABILITY.md for adding features
<br />- See docs/LIBRARY_USAGE.md for library integration</p>github-actionstag:github.com,2008:Repository/51667480/3.1.02025-05-22T13:10:33Z3.1.0Sapdtag:github.com,2008:Repository/51667480/3.0.02024-04-01T14:08:46Z3.0.0Sapdtag:github.com,2008:Repository/51667480/2.7.02023-05-01T12:44:56Z2.7.0Sapdtag:github.com,2008:Repository/51667480/2.6.12022-07-17T12:54:00Z2.6.1Sapdtag:github.com,2008:Repository/51667480/2.62021-11-13T11:48:30Z2.6: Dev Menu and full Windows SupportSapdtag:github.com,2008:Repository/51667480/2.52021-10-24T12:45:24Z2.5Sapdtag:github.com,2008:Repository/51667480/2.42021-05-13T11:47:29Z2.4<p>Auto-generate udev-rules</p>
<p>Also fix cmake version warning</p>Sapdtag:github.com,2008:Repository/51667480/2.32020-01-09T19:30:16ZWindows support<p>Update README.md with the Development section</p>
<p>Also added Windows and `-c` option</p>Sapdtag:github.com,2008:Repository/51667480/2.22019-08-08T11:50:51Z2.2<p>SteelSeries Arctis 7 Battery Support + 2019 Model Support (<a class="issue-link js-issue-link" href="https://github.com/Sapd/HeadsetControl/pull/40">#40</a>)</p>
<p>* Add battery support for SteelSeries Arctis 7 (Pre-2019)</p>
<p>* Adding support for 2019 Arctis 7 variant.</p>
<p>* Correcting error in udev rules.</p>
<p>* Updating README.md to include updates for SteelSeries Arctis 7.</p>
<p>* Fix 50-steelseries-arctis-7.rules UDev rule, According to Udev versions
<br />used in Ubuntu 19.04. Previous version did not work.</p>Sapd