Skip to content

Releases: Gml-Launcher/Gml.Client

v2025.3.3

27 Dec 22:32
3ffd7ef

Choose a tag to compare

What's Changed

Full Changelog: v2025.3.2.1...v2025.3.3

v2025.3.3-alpha1

07 Nov 13:36

Choose a tag to compare

v2025.3.3-alpha1 Pre-release
Pre-release

What's Changed

Full Changelog: v2025.3.2.1...v2025.3.3-alpha1

v2025.3.2.1

02 Nov 09:33
ce7bdec

Choose a tag to compare

What's Changed

Full Changelog: v2025.2...v2025.3.2.1

v2025.2

28 Sep 09:34
596dccf

Choose a tag to compare

What's Changed

Full Changelog: v2025.1.1...v2025.2

2025.1.1

17 Aug 09:08
6a95aa9

Choose a tag to compare

Release Notes - 2025.1.1

📢 Gml.Client v2025.1.1 — Now Available!
This release focuses on introducing offline mode, supporting two-factor authentication (2FA), extending DTOs, improving memory handling, and enhancing code maintainability.


What’s New?

🛠️ Offline Mode

  • Full Offline Functionality: Users can now run the client without network access.
  • Path Fixes: Corrected issues with incorrect paths when operating in offline mode.

🔐 Two-Factor Authentication (2FA)

  • 2FA Detection: Added logic to detect when 2FA is required during login.
  • Consistent Authentication: Introduced AuthWith2Fa method to simplify and standardize 2FA handling.

📦 Extended DTOs and Memory Optimization

  • New and Updated DTOs: Added CategoryReadDto, ProductReadDto, RecloudPluginCreateDto, and extended existing DTOs (ProfileReadDto, ProfileReadInfoDto, ProfileUpdateDto, AuthCustomResponse, FileWhiteListDto).
  • Recommended RAM: Added RecommendedRam property and improved RAM calculation in OverviewPageViewModel.
  • Default Settings Update: Adjusted default RAM values and host configuration options for better performance.

🔍 Code Refactoring and Improvements

  • Standardized Method Names: Renamed methods for clarity, e.g., ReadJsonResponse and GetOfflineProfiles.

  • Parameter Replacement and Debug Logging: Added case-insensitive string comparison and improved variable naming for logs.

  • Backend Checks: CheckBackend and CheckAPI now return bool for clarity.

  • Enhanced Error Handling:

    • Added Sentry exception capture for incomplete file downloads.
    • Backend health check falls back to /health if the main check fails.
  • Updated Dependencies: Upgraded project packages to latest stable versions for improved stability.


🚀 Upgrade to v2025.1.1 now to enjoy offline mode, 2FA support, improved RAM management, and a more maintainable client!

v1.0.7

07 Jun 18:15
30c21aa

Choose a tag to compare

Release Notes - v1.0.7

📢 Gml.Client v1.0.7 — Now Available!
This release focuses on improving file and folder handling robustness, enhancing code maintainability, and updating documentation for better user experience.


What’s New?

🛠️ Improved File and Folder Handling

  • Robust Whitelist Logic: Refined whitelist folder checks to handle missing files gracefully, with improved path normalization to prevent errors during update processing.
  • Directory Existence Checks: Updated file retrieval logic to verify directory existence before processing, ensuring stability and preventing errors.

🔍 Code Refactoring and Maintainability

  • Clearer Validation Logic: Extracted reusable methods for file and folder whitelist validation, improving code readability and maintainability.
  • Optimized Connection Handling: Adjusted GmlClientManager to skip unnecessary operations when user authentication fails, enhancing performance.
  • Enhanced Debug Logging: Added file directory information to debug logs for better exception tracking and troubleshooting.

📝 Documentation Improvements

  • Project Logo in README: Added the project logo to the top of the README file, improving visual appeal and providing clear branding for users.

🚀 Upgrade to v1.0.7 now for more robust file handling, cleaner code, and an improved documentation experience!

v1.0.6

30 Mar 11:10
da10c33

Choose a tag to compare

Release Notes - v1.0.6

📢 Gml.Client v1.0.6 — Now Available!
This update introduces new features for profile management, enhanced file validation, expanded mod support, and various improvements for better stability and performance.


What’s New?

🆕 Improved Profile Management

  • Profile Display Names: Introduced the DisplayName property across multiple profile-related interfaces and DTOs to enhance identification.
  • Extended Profile States: Added new ProfileState values (NeedCompile, Packing) to support additional lifecycle states.
  • Enhanced Profile Handling: Updated profile creation, updating, and mod management methods to accommodate these changes.

🔍 Enhanced Debug Logging and Validation

  • File Download Debugging: Added detailed directory information to debug logs, aiding in troubleshooting file downloads.
  • Modular File Validation: Implemented a decorator-based validation architecture to streamline update and deletion checks.
  • Hash Verification Update: Switched to SHA1 for consistent and reliable file integrity checks.

