What's new in EzyPlatform 1.1.5?

This release introduces a major access-token architecture upgrade, expands admin management capabilities, enhances metadata handling, and adds new SDK utilities.
  1. Major access-token storage redesign
    The access-token structure has been redesigned. ezy_admin_access_tokens and ezy_user_access_tokens now use bigint auto_increment as their primary key. Actual tokens are stored in a new token column, with ezy_admin_access_tokens.token protected by a key_token unique index. Legacy access-token metadata components such as AccessTokenMeta, AccessTokenMetaModel, SaveAccessTokenMetaModel, and AccessTokenMetaServicewere removed, along with a migration script: ezyplatform-alter-drop-access-token-meta.sql.
  2. Expanded admin profile management capabilities
    Administrators with admin_management permission can now update avatars and cover images for other administrators through: PUT /api/v1/admins/{username}/update-avatar and PUT /api/v1/admins/{username}/update-cover-image. The admin profile UI was also updated to display edit actions only when the current user has sufficient permissions.
  3. Improved login and password reset experience
    The password-reset page now displays the username currently being reset. Pressing Enter in password fields automatically submits the form. Usernames are stored in localStorage after password reset and automatically pre-filled on the login page for a smoother experience.
  4. Enhanced access-token management and filtering
    Added pagination and filtering services for both admin and user access tokens, including: PaginationAdminAccessTokenService, PaginationUserAccessTokenService, AdminAccessTokenFilter, and UserAccessTokenFilter. Token queries now support sorting by ID_DESC. Access-token repositories were also updated to operate directly on token values via methods such as findByToken, deleteByToken, deleteByTokenAndAdminId, and deleteByTokenAndUserId. New token status LOGGED_OUT, token type API_KEY, and helper method AccessTokenType.equalsValueIgnoreCasewere added.
  5. Extended authentication support for Web Management APIs
    WebManagementAuthenticationInterceptornow supports reading admin access tokens from Authorization: Bearer <token>headers in addition to existing parameters and cookies. Integration tests were added for different token transmission methods, and login redirect handling was updated using the ZERO constant for token-cookie cleanup.
  6. Expanded metadata services and query capabilities
    AdminMetaService, UserMetaService, and DataMetaServicenow support saving metadata with metaNumberValue and metaTextValue. Services can retrieve metadata using owner information plus metaKey and metaValue, prioritizing the latest record. Metadata deletion by owner and key was also added. The ezy_data_meta.meta_key column length was increased from varchar(120)to varchar(255).
  7. Improved settings handling and SDK utilities
    AdminSettingService.addNewSettingIfNotExistsnow supports lazy initialization via EzySupplier<SaveSettingModel>, reducing unnecessary object creation. Additional SDK utilities include: Strings.containsControlCharacter, Strings.toStringOrNull, Uris.addQueryParameter, Uris.querySeparator, and new constants such as HTTP, TOKEN_TYPE_BEARER, ONE_HUNDRED_BIG_DECIMAL, and ONE_HUNDRED_BIG_INTEGER.