What's new in EzyPlatform 1.3.5?
This release expands media replacement history and file retention capabilities, adds new platform and module update commands to the CLI, enhances the SDK and Setting Service, and strengthens session security when account statuses change.
-
Keep previous media files after replacementWhen
allowKeepingReplacedMediais enabled, the system keeps the previous media file after replacement instead of deleting it immediately. This allows administrators to review, compare, or restore previous media versions when necessary. -
Added media replacement historyEzyPlatform now stores and displays the history of media files that have been replaced. Replacement history APIs are available for administrators with full media access, administrators who can only access their own media, and Web users who can only access media they own.
-
Improved duplicate media name handlingWhen uploading media or adding media from a URL with a name that already exists, the system automatically generates a new name to prevent overwriting and naming conflicts. The original filename is still preserved in
originalNameto retain the source file information. -
Enhanced validation when updating mediaWhen editing media, the system now prevents the use of an
originalNamethat already belongs to another media item. This helps maintain data uniqueness and avoids ambiguity when retrieving media by its original filename. -
Improved media deletion behaviorMedia deletion now respects the setting that controls whether physical media files should be permanently deleted. Additional tests have also been added for file deletion, retention, and replacement scenarios to improve system stability.
-
Enhanced media management interface in AdminAdded the
Allow keeping replaced mediaoption to the Admin and Website configuration sections, together with a new interface for viewing media replacement history. The media management interface has also been separated into dedicated modals for adding new media, viewing media details, viewing replacement history, and confirming the reduction of selected media files, making the code easier to maintain and extend. -
Added multilingual contentAdded translations for
allow_keeping_replaced_mediaandreplace_history, ensuring that the media retention option and replacement history interface are displayed consistently across supported languages. -
Added EzyPlatform update commands to the CLIThe CLI now provides the
updatecommand, withuand-uas aliases, for downloading and preparing the latest EzyPlatform version in the update directory. -
Added module update commandsAdded the
update-modulescommand, withumsand-umsas aliases, to check for, download, and prepare updates for installed modules. -
Separated the update application stepAdded the
run-updatecommand, withruand-ruas aliases, to apply downloaded update files and restart the services. Platform and module update commands now only download and prepare update files, while stopping and restarting the Admin, Web, and Socket services is handled separately byrun-update. -
Improved service start and restart behaviorStart and restart operations now automatically skip the Web or Socket service when the corresponding target is disabled. This prevents services that are not used in the current configuration from being started unintentionally.
-
Extended metadata APIs in the SDKAdded
getLatestAdminMetaByAdminIdAndMetaKey(...),getLatestUserMetaByUserIdAndMetaKey(...), andgetLatestDataMetaByDataTypeAndDataIdAndMetaKey(...). These APIs make it easier to retrieve the latest metadata entry for a specific object and meta key. -
Extended the Setting change watcher
SettingService.watchLastUpdatedTime(...)now supports thecallImmediatelyoption. Callers can choose whether the callback should run immediately when the watcher is registered or only when new changes occur afterward. -
Added constants for media replacementNew constants have been added for media replacement history and the setting that controls whether replaced media files should be retained. Standardizing these values improves consistency and reduces errors when they are used across multiple modules.
-
Strengthened session securityAdmin and User access tokens are now deleted when important account status changes occur. This prevents existing sessions from remaining active after an account is locked, has its status changed, or undergoes other security-related updates.
-
Added support for updating Admin access token expirationAdded a function for updating the expiration time of an Admin access token when the token exists. This allows the system to extend or adjust session lifetimes in appropriate business workflows.