🌍 Expanded Mod Support & API Enhancements

  • New APIs: Introduced methods for retrieving news and downloading versions.
  • CurseForge Support: Enhanced mod and launcher interfaces with new properties and methods for broader compatibility.
  • Target Framework Upgrades: Updated project files to support newer frameworks (net8.0, net9.0, netstandard2.1).

📰 New News System & UI Integration

  • News Component: Added a dedicated "News" section to the Overview Page View for real-time updates.
  • GitHub Service Interface: Introduced IGitHubService for future GitHub-related integrations.
  • New Interfaces for News Management: Includes INews, INewsData, INewsProvider, and INewsListenerProvider.

🔄 Reliability and Performance Improvements

  • Retry Logic for API Calls: Implemented a retry mechanism (max 3 attempts) for GetProfiles API calls to improve reliability.
  • Improved Authorization Handling: Ensured proper management of authorization headers in API requests.
  • Path Handling Fixes: Standardized path normalization across the application to prevent inconsistencies, especially for Linux environments.

🚀 Upgrade to v1.0.6 now for better profile management, improved validation, expanded mod support, and a more stable experience!

v1.0.5

12 Feb 14:44
c18dcf8

Choose a tag to compare

Release Notes - v1.0.5

📢 Gml.Client v1.0.5 — Now Available!
This release includes improvements to error tracking, installation validation, and overall robustness.


What’s New?

🛠 Enhanced Error Tracking with Sentry

  • Sentry Package Integration: Added Sentry (v4.13.0) to project dependencies to enable error tracking and debugging improvements.
  • Improved Debugging Capabilities: Errors and exceptions are now logged through Sentry, allowing for better diagnostics and issue resolution.

🔍 File Validation Before Installation

  • Pre-Installation Validation: Implemented a validation step to detect missing or erroneous files before installation.
  • Error Logging with Sentry: If issues are found, an exception is logged via Sentry to enhance error tracking and troubleshooting.
  • Improved Installation Robustness: Helps prevent installation failures and ensures a smoother setup experience.

🚀 Upgrade to v1.0.5 now to benefit from enhanced error tracking, improved installation validation, and a more reliable experience!

v1.0.4-hotfix1

28 Jan 18:28
9b17e22

Choose a tag to compare

Release Notes - v1.0.4-hotfix1

  • 🛠 Refactored File Removal Logic for Better Accuracy

    • Enhanced the IsNeedRemove method to properly filter files, ensuring:
      • Empty files and mismatched files (by hash or size) are correctly removed.
      • Allowed paths and whitelisted files are preserved.
    • Simplified file hash comparison by replacing CompareHashOptionalMods with HasFileByHash for improved clarity and consistency.
  • 🧹 Code Refactor for Better Readability

    • Reordered conditions in the IsNeedRemove method to:
      • Evaluate allowed paths before checking file size.
      • Improve the logical flow without introducing functional changes.

🔧 Impact:

This hotfix ensures better accuracy in file handling, improves code maintainability, and resolves potential edge cases in file removal logic.


Make sure to apply this hotfix to benefit from the improved file filtering mechanism! 😊

v1.0.4

26 Jan 15:02
1ca314c

Choose a tag to compare

Release Notes - v1.0.4

📢 Gml.Client v1.0.4 — Now Available!
This release focuses on expanding platform compatibility, introducing optional mod management, and improving authentication workflows and file handling.


What’s New?

💻 Expanded Platform Support

  • Include macOS in chmod Execution Process:
    • Adjusted the ChangeProcessRules method to handle file permission modifications for macOS, ensuring cross-platform compatibility.

🛠️ Authentication Enhancements

  • User Name Assignment in authUser Object:
    • Fixed an issue where the Name property of the authUser object was not being populated upon successful authentication.
    • Ensures consistent data retrieval and improves reliability of authentication processes.

🎮 Optional Mods Management

  • Toggle Optional Mods:
    • Added functionality to manage and toggle optional mods directly within the game launcher.
    • Streamlined API interactions for mod handling and improved cleanup logic.
  • Improved Type Consistency:
    • Refactored namespaces and standardized type definitions across interfaces, ensuring uniformity and maintainability.

📥 Enhanced File Management

  • New DownloadFiles Method:
    • Introduced in GmlClientManager and its interface to handle file downloads based on profile information.
    • Improved hash comparison logic in SystemIOProcedures to enhance optional mod verification and management.

Additional Notes

  • Refactoring and Optimization:
    • Multiple files were updated to optimize formatting, dependency usage, and general code cleanliness.
    • Removed redundant methods and refined processes for better resource management.

Upgrade now to take full advantage of these new features and improvements! 🚀


🎉 Huge thanks to @overlord-space for including macOS support in the chmod execution process within the ChangeProcessRules method (#45)! 🙌

Your contribution enhances cross-platform compatibility and makes our client more versatile. Great work! 🚀👏