105 lines
5.7 KiB
Markdown
105 lines
5.7 KiB
Markdown
# Changelog
|
|
|
|
## [Unreleased]
|
|
|
|
|
|
## [01.04.00] --- 2026-06-07
|
|
|
|
|
|
## [01.03.00] --- 2026-06-07
|
|
|
|
|
|
## [01.02.00] --- 2026-06-07
|
|
|
|
### Added
|
|
- Joomla-styled standalone installer (MokoRestore) with 7-step wizard, admin password reset, and client provisioning
|
|
- Web cron trigger for shared hosting without crontab — URL-based backup with secret word, IP whitelist
|
|
- Placeholder support for backup directories and archive filenames ([host], [date], [site_name], [profile_name], etc.)
|
|
- FolderPicker JS placeholder resolution — resolves [site_name]/[host] when browsing, reverse-replaces on selection for portable profiles
|
|
- Archive Name Format field on backup profiles with customizable filename templates
|
|
- Interactive directory tree browser for exclude filters (replaces plain text input)
|
|
- Backup log viewer modal in backup records list and inline in detail view
|
|
- Clickable dashboard status tiles linking to backup records, detail views, and scheduled tasks
|
|
- Table exclusion now supports separate Data and Structure checkboxes (backward compatible)
|
|
- Tar.gz archive format support
|
|
- User group notifications for backup events
|
|
- Folder picker field with live server directory browsing
|
|
- Default directory dashboard warning when backups are stored inside web root
|
|
- Backup log files written alongside archives (.log)
|
|
- Backup detail view with checksum, file path, DB size, and embedded log
|
|
- Browser beforeunload warning during backup progress
|
|
|
|
### Changed
|
|
- Renamed all extension elements from mokobackup to mokojoombackup (pkg, com, all plugins, DB tables, namespaces, language keys)
|
|
- Renamed source directory from src/ to source/ per MokoStandards convention
|
|
- Dashboard health check shows actual resolved backup directory path from profiles
|
|
- Update site post-install notice links to filtered list view (avoids Joomla core bug)
|
|
- License warning suppressed when download key is already configured
|
|
- Download key preserved across package updates via preflight/postflight backup
|
|
|
|
### Fixed
|
|
- Download ERR_INVALID_RESPONSE — flush output buffers before sending file headers
|
|
- Backup directory path resolution for absolute paths outside web root
|
|
- Schema migrations consolidated to version within extension range
|
|
- PSR-4 class file naming (MokoBackup*.php → MokoJoomBackup*.php)
|
|
- Nested package directories from rename flattened
|
|
- INSERT IGNORE for default profile prevents duplicate key on update
|
|
- ActionlogsHelper::getIp() replaced — method does not exist in Joomla 5
|
|
- Console plugin namespace and quickicon translation keys
|
|
- CLI exit codes and SQL schema defaults
|
|
- Component Options page (added config.xml)
|
|
- Placeholder-aware directory checks in FolderPicker and dashboard health
|
|
|
|
## 01.01 — 2026-06-04
|
|
|
|
### Added
|
|
- Admin dashboard view as default landing page with status cards, quick actions, and system health checklist (#28)
|
|
- Console plugin (plg_console_mokojoombackup) — CLI commands: run, list, profiles, restore, cleanup (#29)
|
|
- Content plugin (plg_content_mokojoombackup) — auto-backup before extension install/update (#30)
|
|
- Actionlog plugin (plg_actionlog_mokojoombackup) — logs backup and profile actions to User Action Logs (#31)
|
|
- BackupEngine dispatches onMokoJoomBackupAfterRun event for plugin listeners
|
|
- Update site notice on dashboard and post-install
|
|
|
|
### Changed
|
|
- Renamed Kickstart to MokoRestore throughout
|
|
|
|
### Fixed
|
|
- SQL update migration and error handling
|
|
- Removed orphaned scriptfile from component manifest
|
|
- Consolidated admin files into single files block
|
|
|
|
## 01.00 — 2026-06-02
|
|
|
|
### Added
|
|
- Initial package structure with component, system plugin, task plugin, and webservices plugin
|
|
- Joomla Scheduled Tasks integration (plg_task_mokojoombackup) — create multiple tasks, each running a different backup profile on its own schedule
|
|
- Individual form fields for all profile settings (no raw JSON)
|
|
- FTP/FTPS uploader with recursive directory creation, passive mode, SSL, and size verification
|
|
- Google Drive uploader using OAuth2 refresh tokens and resumable upload API
|
|
- S3-compatible remote storage: AWS S3, Wasabi, Backblaze B2, MinIO (#16)
|
|
- RemoteUploaderInterface for pluggable storage backends
|
|
- Remote upload integrated into BackupEngine with option to delete local copy after upload
|
|
- Restore engine with file restoration and database import
|
|
- MokoRestore standalone restore script — self-contained site restoration without Joomla
|
|
- "Include Restore Script" toggle per profile
|
|
- FileRestorer with protected file handling (preserves configuration.php, .htaccess)
|
|
- DatabaseImporter with streaming line-by-line SQL execution and error tolerance
|
|
- Admin dashboard quickicon widget — backup status at a glance with warnings (#18)
|
|
- Differential backups — only back up files changed since last full backup (#19)
|
|
- DifferentialScanner with file manifests stored in backup records
|
|
- JPA archive format import for Akeeba Backup migration (#20)
|
|
- AES-256 archive encryption with per-profile password (#17)
|
|
- SHA-256 checksum verification for backup integrity (#15)
|
|
- Email notifications on backup success/failure via Joomla mailer (#14)
|
|
- Akeeba Backup Pro importer — profiles, filters, remote storage, and backup history
|
|
- Auto-disables Akeeba plugins and scheduled tasks after successful import
|
|
- AJAX step-based backup engine for shared hosting (overcomes max_execution_time)
|
|
- Progress bar modal in admin UI with real-time phase/percentage updates
|
|
- Per-profile archive settings: format, compression level, split size, backup directory
|
|
- Backup engine with database dumper, file scanner, and ZIP archive builder
|
|
- Backup profiles with independent configurations
|
|
- Backup record management (list, download, delete)
|
|
- CLI script for cron/scheduled backups
|
|
- REST API compatible with MokoJoomBackup MCP server
|
|
- System plugin for automatic backup cleanup with configurable retention
|