Skip to content

Releases: devlabsza/error-vault_wordpress

Version 1.5.2

Choose a tag to compare

@danbaileyza danbaileyza released this 16 Apr 21:05

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

Choose a tag to compare

@danbaileyza danbaileyza released this 16 Apr 20:59

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_endpoint setting. Now posts directly to https://error-vault.com/api/v1/ping.
  • Removed stale api_endpoint default from the activation hook.

Housekeeping

  • Bumped readme.txt Stable 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

Choose a tag to compare

@danbaileyza danbaileyza released this 04 Mar 13:43
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

Choose a tag to compare

@danbaileyza danbaileyza released this 26 Feb 14:09
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

Choose a tag to compare

@danbaileyza danbaileyza released this 26 Feb 06:27
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

Choose a tag to compare

@danbaileyza danbaileyza released this 26 Feb 06:20
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

Choose a tag to compare

@danbaileyza danbaileyza released this 25 Feb 15:27
- 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

Choose a tag to compare

@danbaileyza danbaileyza released this 25 Feb 13:09
- 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

Choose a tag to compare

@danbaileyza danbaileyza released this 25 Feb 12:49
- 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)

Choose a tag to compare

@danbaileyza danbaileyza released this 02 Feb 08:09

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"