UpdateGuard – Safe Auto Updates, Semantic Version Control and Update Manager

Plugin Banner

UpdateGuard – Safe Auto Updates, Semantic Version Control and Update Manager

by Adeel

Download
Description

UpdateGuard – Safe Auto Updates, Semantic Version Control and Update Manager provides intelligent automatic updates for WordPress plugins, themes, and core using semantic versioning principles. Unlike WordPress’s default auto-update system that updates to any available version, this plugin gives you granular control over update types.

Perfect for:
* WordPress site administrators who want automatic security updates without breaking changes
* Developers managing multiple WordPress sites
* Businesses requiring stable, secure WordPress installations
* Anyone who wants to prevent major version updates from breaking their site

Why Use UpdateGuard – Safe Auto Updates, Semantic Version Control and Update Manager?
WordPress’s built-in auto-update feature applies ALL updates automatically, including major version changes that can break your site. UpdateGuard – Safe Auto Updates, Semantic Version Control and Update Manager lets you:
* Automatically install security patches and minor updates
* Block major version updates that might break compatibility
* Configure update policies per plugin or globally
* Get email notifications about updates
* Track all update activity with comprehensive logs

Key Features:

  • Semantic Versioning Support – Automatically detects major.minor.patch version numbers
  • Selective Update Control – Choose to allow only minor and patch updates while blocking major version changes
  • Per-Plugin Configuration – Set individual update levels for each plugin or use a global default
  • Safe Update Strategy – Prevents breaking changes from major version updates
  • Comprehensive Logging – Track all update decisions with 2-week log retention
  • Email Notifications – Get notified about applied and blocked updates
  • Improved UI – Compact table layout for easy plugin management

How It Works:

The plugin uses semantic versioning (semver) to categorize updates:
* Major updates (e.g., 3.0.0 4.0.0) – Breaking changes, blocked by default
* Minor updates (e.g., 3.1.0 3.2.0) – New features, backwards compatible
* Patch updates (e.g., 3.1.1 3.1.2) – Bug fixes and security patches

You can configure the plugin to automatically apply only minor and patch updates while requiring manual review for major version changes, ensuring your site stays updated with security fixes while avoiding potentially breaking changes.

  1. Upload the plugin files to the /wp-content/plugins/updateguard directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Navigate to ‘UpdateGuard – Safe Auto Updates, Semantic Version Control and Update Manager’ in the WordPress admin menu to configure the plugin.
  4. Set your preferred default update level (Major, Minor, or Patch).
  5. Optionally configure individual plugin update levels.
  6. Save your changes.
What is semantic versioning?

Semantic versioning (semver) is a versioning scheme that uses three numbers: MAJOR.MINOR.PATCH (e.g., 4.2.1). Major versions indicate breaking changes, minor versions add new features in a backwards-compatible way, and patch versions contain bug fixes and security updates.

Why should I block major updates?

Major version updates often include breaking changes that can cause compatibility issues with your theme, other plugins, or custom code. By blocking major updates, you can review and test them manually before applying.

Will this work with all plugins?

The plugin works best with plugins that follow semantic versioning. Plugins without official WordPress.org slugs may not be processed correctly, but WordPress will still handle their updates through the standard auto-update system.

How often are updates checked?

WordPress checks for updates every 12 hours via cron. The plugin filters these update checks and only allows updates that match your configured version level.

Can I update inactive plugins?

No. WordPress only auto-updates active plugins. Inactive plugins will not be updated automatically regardless of your settings.

