Changelog

Follow new updates and improvements to MainWP.

June 23rd, 2026

MainWP Core

Dashboard

  • Security: Restricted access to MainWP bulkpost and bulkpage custom post type functionality by requiring the manage_options capability.

  • Fixed: Improved Plesk API URL construction to properly handle slash combinations in request paths and prevent potential request errors.

  • Fixed: Resolved an issue where the "Manage Sites" list did not immediately reflect changes to a site's suspension status.

  • Fixed: Resolved a support modal overlay issue on the Lighthouse Integration page.

  • Added: Category management for custom post types now shows site associations through contextual tooltips/popups, making it easier to see which sites contain each category.

  • Updated: Updated page navigation links that open in new tabs to include proper attributes, helping protect user sessions.

June 16th, 2026

MainWP Core

Child

  • Updated: Hardened MainWP Child connection verification and settings behavior for passwordless setups. If Password Authentication is disabled, adding or reconnecting a site now requires the Unique Security ID, including when using the MainWP REST API or other automations. Thanks to Khaled Alenazi (Nxploited).

June 16th, 2026

Add-ons

Extension

Code Snippets

  • Fixed: Corrected the Code Snippets table installer to always define the auto-increment ID as a primary key.

June 12th, 2026

Add-ons

Integration

Google Search Console Integration

  • Fixed: Property refresh logic to reliably update account property mappings.

  • Added: WordPress REST API availability check along with a warning message to inform users if not available.

  • Updated: Enhanced GSC account management by adding status handling and syncing properties for entries and clients.

June 12th, 2026

Add-ons

Integration

Google Analytics Integration

  • Added: WordPress REST API availability check along with a warning message to inform users if not available.

  • Updated: Enhanced GA4 property synchronization to prevent stale mappings and improve data accuracy

  • Updated: Refined widget view selection, admin messaging, site-selection persistence, token refresh, and centralized debug logging.

June 11th, 2026

Add-ons

Integration

Fathom Integration

  • Fixed: Visitor Data graph selector so changing the chart type now reloads the selected graph correctly.

  • Fixed: Fathom stats cache growth by enforcing a single cached stats row per connected MainWP site.

  • Fixed: Fathom stats cache updates so refreshed data updates the existing site cache row instead of creating duplicate entries.

  • Added: Database migration to remove duplicate Fathom stats cache rows while preserving the newest cached data for each site.

  • Added: Explicit cache clearing when using the Fathom "Refresh Data" action.

  • Added: "Refresh Data" button to the "Visitor Data" tab.

  • Added: Automatic sites data cleanup when removing connected Fathom accounts.

  • Updated: Improved Fathom stats refresh behavior to respect the configured data refresh frequency instead of refetching data on frequent page loads.

  • Updated: Reduced Fathom Aggregation API usage by combining graph metric requests into a single aggregation request, helping reduce API calls and avoid rate limits.

  • Updated: Improved Fathom asset cache-busting by using the plugin header version for CSS/JS enqueue versions, with a file modification time fallback.

  • Updated: Improved extension initialization timing to ensure proper loading order with other plugins and improve startup compatibility.

June 10th, 2026

Add-ons

Integration

Virusdie Integration

  • Updated: Refactored the sign-out flow to clear local connection data when signing out via the API.

  • Updated: logging priority configuration.

June 10th, 2026

Add-ons

Extension

Maintenance

  • Added: Ability to pause and resume maintenance schedules for more control over scheduled maintenance tasks.

  • Added: Bulk actions for maintenance schedules, allowing users to delete, pause, or resume multiple schedules at once.

  • Added: Status tracking for maintenance schedules to provide clearer visibility into schedule activity and failures.

  • Added: Target details to the schedules table, showing the number of selected sites, tags, or clients included in each schedule.

  • Added: Persistent tracking and UI for per-site failures during maintenance runs.

  • Updated: Improved schedule frequency labels to use clearer, more natural wording, such as "Twice per day" instead of "2/Day".

  • Updated: Improved extension initialization timing to ensure proper loading order with other plugins, enhancing compatibility and reliability during startup.

  • Updated logging priority configuration.

  • Dev: Database upgrade handling for the new maintenance schedule fields, including paused, last_run_status, last_run_error, last_failed_at, and last_run_failures.

