What's new in EzyPlatform 1.4.9?

This release focuses on improving the Media management system, making Media search and processing more accurate for each owner. EzyPlatform also adds information about the Admin or User performing Media operations, introduces APIs for restoring Media and retrieving the WebSocket URL, and improves the administration experience and file upload configuration.
  1. Improved Media search by original file name
    Media search by original file name has been improved to identify results more accurately based on ownership. The system now supports lookups using a combination of the file name and ownerAdminId or ownerUserId, while prioritizing Media owned by the Admin or User performing the request.
  2. Improved handling of Media with duplicate names
    When multiple Media records have the same original file name, the system selects the first record by ID within the corresponding owner's scope. Update operations performed by name now also resolve the Media ID before applying changes, helping prevent updates from affecting Media with the same name owned by another Admin or User.
  3. Improved Media access control
    Access validation for owner-only Media has been improved to fully support both Admins and Users. This ensures that viewing, downloading, and managing Media correctly follows the configured ownership permissions.
  4. Added Media restore API
    Users can now restore deleted Media through the new API: PUT /api/v1/media/{name}/restore. This API adds Media restoration support for Web and provides a more complete Media management lifecycle.
  5. Added WebSocket URL API
    Added GET /api/v1/settings/websocket-url to retrieve the WebSocket URL from the system configuration, making it easier for client applications to establish WebSocket connections.
  6. Added actor information to Media operations
    Media upload, download, replacement, update, removal, restoration, and file size reduction operations now consistently propagate byAdminId and byUserId. This makes it possible to identify the Admin or User performing each operation and provides complete context for subsequent processing.
  7. Extended Media Events
    Media Events have been migrated to use the Builder pattern and now include information about the actor performing the operation, including MediaAddedEvent, MediaDownloadEvent, MediaFileSizeReducedEvent, MediaRemovedEvent, MediaReplacedEvent, MediaUpdatedEvent, MediaUploadEvent, MediaUploadedEvent, GetMediaDetailsEvent, and ValidateMediaOwnerEvent.
  8. Extended Media Arguments in the SDK
    MediaUploadArguments, MediaUploadFromUrlArguments, and MediaDownloadArguments now include byAdminId and byUserId. In addition, MediaUploadArguments now provides fileMetadata for passing prepared file metadata through the Media processing flow.
  9. Added file validation before upload
    Files are now validated before being passed to MediaUpDownloader. At the same time, FileMetadata is prepared in advance for custom upload handlers, providing more consistent file validation and processing before Media is stored.
  10. Improved Media update behavior
    The system no longer overwrites originalName when an update request does not provide an original file name. In addition, MediaUpdatedEvent is now correctly emitted when Media visibility changes between public and private.
  11. Remembered Media list display mode
    The selected Media list display mode, ICONS or LIST, is now stored in the browser. When returning to the Media management page, the interface automatically restores the previously selected display mode.
  12. Improved the Media management interface
    The Media Details modal layout has been refined for better usability. The delete button and Media selection checkbox have also been repositioned to provide a clearer and more convenient administration experience.
  13. Adjusted the default Multipart configuration
    The default value of server.multipart.file_size_threshold has been reduced to 256KB. This change adjusts the Multipart file processing threshold in the platform's default configuration.
  14. Adjusted Admin file upload limits
    The Admin deployment configuration now reduces server.multipart.max_file_size and server.multipart.max_request_size from 500MB to 50MB, providing more appropriate default limits for file upload requests.