Releases: devlabsza/error-vault_wordpress
Releases · devlabsza/error-vault_wordpress
Release list
Version 1.5.2
Reliability fix for auto-updates
Fixed
- Plugin could disappear after a failed update. The zipball-fallback path in the updater deleted the old plugin folder before moving the new one into place — if the move then failed (permissions, disk, filesystem quirk), the plugin was gone and users had to reinstall. The updater now moves the old folder to a backup location, attempts the rename, and restores the backup if anything goes wrong.
- Update failures are no longer silent. If an update fails, a dismissible admin notice now appears with the specific error. Previously failures only went to
error_log.
Installation
Update via the WordPress admin "Plugins → Updates" screen, or download errorvault-wordpress.zip below and upload manually.
Version 1.5.1
Fixes completing the 1.5.0 endpoint removal
Fixed
- Verify Connection button — no longer errors with "Please enter both endpoint and token." The removed endpoint field is no longer required; the button now validates your API token only.
- Health monitoring heartbeat — was silently disabled on new installs because it still checked for the removed
api_endpointsetting. Now posts directly tohttps://error-vault.com/api/v1/ping. - Removed stale
api_endpointdefault from the activation hook.
Housekeeping
- Bumped
readme.txtStable tag to match the plugin version (was drifting since 1.3.2).
Installation
Update via the WordPress admin "Plugins → Updates" screen, or download errorvault-wordpress.zip below and upload manually.
feat: Hardcode API URL and simplify configuration v1.5.0
Simplification: - Removed API Endpoint field from settings page - Users only need to enter API token - Cleaner, simpler setup process Hardcoded API URLs: - Error handler: https://error-vault.com/api/v1/errors - Backup manager: https://error-vault.com (base URL) - Health monitor: https://error-vault.com - Dashboard link: https://error-vault.com/dashboard Changes: - Removed api_endpoint from settings sanitization - Removed api_endpoint input field from admin page - Hardcoded get_endpoint() in ErrorVault_API - Hardcoded get_api_base() in EV_Backup_Manager - Removed api_endpoint checks in health monitor - Removed api_endpoint check in backup helpers - Updated dashboard link to use hardcoded URL Benefits: - Simpler setup (one field instead of two) - No risk of incorrect API URL - Consistent across all installations - Less configuration errors - Cleaner admin interface
fix: Use mysqldump for large database exports v1.4.9
Critical Problem: - Database export timing out silently on very large databases - Web server killing PHP process before completion - Backups never finish, always show 'attempt 1/3' - Failure counter can't increment (no exception thrown) - Infinite loop of failed backup attempts Root Cause: - PHP export too slow for multi-GB databases - Web server timeout kills process silently - No error thrown, just silent death - Lock released, backup retries from scratch Solution - Use mysqldump: - Try mysqldump first (native MySQL tool) - 10-100x faster than PHP export - No memory or time limits - Falls back to PHP if unavailable mysqldump Implementation: - Search common paths for mysqldump binary - Build command with proper escaping - Use --single-transaction for consistency - Use --quick for memory efficiency - Use --lock-tables=false to avoid locks - Handle host:port format correctly - Log success/failure with file size and time Failure Counter Fix: - Re-read failure count in catch block (scope issue) - Properly increment and save to transient - Now shows correct attempt numbers - Will stop after 3 failures Benefits: - Can handle databases of ANY size - Multi-GB databases export in minutes - No more silent timeouts - Proper failure tracking - Automatic fallback to PHP if needed Testing: - Will try mysqldump first - Log which method is used - Show export time and file size - Fall back gracefully if mysqldump unavailable
fix: Critical plugin deactivation after update v1.4.5
Fixes: Plugin file does not exist error after auto-update Problem: - After updating to v1.4.3, plugin gets deactivated - WordPress shows: errorvault-wordpress/errorvault.php does not exist - Update process not properly preserving plugin structure Root Cause: - after_install hook was processing ALL plugin updates - Not checking if the update was for our specific plugin - Missing destination_name setting for WordPress recognition Solution: - Add plugin-specific check in after_install - Only process updates where hook_extra[plugin] matches our slug - Set result[destination_name] = errorvault-wordpress - Add upgrader_clear_destination filter for pre-update handling Changes: - Check hook_extra[plugin] === this->plugin_slug before processing - Set destination_name to ensure WordPress recognizes folder - Add clear_destination filter for better update flow - Enhanced logging with plugin basename tracking This ensures: 1. Only our plugin updates are processed by after_install 2. WordPress maintains correct plugin path after update 3. Plugin remains activated after successful update 4. Better debugging with detailed logs
fix: GitHub auto-update installation issues v1.4.3
Plugin Slug & Identification: - Use hardcoded 'errorvault-wordpress' slug instead of dirname() - Add 'plugin' field: 'errorvault-wordpress/errorvault.php' - Ensures WordPress properly identifies the plugin after update Version Handling: - Strip 'v' prefix from GitHub tags (v1.4.3 -> 1.4.3) - Apply ltrim() in both check_for_update and plugin_info - Fixes version comparison issues After Install Improvements: - Check if destination is already correct before renaming - Better handling of both release asset and zipball formats - Improved folder move logic with error checking - Set destination_name for proper WordPress recognition Debug Logging: - Log release asset vs zipball usage - Log version comparison (current -> new) - Log folder renaming operations - Log success/failure of move operations - Helps troubleshoot installation issues Plugin Info Fix: - Use release asset URL instead of always using zipball - Consistent with check_for_update behavior - Better download experience These fixes ensure the GitHub release auto-updater: 1. Properly identifies the plugin slug 2. Correctly compares versions 3. Successfully installs and activates updates 4. Handles both release assets and zipball fallbacks 5. Provides debug logging for troubleshooting
1.4.2: feat: Add backup status UI to admin settings v1.4.1
- Add Backup Status section to admin settings page - Display cron schedule, next poll time, and backup progress - Show system requirements check with detailed feedback - Add manual backup poll trigger button - Add view/clear backup logs functionality - Implement AJAX handlers for backup operations - Auto-refresh logs after manual trigger - Add collapsible log viewer with 100 recent entries - Visual status indicators (✓/✗/⏳) UI Features: - Real-time backup status monitoring - One-click manual backup poll trigger - Inline log viewer with monospace formatting - Clear feedback messages for all operations - Requirements validation display AJAX Endpoints: - errorvault_trigger_backup_poll - errorvault_get_backup_logs - errorvault_clear_backup_logs
feat: Add backup status UI to admin settings v1.4.1
- Add Backup Status section to admin settings page - Display cron schedule, next poll time, and backup progress - Show system requirements check with detailed feedback - Add manual backup poll trigger button - Add view/clear backup logs functionality - Implement AJAX handlers for backup operations - Auto-refresh logs after manual trigger - Add collapsible log viewer with 100 recent entries - Visual status indicators (✓/✗/⏳) UI Features: - Real-time backup status monitoring - One-click manual backup poll trigger - Inline log viewer with monospace formatting - Clear feedback messages for all operations - Requirements validation display AJAX Endpoints: - errorvault_trigger_backup_poll - errorvault_get_backup_logs - errorvault_clear_backup_logs
feat: Add automated backup system v1.4.0
- Implement automated backup polling every 5 minutes
- Add pure PHP database exporter (no mysqldump dependency)
- Create ZIP archive with database and optional uploads
- Upload to ErrorVault API with retry logic and checksum
- Add transient locking to prevent concurrent backups
- Implement comprehensive error handling and logging
- Add helper utilities for status, logs, and diagnostics
- Include extensive documentation (implementation, quick start, user guide)
API Integration:
- GET /api/v1/backups/pending - Poll for pending backups
- POST /api/v1/backups/{id}/upload - Upload backup archive
Features:
- Database-only or database + uploads backups
- 500MB file size limit validation
- SHA256 checksum generation
- Automatic cleanup of temporary files
- Batched database export (100 rows per batch)
- Exponential backoff retry logic (2 retries max)
- Shared hosting compatible
Classes Added:
- EV_Backup_Manager - Main backup orchestration
- EV_DB_Exporter - Database export functionality
- EV_Cron - Cron job management
- EV_Backup_Helpers - Utility functions
Documentation:
- BACKUP_IMPLEMENTATION.md - Technical documentation
- BACKUP_QUICK_START.md - Quick reference guide
- README_BACKUP.md - User guide
- IMPLEMENTATION_SUMMARY.md - Implementation overview
feat: Add user feedback improvements and GitHub Actions release automation (v1.3.2)
User Experience Improvements:
- Update API endpoint placeholder to match actual portal URL (error-vault.com)
- Fix CSS layout issue with settings saved notification overlapping version badge
- Add flex-wrap and proper spacing to header
- Add settings_errors() call for proper WordPress notice display
GitHub Release Automation:
- Add GitHub Actions workflow to create properly named release packages
- Implement automatic folder naming fix via CI/CD
- Update updater class to prefer release assets over zipball
- Add fallback to zipball with automatic folder renaming
- Eliminate manual folder renaming requirement
Documentation Updates:
- Update GITHUB_SETUP.md with GitHub Actions workflow explanation
- Update readme.txt with clear manual installation instructions
- Add warnings about folder naming for manual downloads
- Document both automatic and fallback solutions"