Files
AeonDumpManager/CHANGELOG.md
haylanandClaude-Bot 5a482b49bb feat(dump): add date-range filter, sortable columns, and native date formatting to admin list
- Wires the backend from/to filter into the UI via sw-filter-panel with
  a hand-built date-filter config (no DAL entity needed — sw-filter-panel's
  only external dependency, filterService, persists through the generic
  user_config entity, not one for the filtered resource).
- Makes the datetime and sizeBytes columns sortable (ascending/descending)
  using the same Mixin.getByName('listing') core list pages use, which
  also persists sort state in the URL query string.
- Replaces the ad hoc `new Date(value).toLocaleString()` with
  Shopware.Utils.format.date, matching the existing fileSize formatting
  and respecting the admin's locale/timezone.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 12:39:23 +02:00

1.4 KiB

Changelog

All notable changes to AeonDumpManager will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • List, create, and delete SQL database dumps from a Settings admin page (nested under Settings, per Shopware's Add Menu Entry guide) and via aeon:dump:list/aeon:dump:create/aeon:dump:remove console commands.
  • Dumps are created with mysqldump/mariadb-dump (auto-detected, with an optional dumpBinaryName override), gzip-compressed, and stored in the plugin's private Flysystem mount.
  • maxDumps auto-purges the oldest dump on creation; retantionDays purges dumps and stale job rows on a recurring scheduled task.
  • Admin UI dump creation runs asynchronously via Symfony Messenger with a polling progress bar; console creation runs synchronously.
  • ACL-gated (aeon_dump_manager.viewer/.creator/.deleter), enforced both client-side and server-side.
  • Filter the dump list by a from/to date range, and sort the datetime/sizeBytes columns ascending or descending. Dates are formatted with Shopware's locale/timezone-aware Shopware.Utils.format.date, matching the existing fileSize formatting.