Skip to content

Releases: nonatech-uk/wp-backup

v1.15.0

Choose a tag to compare

@nonatech-uk nonatech-uk released this 09 May 19:21
v1.15.0: Disk-staged backup architecture

Add Loki Logging

Choose a tag to compare

@nonatech-uk nonatech-uk released this 14 Apr 06:22
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

Choose a tag to compare

@nonatech-uk nonatech-uk released this 25 Feb 16:44
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

Choose a tag to compare

@nonatech-uk nonatech-uk released this 17 Feb 17:55
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

Choose a tag to compare

@nonatech-uk nonatech-uk released this 17 Feb 07:57
v1.11.0

v1.11.0: Production-ready cross-domain restore with Elementor support

Add 'Clear Cache' option

Choose a tag to compare

@nonatech-uk nonatech-uk released this 16 Feb 17:13
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

Choose a tag to compare

@nonatech-uk nonatech-uk released this 16 Feb 17:06
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

Choose a tag to compare

@nonatech-uk nonatech-uk released this 13 Feb 07:42
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

Choose a tag to compare

@nonatech-uk nonatech-uk released this 12 Feb 06:38
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

Choose a tag to compare

@nonatech-uk nonatech-uk released this 12 Feb 05:19
v1.4.1

v1.4.1: Fix updater not seeing new releases immediately