# Changelog All notable changes to AeonDumpManager will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [0.1.0] - 2026-11-02 ### Changed - Requires Shopware 6.7 (`shopware/core ~6.7.0`); 6.6 stays on the 0.0.x line. - Administration: the list page is registered lazily, uses Meteor components (`mt-button`, `mt-banner`, `mt-progress-bar`) and stops polling on `beforeUnmount` (Vue 3). ### Fixed - The admin build failed on a combined `import type` statement, so the Settings card never appeared. - Delete did nothing and the create progress modal never showed: both modals sat outside `sw-page`'s named slots, which Vue 3 drops. They now live in `#content`. - Creating a dump failed on MariaDB when only MySQL 8's `mysqldump` was installed (`Unknown table 'COLUMN_STATISTICS'`); it now passes `--column-statistics=0` in that case. ### Removed - The Settings sidebar navigation entry; the plugin is reached through its card in Settings → System, like core settings modules. ## [0.0.6] - 2026-10-04 ### Changed - Services and routes are now configured in YAML; the plugin requires PHP `^8.2`. - Release pipeline: the packaged `shopware-cli` zip (with prebuilt assets) is validated and used for the Gitea Release; the Composer registry gets the same content repacked root-level (Gitea requires `composer.json` at the zip root). The release is created through the Gitea API after packaging, so a failed build no longer leaves an orphan tag. - New PR checks: `shopware-cli` validate, package build and phpunit (with a cached Shopware project and database). - The PR version check compares against the latest published release instead of the version on `main`. ### Added - Dedicated `aeon_dump_manager` monolog channel; dump jobs, deletions and purges are logged. - Extension icon and `.config/shopware-extension.yml`. ### Fixed - The packaged zip no longer contains `.gitea/` and `.config/`. - Release steps are idempotent (existing release and asset are reused, registry 409 counts as published), so a failed release can be re-run to completion. ### Removed - Empty plugin lifecycle overrides. ## [0.0.5] - 2026-09-21 ### Fixed - Changed namespace ## [0.0.4] - 2026-09-21 ### Fixed - Published Composer packages are now linked to this repository (previously the release workflow published them without a repository association, so they did not appear under the repo's Packages tab). ## [0.0.3] - 2026-09-17 ### Added - Filter the dump list by date range and sort by date or size; dates use Shopware's locale-aware formatting. ## [0.0.2] - 2026-09-21 ### Added - Automated release pipeline: a pre-merge check enforcing a semver version bump and a matching CHANGELOG entry on every PR into `main`, and a post-merge workflow that tags the release, packages the plugin with `shopware-cli`, publishes a Gitea Release with the packaged zip, and publishes the package to this Gitea instance's Composer registry. - `main` is now a protected branch: no direct pushes, merges require the version/changelog check to pass. ## [0.0.1] - 2026-09-15 ### Added - List, create, delete, and download gzip-compressed SQL dumps from a Settings admin page (async creation with a polling progress bar) or via the `aeon:dump:list`, `aeon:dump:create`, and `aeon:dump:remove` console commands (sync). Dumps are produced with `mysqldump`/`mariadb-dump` (auto-detected, overridable via `dumpBinaryName`) and stored in the plugin's private filesystem. - Retention controls: `maxDumps` purges the oldest dump when the limit is reached; `retantionDays` purges expired dumps and stale job rows via a scheduled task. - ACL-gated by `aeon_dump_manager.viewer`/`.creator`/`.deleter`, enforced client- and server-side.