Files
2026-06-07 02:21:55 +00:00

5.7 KiB

Changelog

[Unreleased]

[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