June 8th, 2026

Add-ons

Extension

Code Snippets

  • Security: Improved code snippet database handling with prepared queries, sanitized values, and stricter user scoping.

  • Security: Strengthened AJAX input and output handling to improve protection against malformed or unsafe requests.

  • Fixed: Corrected formatting of default snippet code.

  • Fixed: Ensured default snippet descriptions and data are properly migrated during upgrades.

  • Added: Code folding UI and fold keymap support.

  • Added: Autocompletion and automatic bracket closing in the code editor.

  • Added: Natural Tab indentation support in the code editor.

  • Added: PHP pre-save syntax validation to help catch common syntax errors before saving snippets.

  • Added: Added a new clients column to the Code Snippets database table to support client-based snippet organization.

  • Updated: Reworked the snippet editor layout with a cleaner, more modern interface.

  • Updated: Moved snippet settings above the code editor for easier access while editing snippets.

  • Updated: Compacted snippet action buttons to reduce visual clutter in the editor area.

  • Updated: Replaced the snippet type radio buttons with a pill-style selector for a clearer editing experience.

  • Updated: Improved the saved snippets table by combining snippet titles and descriptions into a single, more readable column.

  • Updated: Replaced plain text snippet type indicators with colored labels for better visibility in the saved snippets table.

  • Updated: Refined multiple text strings for clearer and more consistent wording.

  • Updated: Improved snippet options handling, selection normalization, and snippet type validation for better reliability.

  • Updated: Improved snippet run UI rendering for a cleaner and more consistent user experience.

  • Updated: Replaced the legacy CodeMirror 5 editor with a new CodeMirror 6 bundle.

  • Updated: Improved internal utility handling with a safer rand_string method and a more user-friendly time_elapsed_string helper.

  • Dev: Refactored core database methods, including install, update_codesnippet, get_codesnippet_by, and remove_codesnippet, for safer and more consistent data handling.

  • Dev: Refactored the extension structure with clearer return semantics, improved docblocks, singleton patterns, and updated build files for better maintainability.

June 5th, 2026

Add-ons

Integration

Pressable Integration

  • Added: Robust site mapping to match Pressable sites by primary URLs and custom domains for more reliable site detection.

  • Added: Contextual empty-state placeholders when Pressable credentials or sites are unavailable.

  • Added: New utility helpers for rendering empty-page placeholders and displaying human-readable elapsed time.

  • Updated: Improved Pressable API token handling with clearer credential validation, safer token saving, and more reliable token refresh behavior.

  • Updated: Improved Pressable settings flows, including clearing credentials, validating inputs, saving tokens, and syncing site data.

  • Updated: Redesigned the Pressable overview table layout with clearer rows, columns, actions, and contextual interface elements.

  • Updated: Streamlined modal and form layouts for a cleaner and easier-to-use admin experience.

  • Updated: Improved backup and widget interface styling, including padded segments, dropdown icon orientation, menu styling, and minor markup refinements.

  • Updated: Improved internal Pressable site mapping logs to make mapping changes easier to review and troubleshoot.

  • Updated: Improved plugin initialization timing to ensure proper loading sequence with other extensions during WordPress startup.

  • Dev: Added get_mainwp_site_by_pressable_urls() to match MainWP sites against Pressable primary URLs and custom domains.

  • Dev: Added get_domains_list() to fetch Pressable site domain data.

  • Dev: Added save_access_token_data() and updated refresh_access_token() to centralize access token persistence.

  • Dev: Updated get_access_token() to support explicit client credentials.

  • Dev: Added update_pressable_wpid() and delete_all_pressable() database helpers.