2.0.0 – Major Fork & Upgrade from Automatic Safe Update

  • Complete Plugin Rebrand:

    • Forked from “Automatic Safe Update” to “UpdateGuard – Safe Auto Updates, Semantic Version Control and Update Manager”
    • New plugin slug: updateguard
    • New function prefix: svuc_ (replaced asu_)
    • SEO-optimized name and description for WordPress.org
    • Updated all PHPDoc comments with new package name
  • Critical Bug Fixes:

    • Fixed logging false positives – now only logs actual completed updates (not just allowed)
    • Fixed svuc_limpia_version() bug – preg_replace now correctly assigns result
    • Fixed multisite incompatibility – full network-wide settings support
    • Fixed duplicate function definitions
    • Fixed cleanup code placement and optimization
    • Fixed admin email option for multisite compatibility
    • Fixed test update workflow to update all plugins in bulk (not one at a time)
    • Fixed bulk upgrade result processing (now correctly interprets array return value)
    • Fixed pending updates refresh after bulk updates
    • Fixed test update level not affecting global update level
    • Fixed “Hold” level (0) correctly blocking all updates
    • Fixed plugin settings not saving (form action and sanitize callbacks)
    • Fixed ob_flush() notices with proper buffer level checks
  • Test Update Workflow Improvements:

    • Implemented bulk update functionality for faster updates
    • Added proper package URL persistence during bulk updates
    • Fixed log display order (newest first, descending)
    • Removed “Inicio del log” entry from displayed logs
    • Changed log entries to show plugin names instead of slugs
    • Added comprehensive cache clearing after updates
    • Removed unnecessary delays and per-update cache operations
    • Test update level now independent from global update level
  • Language & Localization:

    • Translated all user-facing text from Spanish/Portuguese to English
    • Removed technical function names from logs (user-readable messages)
    • Consistent English throughout codebase
    • Removed all Spanish/Portuguese wordings from user-facing side
    • Updated all error messages to English
  • Logging System Overhaul:

    • Logs now only show actual completed updates (removed debug/info messages)
    • Extended log retention from 100 to 5000 lines (2 weeks)
    • Added version verification before logging
    • User-readable log entries in English
    • Logs display in descending order (newest first)
    • Plugin names shown instead of slugs in logs
  • Multisite Compatibility:

    • Added svuc_get_option() and svuc_update_option() helper functions
    • Network-wide settings support
    • Admin menu registers in Network Admin
    • Proper capability checks (manage_network_options)
    • Settings form uses correct action URLs for multisite
  • UI/UX Improvements:

    • Compact table layout for individual plugin settings
    • Sortable plugin list (by plugin name)
    • Visual indicators for inactive plugins
    • Reduced scrolling with improved layout
    • Admin page slug changed to “updateguard” (cleaner URL)
    • Menu position set to 3 (right below Dashboard)
    • Improved settings form layout and organization
  • Security & WordPress.org Compliance:

    • Proper escaping throughout (esc_html, esc_attr, esc_url, esc_html_e)
    • Direct access protection (ABSPATH checks in all files)
    • Proper capability checks (manage_options, manage_network_options)
    • Input sanitization functions (svuc_sanitize_update_level, svuc_sanitize_email, svuc_sanitize_log_lines)
    • WordPress Settings API nonce handling
    • Removed external commercial links (taller.abcdatos.net)
    • Removed external reference links in code comments
    • Plugin action links use admin_url() (not hardcoded URLs)
    • Support links point to WordPress.org forums only
    • All PHPDoc comments updated with WordPress.org URLs
    • Fixed undefined property warnings in mail.php
  • Code Quality:

    • Consistent naming conventions (svuc_ prefix throughout)
    • Improved PHPDoc comments (English, proper formatting)
    • Better code organization
    • Removed legacy/commented code
    • Fixed all PHP notices and warnings
    • Proper error handling with is_wp_error() checks
  • Performance Optimizations:

    • Switched from individual updates to bulk_upgrade() for faster processing
    • Removed unnecessary usleep() delays
    • Removed per-update cache clearing (only at end)
    • Optimized output buffering and flushing
  • Verification:

    • Verified version comparison logic (minor/patch correctly block major updates)
    • Verified hold setting (level 0) correctly blocks all updates
    • Verified test update workflow works independently
    • Verified settings save correctly
    • All functionality tested and working
  • Documentation:

    • Comprehensive changelog
    • Updated readme.txt for WordPress.org
    • Improved code comments
    • SEO-optimized description and tags
Back to top