Releases: Gml-Launcher/Gml.Web.Api
v1.0.3
Release Notes - Gml.Web.Api v1.0.3
📢 Gml.Web.Api v1.0.3 — Now Available!
This release introduces advanced player management APIs, enhanced profile handling, and improved error handling and security measures.
What’s New?
🎮 Player Management and Integration Enhancements
-
Player Management APIs:
- Added endpoints for fetching player lists, managing whitelists, and retrieving user head textures.
- Introduced data transfer objects to streamline player-related operations.
-
Player Whitelist Management:
- Added POST and DELETE operations for whitelist management within profiles, allowing users to be securely added or removed.
- Updated whitelist validation with precise UUID matching and case-insensitive comparisons.
-
Profile Enhancements:
- Updated
ProfileReadInfoDto
to include a list of whitelisted users. - Enhanced filtering logic to ensure profiles respect
IsEnabled
status and whitelist settings.
- Updated
🔒 Access Control and Authorization
-
Role-Based Security:
- Enforced role-based authorization for API endpoints, primarily restricting access to admin users.
- Updated profile retrieval logic to filter profiles based on user roles for added security.
-
Ban and Pardon Functionality:
- Introduced endpoints to ban or pardon players.
- Adjusted handlers and authentication logic to block banned users from accessing or performing unauthorized actions.
⚙️ API and Middleware Improvements
-
Enhanced Error Handling:
- Added try-catch blocks in
PluginMiddleware
to capture and report exceptions, ensuring robust error handling.
- Added try-catch blocks in
-
Refined Endpoint Logic:
- Updated whitelist endpoints to use route parameters (
profileName
anduserUuid
) for better specificity. - Ensured proper mapping of user data using
IMapper
for improved API response consistency.
- Updated whitelist endpoints to use route parameters (
-
Improved Data Precision:
- Changed
Real
andVirtual
properties inUnicoreAuthResult
andMoney
inAzuriomAuthResult
todecimal
types for better precision in financial and resource calculations.
- Changed
🛠️ Testing and Development Enhancements
-
Test Authentication Adjustments:
- Updated
TestAuthenticationHandler
to include an "Admin" role claim for role-based scenario testing.
- Updated
-
Middleware Enhancements:
- Introduced graceful exception handling in middleware with proper error responses and bug tracking integration.
🔗 Submodule Updates
- Updated Gml.Core and other submodule links to the latest versions for compatibility and feature alignment.
Upgrade now to leverage the powerful new capabilities and refinements! 🚀
🎉 A Huge Thanks to @PashkovD!
We want to express our gratitude to @PashkovD for their contribution in addressing a critical issue with skin URL handling. This fix resolves a long-standing problem that affected stability across various setups, improving the overall reliability of the system.
Your work has been instrumental in enhancing the experience for the entire community—thank you for your dedication and effort! 🚀
v1.0.2
Release Notes - v1.0.2
📢 Gml.Web.Api v1.0.2 — Now Available!
We’ve made significant improvements to authentication handling and security protocols.
What’s New?
🔐 Enhanced Authentication Feedback:
- AzuriomAuthService Updates:
- Added a specific error message for invalid credentials, improving error clarity and user feedback.
- Now checks for failed status codes and
"invalid_credentials"
in the response content to provide precise client responses.
🔑 Access Token Validation:
- Updated
AuthIntegrationHandler
to validate access tokens instead of passwords, aligning with updated security protocols. - Improved error handling for missing or invalid access tokens, ensuring better authorization feedback.
Upgrade now to benefit from these authentication improvements and enhanced security! 🚀
v1.0.1
Release Notes - v1.0.1
Fix folder white list
v1.0.0
Release Notes v1.0.0
📢 The Long-Awaited Release of Gml Launcher v1.0.0!
We are excited to announce the release of the first stable version of our launcher — v1.0.0! This release marks an important milestone in our development, as it brings not only significant improvements but also new features and bug fixes, ensuring a smoother and more reliable user experience.
📅 Key Features of v1.0.0:
- Full Stability: This version has undergone thorough testing and is now ready for error-free use.
- Improved Performance: The launcher has been optimized for faster loading times and reduced resource consumption.
- New Features: We’ve added support for additional settings and customization options for a more flexible user experience.
- Bug Fixes: Issues from previous versions have been resolved, and compatibility with various systems has been improved.
📥 Download and Install
You can download the latest version of Gml Launcher from our official GitHub repository.
Stay with us to not miss future updates and improvements!
Thank you for your support! We’re confident that with Gml Launcher, your experience will be even smoother and more productive. 🚀
v0.1.0-rc2-hotfix6
Release Notes - v0.1.0-rc2-hotfix6
v0.1.0-rc2-hotfix5
Release Notes - v0.1.0-rc2-hotfix5
v0.1.0-rc2-hotfix4
Release Notes - v0.1.0-rc2-hotfix4
v0.1.0-rc2-hotfix2
Release Notes - v0.1.0-rc2-hotfix2
Bug Fixes
- Fix texture URLs to only set when GUIDs are not empty:
Previously, texture URLs for skin and cape were always set regardless of whether their GUIDs were empty. This change ensures that texture URLs are set conditionally, only if the respective GUIDs are not null or empty, preventing potential issues with blank URLs.
v0.1.0-rc2-hotfix1
Release Notes - v0.1.0-rc2-hotfix1
New Features
-
Endpoints for Fetching User Skins and Cloaks:
Introduced new GET endpoints that allow retrieval of user skin and cloak textures. This enhancement improves user profile handling by integratingHttpContext
for better metadata management and profile interaction. -
Detailed Profile Information Endpoint:
Added a new POST endpoint/api/v1/profiles/details
that retrieves detailed game profile information. The endpoint includes input validation and requires authorization, providing structured responses with profile details.
Changes
-
Submodule Updates for Gml.Core:
Updated the Gml.Core submodule link multiple times to ensure compatibility with new feature additions and bug fixes. -
Texture Endpoint Configuration in GmlManager:
Expanded theGmlManager
configuration to include a newTextureEndpoint
parameter, defaulting to"http://gml-web-skins:8085"
. This update enhances the flexibility of managing texture service endpoints, with additional support for spaces and dashes in profile names. -
Removed Address and Port Properties from ServerReadDto:
Refined theServerReadDto
model by removing theAddress
andPort
properties, simplifying the object and aligning it with current application needs. -
Updated URL in MinecraftHandler:
Fixed the incorrect URL used for fetching cape textures by changing it from 'skins' to 'capes', ensuring proper resource access for user capes. -
Environment Variable Additions:
Introduced theSERVICE_TEXTURE_ENDPOINT
environment variable for configuring texture service URLs in development and testing environments. Added this variable tolaunchSettings.json
for seamless configuration during testing.
Bug Fixes
-
ProfileInfoTest Fixes:
Re-enabled and updated assertions in theProfileInfoTest
unit test, ensuring that profile data is correctly deserialized and validated. -
Adjusted Method Returns for Missing Environment Variables:
Removed exception throwing for missing environment variables in test methods and replaced it with returning empty strings to handle missing configuration more gracefully.
Tests
- Improved Unit Test Initialization and Console Information:
Updated unit tests to include restored settings and enhanced test console output, ensuring clarity and better tracking during test execution.
v0.1.0-rc2
Release Notes - v0.1.0-rc2
New Features
-
GET Endpoints for User Skins and Cloaks:
Added new GET endpoints to retrieve user skin and cloak textures. This update enhances texture management by providing an API for fetching user skins and cloaks directly, allowing for better customization and profile handling. -
Detailed Profile Information Endpoint:
Introduced a new POST endpoint/api/v1/profiles/details
to retrieve detailed information about game profiles. This endpoint validates input data and returns structured profile details, requiring user authorization for access.
Changes
-
Texture Endpoint in GmlManager Configuration:
Extended theGmlManager
configuration to include a new texture endpoint, defaulting tohttp://gml-web-skins:8085
. This change enables dynamic texture management and enhances environment variable handling to support profile names with spaces and dashes. -
Environment Variable for Texture Endpoint:
Added a new environment variableSERVICE_TEXTURE_ENDPOINT
for testing purposes. Additionally, updated the test methods to adapt to this new endpoint, improving flexibility and test coverage.
Bug Fixes
-
Re-enabled Profile Assertions in Unit Tests:
Previously disabled profile assertions in the unit tests were re-enabled and updated. These assertions ensure that profile data is properly deserialized and validated during testing, improving the robustness of the test suite. -
Method Return Adjustment in Tests:
Changed test methods to return empty strings instead of throwing exceptions when environment variables are missing. This prevents test failures and improves the reliability of the test setup.
Submodule Updates
- Update Submodule Link for Gml.Core:
Updated the submodule link forGml.Core
to ensure it points to the latest version, incorporating the latest changes and improvements from the core module.