1
Changelog
Jonathan Miller edited this page 2026-06-29 16:48:01 +00:00

Changelog

Full changelog is maintained in CHANGELOG.md in the repository.


[Unreleased]

Added

  • Customizable restore script filename per backup profile
  • MokoRestore standalone mode: multi-ZIP selector when multiple archives are present
  • MokoRestore preflight: Joomla installation detection warning before overwriting
  • MokoRestore error handling: try/catch on fetch calls, HTTP status checks, JSON parse recovery
  • Download button on individual backup record detail toolbar
  • Profile column in backup records list links to the profile edit view

Changed

  • Moved download, browse archive, and view log actions from backup list rows into individual backup record view
  • Removed "Run Backup" / "Backup Now" buttons from profiles list, profile edit toolbar, and backup records view (backups are triggered from the dashboard only)
  • Removed ordering field from profiles; default sort is now by ID ascending
  • MokoRestore cleanup and security messages reference the actual script filename

Fixed

  • Bootstrap 5 modal conversion for snapshots view
  • ntfy default URL changed to ntfy.mokoconsulting.tech
  • Untranslated language keys replaced with component-specific keys
  • Options page title now shows "MokoSuiteBackup Options"
  • Profile dropdown IDs show "#ID — Title (type)" format
  • MokoRestore stalling: unhandled promise rejections from network errors

[01.43.00] — 2026-06-24

[01.42.00] — 2026-06-23

[01.41.00] — 2026-06-23

Added — Multi-Remote Storage

  • New #__mokosuitebackup_remotes table for multiple destinations per profile
  • Remote destinations UI: AJAX-driven add/edit/delete/toggle modal on profile edit
  • Engine uploads to ALL enabled destinations
  • Migration auto-converts existing SFTP/S3/GDrive/FTP profile columns to new table

Added — Content Snapshots

  • Lightweight JSON snapshots of articles, categories, and modules
  • Includes tags, custom fields, workflow associations, field values
  • Restore modes: Replace, Merge, Selective (per-article)
  • Snapshot retention: max count + max age with automatic cleanup
  • Scheduled snapshot task via com_scheduler
  • CLI: mokosuitebackup:snapshot create|restore|list|delete
  • REST API: create, list, restore, delete, download snapshots

Added — SFTP Remote Storage

  • SFTP support with SSH key file authentication
  • Auth type dropdown: Password / Key File / Key File + Passphrase
  • SFTP remote directory browser for path selection

Added — MokoRestore Wizard (9 steps)

  • Per-table conflict resolution: Replace / Skip / Merge / Data Only
  • Post-restore actions: reset passwords, hits, versions, sessions, cache
  • Auto-detect sanitized passwords and prompt for reset
  • Standalone and wrapped modes
  • Security gate with filesystem verification + path traversal protection

Added — Data Sanitization

  • Sanitize user passwords, emails, sessions
  • Preserve super admin credentials (optional)
  • GDPR-friendly backup sharing for demos and staging sites

Added — Backup Engine

  • Pre-flight validation: directory, disk space, extensions, credentials
  • Auto-verify archive integrity after creation (ZIP, tar.gz, 7z)
  • 7z archive format via system 7za/7z CLI binary with native encryption
  • Streaming database dump to temp file (prevents OOM)
  • S3 streaming upload via CURLOPT_PUT (prevents OOM)

[01.24.00] — 2026-06-02

Added

  • Initial release: full-site backup and restore for Joomla 6
  • Database, files, and configuration backup
  • ZIP and tar.gz archive formats with AES-256 encryption
  • Differential backups based on file manifests
  • FTP/FTPS, S3, Google Drive remote storage
  • MokoRestore standalone restore wizard
  • CLI backup and restore commands
  • REST API for remote management
  • Scheduled tasks via com_scheduler
  • Email and ntfy push notifications
  • Per-profile retention, exclusions, and notifications
  • Akeeba Backup migration tool
  • Admin dashboard with system health checks