Releases: nonatech-uk/wp-backup
Releases · nonatech-uk/wp-backup
Release list
v1.15.0
Add Loki Logging
v1.14.0: Add Loki logging for backup/restore lifecycle Adds optional integration with loki-logger mu-plugin. Logs backup start/complete/fail, restore success/failure, scheduler skips, and updater errors. Replaces error_log() calls with structured logging. No-op when mu-plugin is absent. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Changes to Cope with Low Resource Hosts
v1.13.0: Low-memory hosting fixes — split init/scan and stream file list Split step_init into init (DB export/upload) and scan (directory walk) so each runs in its own AJAX cycle. Stream file list directly to wp_options in 200-file batches during the scan instead of accumulating 50k+ paths in a single array. Add shutdown handler to surface PHP fatal errors (OOM, timeout) as JSON instead of silent "Status poll failed". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add compression to database backups
v1.12.0: Gzip database dumps before S3 upload SQL dumps compress ~10:1, saving significant S3 storage and upload time. Backup streams through gzopen/gzwrite in 128KB chunks (memory-safe). Restore auto-detects .gz extension from manifest for backward compat with existing uncompressed backups. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Production-ready cross-domain restore with Elementor support
v1.11.0 v1.11.0: Production-ready cross-domain restore with Elementor support
Add 'Clear Cache' option
v1.6.1: Add Clear Lock button for stale backup locks After a crashed backup the transient lock can persist for up to 15 minutes, blocking new backups. Add a Clear Lock button to the admin page so it can be cleared immediately. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change Methodology to avoid resource limits
v1.6.0: Replace shell tar with pure PHP archiving for shared hosting Shared hosts (IONOS etc.) OOM-kill the tar process due to tight cgroup memory limits. Replace the shell `tar czf` command with PHP PharData which runs inside the PHP process and stays within the hosting limits. - Use PharData to build .tar.gz archives entirely in PHP - Add stream_upload() to S3 class for chunked multipart uploads - Auto-detect webroot via ABSPATH (no more /var/www/html default) - Make Object Lock headers conditional (retention_days=0 skips them) - Reduce disk space requirement from 400MB to 100MB - Reduce S3 multipart part size from 10MB to 5MB Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix Healthchecks Calls
v1.5.1: Ping healthchecks on skipped backups The daily check now sends start + success pings to healthchecks.io even when no backup is needed, preventing false-positive down alerts on skip days. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixed Backup Location and Updater
v1.5.0: Disk-backed temp dir, updater fixes Backup temp files now stage in wp-content/yawp-tmp/ instead of /tmp, which may be RAM-backed (tmpfs) on shared hosting. A ~1 GB archive in tmpfs exhausted the cgroup memory limit on OVH and crashed the site. - Use disk-backed wp-content/yawp-tmp/ for backup staging - Register shutdown function for emergency cleanup on fatal/OOM - Clean up stale backup temp dirs at start of each run - Exclude yawp-tmp/ from tar archives - Fix Update URI (was "false", blocking all update checks) - Populate no_update transient so auto-updates toggle appears - Remove aggressive cache clearing that hammered GitHub API - Increase update cache TTL to 12 hours - Fix post_install to activate with canonical yawp/yawp.php slug Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Override Root
v1.4.1 v1.4.1: Fix updater not seeing new releases immediately