What's new in EzyPlatform 1.4.5?

This release completes multi-Market support, ensuring that SSO, plugin purchases, and plugin installations use the correct source Market. EzyPlatform also introduces independent Platform Key management for each Market, expands Admin UI customization, and improves several APIs, SDK components, and administration features.
  1. Completed multi-Market SSO support
    The SSO login flow now uses the correct Market that hosts the plugin. EzyPlatform remembers the Market throughout the redirect and callback process, then automatically returns users to the correct Market after login. This ensures a consistent SSO experience in environments configured with multiple Markets.
  2. Synchronized plugin operations with the source Market
    Plugin purchase, installation, review, author, and detail links now use the correct source Market. Plugin list pagination also preserves Market information, preventing links or images from incorrectly pointing to another Market.
  3. Added independent Platform Key management for each Market
    Each Market can now use its own Platform Key and dedicated key storage file. Platform Keys are cached by Market URL instead of sharing a single key across the entire system. Module installation, statistics reporting, and SSO authentication automatically use the appropriate Platform Key for the current Market.
  4. Expanded Admin UI customization
    The Admin interface can now be further customized through configuration or settings. The EzyPlatform logo can be changed using ezyplatform.logo_url, copyright content using ezyplatform.copyright, and the contact link using ezyplatform.contact_url. This makes it easier for EzyPlatform deployments to customize branding and displayed information for their own requirements.
  5. Added HMAC-SHA256 to the Common SDK
    The Common SDK now provides Hashes.hmacSha256(key, data) for generating HMAC-SHA256 signatures, supporting use cases that require data integrity verification or request signing between systems.
  6. Added TextValueResult
    Introduced TextValueResult for queries that return a single text value, helping standardize result models and simplify the corresponding Repository queries.
  7. Improved fallback for EzyPlatform Guides
    If the configured Market does not respond when requesting EzyPlatform Guides, the platform automatically falls back to the default server to retrieve the content. This helps keep the Guides page available when a custom Market is temporarily unavailable.
  8. Standardized the Market URL list
    When reading market.url and market.urls, the platform now automatically removes duplicate Market URLs, ensuring consistent Market handling and avoiding unnecessary requests.
  9. Improved Socket SSL password configuration
    The Socket configuration page now displays the masked ****** value for SSL certificate or keystore passwords only when the corresponding password file actually exists and contains data. This provides a more accurate representation of the current configuration and avoids indicating that a password has been configured when it has not.
  10. Improved the Admin UI experience
    Admin warning dialogs now have a maximum height and support scrolling when displaying long content. The Footer has also been updated to correctly handle cases where the configured copyright content is an empty string.
  11. Extended Common Entity Fetchers
    CommonAdminEntityFetcher and CommonUserEntityFetcher now support additional Entity Types corresponding to SocketUserType.ADMIN and SocketUserType.USER, providing more consistent entity identification and retrieval across environments.
  12. Fixed multi-Market issues
    Fixed cases where the wrong Market could be used when purchasing or installing plugins. Plugin image, review, author, and detail links now consistently preserve the correct source Market during pagination. The default Market's Platform Key is also no longer incorrectly shared with custom Markets.
  13. Improved Market SSO safety
    Plugin names and callback parameters in the Market SSO flow are now safely encoded before being included in URLs, ensuring redirects work correctly with values containing special characters.