Releases: Gml-Launcher/Gml.Client
v2025.3.3
What's Changed
- Update develop from master by @GamerVII-NET in #73
- Update to v2025.3.3 by @GamerVII-NET in #74
Full Changelog: v2025.3.2.1...v2025.3.3
v2025.3.3-alpha1
What's Changed
- Update develop from master by @GamerVII-NET in #73
Full Changelog: v2025.3.2.1...v2025.3.3-alpha1
v2025.3.2.1
What's Changed
- Update to v2025.3 by @GamerVII-NET in #70
- Migrate from
Gml.Web.Api.DtotoGml.Dtopackage and update projec… by @GamerVII-NET in #71 - Update SignalR.Client package to version 8.0.21 by @GamerVII-NET in #72
Full Changelog: v2025.2...v2025.3.2.1
v2025.2
What's Changed
- Merge pull request #67 from Gml-Launcher/develop by @GamerVII-NET in #68
- Update to v2025.2 by @GamerVII-NET in #69
Full Changelog: v2025.1.1...v2025.2
2025.1.1
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
AuthWith2Famethod 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
RecommendedRamproperty and improved RAM calculation inOverviewPageViewModel. - 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.,
ReadJsonResponseandGetOfflineProfiles. -
Parameter Replacement and Debug Logging: Added case-insensitive string comparison and improved variable naming for logs.
-
Backend Checks:
CheckBackendandCheckAPInow returnboolfor clarity. -
Enhanced Error Handling:
- Added Sentry exception capture for incomplete file downloads.
- Backend health check falls back to
/healthif 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
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
GmlClientManagerto 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
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
DisplayNameproperty across multiple profile-related interfaces and DTOs to enhance identification. - Extended Profile States: Added new
ProfileStatevalues (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
IGitHubServicefor future GitHub-related integrations. - New Interfaces for News Management: Includes
INews,INewsData,INewsProvider, andINewsListenerProvider.
🔄 Reliability and Performance Improvements
- Retry Logic for API Calls: Implemented a retry mechanism (max 3 attempts) for
GetProfilesAPI 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
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
Release Notes - v1.0.4-hotfix1
-
🛠 Refactored File Removal Logic for Better Accuracy
- Enhanced the
IsNeedRemovemethod 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
CompareHashOptionalModswithHasFileByHashfor improved clarity and consistency.
- Enhanced the
-
🧹 Code Refactor for Better Readability
- Reordered conditions in the
IsNeedRemovemethod to:- Evaluate allowed paths before checking file size.
- Improve the logical flow without introducing functional changes.
- Reordered conditions in the
🔧 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
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
ChangeProcessRulesmethod to handle file permission modifications for macOS, ensuring cross-platform compatibility.
- Adjusted the
🛠️ Authentication Enhancements
- User Name Assignment in
authUserObject:- Fixed an issue where the
Nameproperty of theauthUserobject was not being populated upon successful authentication. - Ensures consistent data retrieval and improves reliability of authentication processes.
- Fixed an issue where the
🎮 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
DownloadFilesMethod:- Introduced in
GmlClientManagerand its interface to handle file downloads based on profile information. - Improved hash comparison logic in
SystemIOProceduresto enhance optional mod verification and management.
- Introduced in
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! 🚀👏