Skip to content

Releases: Jordonbc/HarmonyLink

HarmonyLink v2.1.1 Hotfix

16 May 23:02
935faff
Compare
Choose a tag to compare

We are pleased to announce the release of HarmonyLink v2.1.1. This hotfix addresses a critical issue in the previous release (v2.1.0) where the library failed to statically link due to problems with the fmt library integration. This issue has now been resolved, ensuring smoother integration and usage in your projects.

Fixes and Improvements:

  • Static Linking Fix: Resolved the issue where HarmonyLink failed to statically link due to incorrect handling of the fmt library. The build system has been updated to correctly include and link against the necessary fmt headers and symbols.
  • CMake Configuration Update: Improved the CMake configuration to explicitly include fmt headers and ensure proper linkage in both shared and static builds.

Detailed Changes:

  • Updated the CMakeLists.txt to include the fmt library headers explicitly.
  • Ensured the fmt library is linked as a header-only library to prevent symbol resolution issues.
  • We encourage all users to update to this hotfix release to benefit from these critical fixes. Thank you for your continued support and contributions to the HarmonyLink project.

Getting Started:

To get started with the new release, clone the repository and follow the updated build instructions in the README file. For any issues or contributions, please open an issue or submit a pull request on our GitHub repository.

Full Changelog: V2.1...v2.1.1

HarmonyLink v2.1 Release

16 May 14:37
5f5e9de
Compare
Choose a tag to compare

We are excited to announce the release of HarmonyLink version 2.1! This release brings several new features, enhancements, and fixes to improve the overall functionality and performance of the library. HarmonyLink continues to enhance the handheld gaming experience with intelligent hardware recognition, robust API access, and dynamic adaptability for various platforms, including Windows, Linux, and the Steam Deck.

Highlights of HarmonyLink v2.1:

  • Static Library Linking: Added support for linking against a static library, providing more flexibility in how the library can be integrated into your projects.
  • Steam Deck OLED Support: Extended support to include Steam Deck OLED models.
  • Improved is_steam_deck_detected Function: Reworked the function to detect unknown Steam Deck models, enhancing compatibility with newer hardware.
  • Enhanced API: Added the is_linux() function to the public API for easy access, simplifying the process of checking the operating system.

Changelog for v2.1

Added

  • Static Library Linking: Added support for linking against a static library. (commit d6fcb24)
  • Steam Deck OLED Support: Added support for Steam Deck OLED. (commit e16f008)
  • Public API Function: Added is_linux() function to the public API for easy access. (commit 470f4a3)

Changed

  • Version Bump: Incremented version number to 2.1. (commit 3f7e6a6)
  • Rework is_steam_deck_detected Function: Improved function to detect unknown Steam Deck models. (commit 07f1877)
  • Fixed
  • Windows Include on Linux Systems: Fixed incorrect windows.h include on Linux systems. (commit 5f5e9de)
  • Removed
  • C++ 20 Usage: Reverted back to C++ 17 from C++ 20. (commit eacab99)

Internal

  • Enable PIC: Enabled Position Independent Code (PIC) for the project and specifically for the fmt library. (commit e3830cc, 1b15cd1)
  • Switch to fmt Library: Replaced std::format with the fmt library for better formatting capabilities. (commit 448f0c2)
  • GitHub Actions Update: Updated GitHub Actions to use actions/checkout@v4 and added the Dev branch to the compile check workflow. (commit 2ffc6b9, 6e3c2da, 270adff)
  • Miscellaneous: Various small fixes and improvements, including improving dock detection and utility functions. (commit ce7de29, ea7042c)

Full Changelog: V2.0...V2.1

We encourage all users to update to this latest version to benefit from the new features and improvements. As always, we welcome contributions from the community to help make HarmonyLink even better.

HarmonyLink 2.0

07 Jan 22:46
Compare
Choose a tag to compare

We are excited to announce the release of HarmonyLink 2.0. This version introduces significant improvements and new features, making it an essential upgrade for developers looking to enhance their gaming applications. Below are the details of the files included in this release:

Major Updates in HarmonyLink 2.0

  • Enhanced device recognition capabilities, including direct detection of specific hardware like the Steam Deck.
  • Advanced adaptability features allowing games to dynamically adjust to the device's hardware capabilities.
  • Improved cross-platform support, ensuring seamless functionality in both Windows (including Wine environments) and native Linux systems.
  • Full support for Unreal Engine 5, catering to developers using this advanced game engine.
  • Simplified and robust API for easier integration and usage.

Files in This Release

HarmonyLinkLib-2.0.zip

  • Contents: This archive contains the dynamic link libraries (DLLs) for HarmonyLink 2.0, along with the include folder which houses all the necessary header files.
  • Purpose:
    • The DLLs are the core of HarmonyLink 2.0, offering advanced hardware detection, a robust API, and enhanced adaptability for game optimization.
    • The include folder provides developers with all the necessary headers for integrating HarmonyLink 2.0 into their gaming projects.
  • Usage: Ideal for developers who want to directly integrate HarmonyLink 2.0 into their gaming applications.

HarmonyLinkLib-2.0-TEST.zip

  • Contents: This zip file includes testing programs for both Windows and Linux platforms.
  • Purpose:
    • These testing programs are designed to help developers quickly validate the integration of HarmonyLink 2.0 in various environments.
    • They provide a practical way to demonstrate the functionality of HarmonyLink 2.0 and to ensure that the library is working as expected on different platforms.
  • Usage: Recommended for developers who wish to test the functionalities of HarmonyLink 2.0 in controlled environments before full-scale integration into their projects.

We encourage developers to download and integrate these new tools to take full advantage of the enhanced capabilities offered by HarmonyLink 2.0. Your feedback and contributions are valuable to us, and we look forward to seeing how HarmonyLink 2.0 enhances your gaming projects!

Release 0.2.0 Alpha (HarmonyLink: Legacy)

26 Jun 21:22
Compare
Choose a tag to compare

New Features

  • Added new versioned API architecture, renaming endpoints.rs to endpoints_v1.rs and moving battery, os docking into a new v1 module. This new structure will facilitate version management of the API in the future.
  • Added supported_version variable in version struct and introduced a new API endpoint /api/supported_versions to query the server for supported versions.
  • Introduced stop_actix_web function to enable stopping the server.

Updates

  • Updated readme file with extensive changes including:
    • Removal of closed-source text.
    • Addition of Prerequisites section to the Getting Started.
    • Addition of FAQ section.
    • Updated license notice to reflect that HarmonyLinkServer cannot be redistributed.
    • Addition of Using HarmonyLinkServer section.
    • Removal of Conclusion and Getting Started sections as they are now included in the Wiki.
    • Addition of Table of Contents.
    • Introduction of Contributing Guidelines.
  • Updated version_pre to use string.
  • Updated endpoint naming from index to heartbeat for better clarity.

Bug Fixes

  • Fixed a compilation error on Linux.
  • Fixed an issue in the Readme.

Code Improvements

  • Removed external DLL and integrated its functionality directly into the application.
  • Added #[allow(unused_imports)] attribute to the hashset import, ignoring the unused import warning on the Windows platform.

Other Changes

  • Added a new Logo to the repository.
  • Enhanced the HarmonyLink: View section and added a new video to the showcasing section.

Version Bump

  • Version bumped to 0.2.0 Alpha.

Merges

  • Merge branch 'stable' into 'dev'.
  • Merge branch 'feature/Versioned_API' into 'dev'.
  • Merge branch 'release/V0.2.0_Alpha' into 'stable'.

Full Changelog: release_1.0.0...V0.2.0_Alpha

Release 0.1.0 (Legacy)