What's new in EzyPlatform 1.1.2?

This release focuses on better control over permanent media deletion, expanded settings configuration, improved template/theme extensibility, and enhancements in SDK/Core utilities.
  1. Flexible control for permanent media deletion
    Introduced the allowPermanentlyDeleteMedia setting for both Admin and Web to control permanent deletion of media. Media deletion APIs no longer remove physical files or records by default, but instead follow this configuration. A new method MediaService.removeMediaPermanently(...) clearly separates soft delete and permanent delete behaviors. Admin UI only shows permanent delete actions when the setting is enabled. When a media is in DELETED status and allowed, the system will remove both the record and the associated file.
  2. Expanded media settings configuration
    Added the “Allow permanently delete media” option to both Admin Settings and Website Settings. Settings APIs were updated to support allowPermanentlyDeleteMedia. Web configuration variables are now clearly separated into webAllowReplaceMedia, webAllowReduceMediaFileSize, and webAllowPermanentlyDeleteMedia to avoid confusion with Admin settings. Additionally, the number of settings loaded per request has been increased from 12 to 30.
  3. Improved template and theme extensibility
    Admin layout now supports extension points such as additionalHeads, additionalStyles, additionalScripts, and additionalFoots. Added a styles fragment in fragments/additional.html to allow plugins and themes to inject CSS dynamically. New global JavaScript variables include ezyadmin.requestURI and ezyadmin.requestUriTemplate, along with the hook ezyadmin.photoSwipeLightboxDecorator(...)for customizing PhotoSwipe lightbox behavior. The ezytheme.htmltemplate was also updated with a more concise self-closing block syntax.
  4. SDK/Core enhancements and DataRecordCountService expansion
    Added the constant CommonConstants.ONE and new setting constants related to permanent media deletion. DataRecordCountServicehas been extended with increment/decrement methods that return updated values, including incrementRecordCountAndGet, decrementRecordCountAndGet, incrementRecordCountByDataNameAndRecordTypeAndGet, and decrementRecordCountByDataNameAndRecordTypeAndGet. DefaultDataRecordCountService now auto-creates records if missing and returns the updated count after each operation, improving data tracking consistency.