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! 🚀