Files
AeonDumpManager/CHANGELOG.md

93 lines
3.8 KiB
Markdown

# 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.