Releases: Gml-Launcher/Gml.Launcher
v1.0.5
Release Notes - v1.0.5
📢 Gml.Launcher v1.0.5 — Now Available!
This release expands platform compatibility, enhances mod management, and includes performance improvements.
What’s New?
🏗 Expanded Runtime Support
- Linux ARM64 & ARM Support: Added
linux-arm64
andlinux-arm
to RuntimeIdentifiers, enabling compatibility with a wider range of Linux-based devices. - Better ARM Architecture Support: Ensures smoother performance and broader usability on ARM-based Linux systems.
🔧 Mod Management Enhancements
- Ensure Mods Directory Exists: The application now verifies and creates the mods directory if it is missing before retrieving optional mods. This prevents potential runtime errors and improves overall stability.
🚀 Performance & Code Improvements
- Gml.Client Refactor: Improved maintainability and performance by refining internal logic and reducing potential errors.
- Updated Submodule Link: Updated the
Gml.Client
submodule link to align with the latest improvements and ensure consistency across modules.
🚀 Upgrade to v1.0.5 now to experience better Linux support, improved mod handling, and a more stable launcher!
v1.0.4-hotfix1
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
withHasFileByHash
for improved clarity and consistency.
- Enhanced the
-
🧹 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.
- 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.Launcher v1.0.4 — Now Available!
We’re excited to announce the release of Gml.Launcher v1.0.4, which introduces several key improvements, bug fixes, and new features to streamline the user experience. This update includes enhanced RAM slider control, improved OS architecture detection, mod management, and several backend refinements.
What’s New?
🛠 RAM Slider Enhancements
- Dynamic Minimum Value & Tick Frequency: The RAM slider now adjusts its minimum value and tick frequency dynamically based on system specifications, offering more accurate and responsive control over memory allocation.
🖥 OS Architecture Detection
- Refined Architecture Detection: OS architecture detection has been refactored to utilize the RuntimeInformation API, providing more reliable results for system architecture identification.
🧩 Mods Management
- Mods Management Feature: Introducing the ability to view, enable, and disable optional mods directly within the launcher. This feature includes new UI components and backend logic to make mod management seamless.
- Empty Mods List Handling: Added a user-friendly message when no mods are available, improving visibility and error handling when mods fail to load.
- File Download Handling: The launcher now supports automatic downloading of missing files before toggling mod states, ensuring smooth installation and mod activation.
🔧 Improved Log Handling
- Log Queue Implementation: Replaced the log handling system with a
Queue
, ensuring a cleaner and more efficient log management with a 30-message history limit. This change helps maintain readability and allows users to easily trace recent actions. - Simplified Log Error Checks: Cleaned up redundant comment blocks and error-checking logic for better performance and maintainability.
⚙️ UI and Backend Enhancements
- Profile Page UI Update: Added an icon to the profile page’s link button for a more intuitive user interface.
- Refined Thread-Safe UI Updates: Refactored UI updates to use Dispatcher thread execution to avoid potential threading issues when making UI updates asynchronously.
- Error Handling: Improved error handling during game launches and mod activation, now showing more informative and user-friendly messages.
🏁 Process Management Refactor
- Game Process Termination: Replaced the inline game process termination logic with a dedicated
KillGameProcess
method. This refactor improves readability, maintains clean code, and integrates exception handling and error reporting for better debugging.
Special Thanks
A huge shoutout to @overlord-space for their invaluable contributions to this release, including refactoring the OS architecture detection and enhancing the RAM slider’s dynamic capabilities. Your work has significantly improved the launcher’s overall functionality and performance—thank you for your continuous support!
🚀 Upgrade to v1.0.4 now for a smoother, more powerful experience with Gml.Launcher!
This release is packed with improvements aimed at delivering a more reliable and user-friendly launcher experience. Happy modding and gaming!
v1.0.3
Release Notes - Gml.Launcher v1.0.3
📢 Gml.Launcher v1.0.3 — Now Available!
This release focuses on refining update handling, enhancing authentication and resource logic, improving UI flexibility, and expanding support for Minecraft skins.
What’s New?
🔄 Refactor Update Handling and Adjust Resource & Auth Logic
- Introduced conditional handling for
SkipUpdate
in debug mode to streamline testing workflows. - Removed unused server connection initiation in the login process for cleaner logic.
- Enhanced authentication by passing the user access token to the
GetProfiles
method. - Updated the local host resource URL for better consistency across requests.
🔒 Fix Logout to Clear User Data Properly
- Updated the logout functionality to nullify user data instead of setting it to an empty object. This ensures proper type alignment and eliminates potential inconsistencies.
🔗 Update Submodule
- Updated the Gml.Client submodule link to incorporate the latest changes.
🎨 New “Text” Style for GmlButton Component
- Added a new "Text" style for buttons, featuring:
- Rounded corners.
- Bold font styling.
- Consistent padding and height.
- This improves UI design consistency and expands button customization options.
⚡ Refactor LoadSystemData
- Simplified the asynchronous
LoadSystemData
method by directly returningTask.WhenAll
, improving readability and maintaining functionality.
🖼️ Support for Extended and Resized Minecraft Skins
- Added support for extended Minecraft skins, adjusting leg and arm cropping logic to accommodate additional dimensions.
- Ensured resizing aligns correctly with cloaks when present.
- Introduced a helper method,
ResizeImage
, for better scalability and maintainability.
v1.0.2
Release Notes - v.1.0.2
📢 Gml.Launcher v1.0.2 — Now Available!
This update introduces enhanced skin rendering and improved debugging capabilities.
What’s New?
🖼️ Enhanced SkinService:
- Added support for second-layer skin textures, enabling detailed rendering of additional layers for the head, body, arms, and legs.
- Streamlined redundant stream handling for improved performance.
🐞 Debug-Specific Configuration:
- Updated
Program.cs
to include debug-only enhancements using conditional compilation. - Added advanced logging and error handling for debug builds, including Sentry initialization and default exception handling.
- Optimized
BuildAvaloniaApp
usage for better debugging efficiency.
Upgrade now for a more robust and feature-rich experience! 🚀
v1.0.1
Release Notes v1.0.1
Changed the usage from AbsolutePath to LocalPath for folder paths to ensure compatibility with local file paths. Improved folder name validation by checking for whitespace instead of checking for uppercase letters or non-letter characters.
v1.0.0
Release Notes v1.0.0
We are excited to announce the release of the first stable version of our launcher — v1.0.0! This release marks a significant milestone, bringing substantial improvements, new features, and bug fixes, ensuring a smoother and more reliable user experience.
Key Changes
- Chinese Language Support: Added localization for the Chinese language, enhancing accessibility for Chinese-speaking users.
- Localization and Culture Management: Improved culture assignment for resources, positively impacting usability.
- New Properties in Interface: Introduced new properties in the interface to provide more detailed information and enhance the user experience.
Thank you for your ongoing support and feedback! We encourage all users to upgrade to this version to take advantage of the latest enhancements.
v0.1.0-rc2-hotfix1
Release Notes - v0.1.0-rc2-hotfix1
Fixes
Comment out direct user re-authentication process handling, and update the IsAuth
property to validate using the existing authUser
. This change simplifies the flow by relying on previously stored authentication information.
v0.1.0-rc2
Release Notes - v0.1.0-rc2
New Features
- LogHandler Service for Improved Log Processing:
Introduced aLogHandler
class to streamline log management and processing. This service has been integrated intoOverviewPageViewModel
andServiceLocator
, enhancing error handling and providing better logging capabilities.
Documentation
-
Comprehensive Installation Instructions in README.md:
Added detailed installation instructions to theREADME.md
for the GamerVII Launcher. The guide includes prerequisites, installation steps, troubleshooting tips, update instructions, and uninstallation steps, providing users with clear, step-by-step guidance. -
README.md Added to Gml.Client Solution:
The solution file has been updated to includeREADME.md
for theGml.Client
project. This change provides developers with documentation directly within the project for easier reference and setup.
Bug Fixes
- Prevent Further Processing of Error Data:
A return statement was added to theHandleErrorData
method to stop any further execution of code once an error is detected, preventing unnecessary processing and improving performance.
v0.1.0-rc1
Release Notes - v0.1.0-rc1
New Features
-
Handle Disk Full Errors with Localized Messages:
Added a newIsDiskFull
resource string available in multiple languages to display an error message when the disk is full. Updated theSystemService
andOverviewPageViewModel
to catchIOException
and check for disk full errors using the newIsDiskFull
method inSystemService
. -
Add Error Handling for Game Profile Initialization:
Introduced a new "GameProfileError" message in resource files. Implemented logic to capture and display this error during game profile initialization, ensuring that issues are properly logged and communicated to the user.
Changes
-
Remove Redundant Command Execution:
Eliminated the redundantCommand.Execute
call within the button click event handler, as the command is already executed elsewhere. This change improves code readability and prevents potential double execution of the command. -
Add Placeholder for Sentry Java Logging:
Added commented-out code as a placeholder for future Sentry logging implementation, which will facilitate capturing Javalog4j
-related exceptions once integrated. -
Update Submodule Link Gml.Client:
Updated the submodule link forGml.Client
to the latest version, ensuring compatibility and incorporating recent changes.
Bug Fixes
-
Fix Errors with Folders Containing UTF-8 Characters or Spaces:
Addressed an issue that caused errors when handling folders with UTF-8 characters or spaces in their names, ensuring proper functionality across different file systems. -
Resolve NETSDK1206 Warnings and Update License String:
Fixed warnings related toNETSDK1206
inGml.Launcher.csproj
by updating the license string. Additionally, addedRuntimeIdentifiers
to accelerate the build process.
Refactoring
- Add GameProfileError Constant to ResourceKeysDictionary:
Introduced a new constant,GameProfileError
, in theResourceKeysDictionary
to standardize error handling for game profile issues, making the codebase more maintainable.