| @@ -1,5 +1,5 @@ | ||
| 1 | -=== MainWP Dashboard: Self-hosted WordPress Management for Agencies === | |
| 1 | +=== MainWP Dashboard: Self-hosted WordPress Management for Agencies === | |
| 2 | 2 | Contributors: mainwp |
| 3 | 3 | Tags: manage multiple WordPress sites, WordPress maintenance, update, backups, security |
| 4 | 4 | Author: mainwp |
| 5 | 5 | Author URI: https://mainwp.com |
| @@ -4,11 +4,11 @@ | ||
| 4 | 4 | Author: mainwp |
| 5 | 5 | Author URI: https://mainwp.com |
| 6 | 6 | Plugin URI: https://mainwp.com |
| 7 | 7 | Requires at least: 6.2 |
| 8 | -Tested up to: 6.9.4 | |
| 8 | +Tested up to: 7.1 | |
| 9 | 9 | Requires PHP: 7.4 |
| 10 | -Stable tag: 6.0.11 | |
| 10 | +Stable tag: 6.2.1 | |
| 11 | 11 | License: GPLv3 or later |
| 12 | 12 | License URI: https://www.gnu.org/licenses/gpl-3.0.html |
| 13 | 13 | |
| 14 | 14 | Run updates, backups, security and reporting across all client sites from your own server. Keep data private and prove your value with branded reports. |
| @@ -40,9 +40,9 @@ | ||
| 40 | 40 | **Getting Started with MainWP:** |
| 41 | 41 | |
| 42 | 42 | MainWP is designed to be user-friendly and intuitive, even for those new to WordPress management plugins. With a straightforward setup process and a clean, organized dashboard, you'll be able to start managing your WordPress sites efficiently in no time. |
| 43 | 43 | |
| 44 | -* Setting up MainWP is straightforward—install the dashboard on a private WordPress site, add the MainWP Child plugin to your other WordPress sites, and take control. | |
| 44 | +* Setting up MainWP is straightforward, install the dashboard on a private WordPress site, add the MainWP Child plugin to your other WordPress sites, and take control. | |
| 45 | 45 | |
| 46 | 46 | **Your Guarantee of Privacy** |
| 47 | 47 | |
| 48 | 48 | The MainWP plugins come with their own [privacy policies](https://mainwp.com/mainwp-plugin-privacy-policy/) to ensure that the plugins do not collect any personally identifiable information (PII). |
| @@ -53,12 +53,12 @@ | ||
| 53 | 53 | |
| 54 | 54 | We make money by offering [MainWP Pro](https://mainwp.com/signup/), which provides access to a wide range of premium add-ons. These premium add-ons are organized into two clear categories: |
| 55 | 55 | |
| 56 | 56 | - **Integrations:** |
| 57 | - Add-ons in this category enable seamless connections with popular third-party services and plugins, allowing you to integrate the tools you already use directly into your MainWP Dashboard. | |
| 57 | + Add-ons in this category enable seamless connections with popular third-party services and plugins, allowing you to integrate the tools you already use directly into your MainWP Dashboard. | |
| 58 | 58 | |
| 59 | 59 | - **Extensions:** |
| 60 | - These are custom-built, standalone add-ons developed exclusively for the MainWP Dashboard, designed to add unique and specialized functionality to enhance your WordPress management experience. | |
| 60 | + These are custom-built, standalone add-ons developed exclusively for the MainWP Dashboard, designed to add unique and specialized functionality to enhance your WordPress management experience. | |
| 61 | 61 | |
| 62 | 62 | For more details, visit our [Premium Add-ons](https://mainwp.com/mainwp-add-ons/) page and see how our free and pro features compare at [Free vs. Pro: Know the Difference](https://mainwp.com/free-vs-pro/). |
| 63 | 63 | |
| 64 | 64 | **Experience the MainWP Difference** |
| @@ -131,8 +131,11 @@ | ||
| 131 | 131 | |
| 132 | 132 | = I have more questions. Do you have any other information? = |
| 133 | 133 | Yes, we have a quick FAQ with many more questions and answers [here](https://mainwp.com/preinstall-faq/). |
| 134 | 134 | |
| 135 | += Where do I report security bugs found in this plugin? = | |
| 136 | +Please report security bugs found in the source code of the MainWP plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/9e5fb39c-dd7e-4c6b-a871-c6a046430f0f). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin. | |
| 137 | + | |
| 135 | 138 | == Screenshots == |
| 136 | 139 | |
| 137 | 140 | 1. Sites - Operations |
| 138 | 141 | 2. Sites - Manage Sites |
| @@ -146,8 +149,139 @@ | ||
| 146 | 149 | 10. Cost Tracker - Manage Costs |
| 147 | 150 | 11. Dashboard Insights |
| 148 | 151 | |
| 149 | 152 | == Changelog == |
| 153 | + | |
| 154 | += 6.2.1 - 9-30-2026 = | |
| 155 | + | |
| 156 | +* Fixed: Resolved an issue where enabling global uptime monitoring left monitors for previously added sites disabled. | |
| 157 | +* Fixed: Removing a website now also removes its associated monitors and monitoring data. | |
| 158 | +* Fixed: Improved database schema comparisons to correctly handle nullable defaults without misinterpreting markers inside quoted SQL values. | |
| 159 | +* Fixed: Database upgrades now ensure group records include the required identifier and primary key. | |
| 160 | +* Fixed: Resolved an issue affecting tag updates through REST API v2. | |
| 161 | +* Fixed: Update rows now leave the version field blank when version information is unavailable. | |
| 162 | +* Fixed: Resolved inconsistencies when processing update and synchronization responses. | |
| 163 | +* Updated: Improved upgrade status reporting for plugins, themes, and translations, including clearer handling when upgrades begin or cannot proceed. | |
| 164 | +* Updated: Strengthened authenticated and renewal request signatures with a longer, cryptographically random nonce. | |
| 165 | +* Updated: Missing primary monitors are now repaired automatically, restoring monitoring for affected sites. | |
| 166 | +* Updated: Clarified the notices on the “Edit Client” and “Edit User” screens that leaving fields blank preserves their existing values on child sites. | |
| 167 | +* Updated: Improved tag readability by validating background colors and automatically selecting contrasting black or white text. | |
| 168 | + | |
| 169 | += 6.2 - 9-9-2026 = | |
| 170 | + | |
| 171 | +* Fixed: Improved database size notices on the Operations and Client Overview pages with appropriate spacing and context. | |
| 172 | +* Fixed: Sorting by URL in the Connection Status widget. | |
| 173 | +* Fixed: File input field sanitization issues specific to Windows hosts. | |
| 174 | +* Fixed: Prevented unnecessary loading overlays and processing errors when the overlay is unavailable. | |
| 175 | +* Added: New Database section to Server Information with database version, size, prefix, privilege status, and table health information. | |
| 176 | +* Added: System Monitor for WordPress cron health with scheduled checks, fallback execution, and manual triggering. | |
| 177 | +* Added: Command Palette trigger in the header for quicker navigation in supported WordPress setups. | |
| 178 | +* Added: Optional request signature verification for authenticated requests using structured signing details and request IDs. | |
| 179 | +* Added: Support for exact client field names and values, including empty values and "0", in searches and API requests. | |
| 180 | +* Added: Validation of supported groups, actions, and item formats for REST API batch requests. | |
| 181 | +* Added: Automatic cleanup of cost records when clients or tags are deleted through the REST API. | |
| 182 | +* Added: Re-introduced the User column in the Network Activity widget. | |
| 183 | +* Updated: Improved privacy-safe diagnostics for unexpected responses without recording sensitive response content or URLs. | |
| 184 | +* Updated: Improved validation and normalization of JSON input for GET and DELETE capability requests. | |
| 185 | +* Updated: Improved REST API error handling for invalid, ambiguous, oversized, malformed, or incorrectly typed request data with clear 400 responses. | |
| 186 | +* Updated: Expanded REST API batch operations, API key management, and cost tracking associations. | |
| 187 | +* Updated: Adjusted the Plugin Details modal height. | |
| 188 | +* Updated: Standardized site name URL formatting in Insights Events by removing HTTP prefixes and trailing slashes. | |
| 189 | + | |
| 190 | += 6.1.8 - 8-25-2026 = | |
| 191 | + | |
| 192 | +* Fixed: Improved self-connection checks by using the standard AJAX endpoint and more reliable request and response validation. | |
| 193 | +* Added: Support for the Cloudways REST API v2 in "API Backups"", with secure access-token authentication and continued support for legacy API credentials. | |
| 194 | +* Added: Option to bypass cache during Uptime Monitoring checks, with global and per-monitor settings to help improve the accuracy of site availability checks. | |
| 195 | +* Added: Localized titles for Network Activity changes involving site registration, users, comments, URLs, homepage settings, date and time, updates, language, site title, and site icon. | |
| 196 | +* Updated: Improved activity log entries for system settings and database changes with clearer, more descriptive object titles. | |
| 197 | +* Updated: default Network Activity settings to exclude additional event types from logging. | |
| 198 | + | |
| 199 | += 6.1.7 - 8-18-2026 = | |
| 200 | + | |
| 201 | +* Updated: Improved the connection status table layout in the "Connection Status" widget for a cleaner, more focused presentation. | |
| 202 | +* Updated: HTTP response options are now shown only in global settings, preventing them from appearing in individual monitor configurations. | |
| 203 | + | |
| 204 | += 6.1.6 - 8-5-2026 = | |
| 205 | + | |
| 206 | +* Fixed: Corrected Site Health calculations and REST API responses so health scores accurately reflect each site's status, including sites with missing, malformed, negative, or critical issue data. | |
| 207 | +* Fixed: Corrected multiple REST API v2 schemas and pagination settings for automatic updates, uptime monitoring, expected status codes, tag site counts, and client custom fields, including support for the deprecated `pre_page` alias. | |
| 208 | +* Fixed: Improved REST API validation and response handling to reject malformed settings, prevent PHP 8 errors and unintended batch operations, validate custom option names, and exclude sensitive or internal data from responses. | |
| 209 | +* Fixed: Improved REST API validation so invalid monitoring values, unsupported enum formats, and unsupported batch update requests return appropriate errors. | |
| 210 | +* Fixed: Ensured uptime monitors correctly report a DOWN status when no HTTP status code is received. | |
| 211 | +* Fixed: Resolved an issue that could leave the site removal process stuck in the "Removing" state on some hosting environments. | |
| 212 | +* Updated: Redesigned the "Connection Status" widget with tabbed filtering, live connection totals, paginated site details, in-widget reconnection, and more accurate staging site status reporting. | |
| 213 | +* Updated: Improved uptime monitoring retry scheduling so retries occur only after a valid retry time has been set and the configured retry interval has elapsed. | |
| 214 | +* Updated: Improved REST API pagination compatibility and expanded schemas for monitoring settings, update flags, expected statuses, and site counts. | |
| 215 | +* Updated: Replaced the generic __() JavaScript translation function with a namespaced MainWP translation helper to prevent conflicts with other scripts. | |
| 216 | +* Dev: Added the mainwp_add_site_top_navigation and mainwp_add_site_tabs_content hooks to support custom navigation and tab content on the "Add Site" screen. | |
| 217 | + | |
| 218 | += 6.1.5 - 7-28-2026 = | |
| 219 | + | |
| 220 | +* Fixed: Corrected misspelled "Required" indicators for the "Site URL," "Admin Username," "Security ID," "Client Name," and "Client Email" fields in the setup wizard. | |
| 221 | +* Added: Added an additional connection retry when the expected site data is not returned on the first attempt, improving connection reliability. | |
| 222 | +* Updated: Improved the loading performance of the "Network Activity" widget by limiting the overview to activity recorded within the last 24 hours. | |
| 223 | +* Updated: Improved the loading performance of the "Updates Overview" widget by optimizing update queries, separating summary totals from detailed action data, and loading site and update details only when needed. | |
| 224 | + | |
| 225 | += 6.1.4 - 7-21-2026 = | |
| 226 | + | |
| 227 | +* Fixed: Corrected the display of site health indicators in the sites monitoring table so they now follow the configured site health setting. | |
| 228 | +* Fixed: Corrected the text color in the "Help" popup when using the default light theme. | |
| 229 | +* Added: Added a confirmation prompt when disabling "Installed Plugins Sync" in the "Advanced" settings to help prevent accidental changes. | |
| 230 | +* Added: Added Site Lockdown Security for MainWP to the available extensions catalog. | |
| 231 | +* Updated: Improved DNS resolution for connection and uptime monitoring checks by limiting lookups to relevant A, AAAA, and CNAME records. | |
| 232 | + | |
| 233 | += 6.1.3 - 7-7-2026 = | |
| 234 | + | |
| 235 | +* Fixed: Improved core auto-update retry behavior by re-queuing failed updates when the last failure is older than 6 hours. | |
| 236 | +* Updated: Improved uptime monitoring scheduling so the latest check time is saved more reliably before checks begin. | |
| 237 | +* Updated: Server information displays to keep the “Last Run” value accurate for child site uptime monitoring. | |
| 238 | +* Updated: Import clients process so it does not require associated child sites. | |
| 239 | + | |
| 240 | += 6.1.2 - 6-23-2026 = | |
| 241 | + | |
| 242 | +* Security: Restricted access to MainWP `bulkpost` and `bulkpage` custom post type functionality by requiring the `manage_options` capability. | |
| 243 | +* Fixed: Improved Plesk API URL construction to properly handle slash combinations in request paths and prevent potential request errors. | |
| 244 | +* Fixed: Resolved an issue where the "Manage Sites" list did not immediately reflect changes to a site's suspension status. | |
| 245 | +* Fixed: Resolved a support modal overlay issue on the Lighthouse Integration page. | |
| 246 | +* 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. | |
| 247 | +* Updated: Updated page navigation links that open in new tabs to include proper attributes, helping protect user sessions. | |
| 248 | + | |
| 249 | += 6.1.1 - 6-2-2026 = | |
| 250 | + | |
| 251 | +* Fixed: Resolved a duplicate `LIMIT` clause in the log archive batch query to prevent query errors during log processing. | |
| 252 | +* Updated: Improved directory permission handling for user and site directories to ensure more consistent access control across the Dashboard. | |
| 253 | +* Updated: Simplified REST API availability checks for v1 and v2 endpoints to streamline behavior and reduce internal validation complexity. | |
| 254 | + | |
| 255 | += 6.1 - 5-26-2026 = | |
| 256 | + | |
| 257 | +* Important: Version 6.1 includes internal connection handling changes. Rolling back to a version earlier than 6.1 may temporarily disconnect child sites from your MainWP Dashboard. If this happens, reconnect the affected sites from the Manage Sites page using the Reconnect bulk action. | |
| 258 | +* Security: Strengthened protection for internal key files by replacing predictable file names with secure, non-guessable identifiers and tightening directory permissions for related storage locations. | |
| 259 | +* Security: Improved protection of stored extension license keys by encrypting them at rest and avoiding unnecessary plaintext caching. | |
| 260 | +* Security: Updated API credential fields to display masked placeholders instead of stored values, preventing sensitive keys from being exposed in page HTML. | |
| 261 | +* Security: Removed sensitive authentication fields from REST API site responses to prevent credentials from being exposed through API requests. | |
| 262 | +* Security: Improved REST API key storage by hashing new consumer secrets at rest while maintaining compatibility with existing keys. | |
| 263 | +* Security: Removed unused legacy connection and API key handling paths, with safer comparison handling for any existing legacy records. | |
| 264 | +* Fixed: Improved validation when restoring saved table layouts to ensure saved column structures match the current table, preventing broken or incorrect table displays after updates. | |
| 265 | +* Fixed: Resolved an issue with saving plugin and theme notes on Auto Update pages. | |
| 266 | +* Fixed: Resolved an issue with fetching child site favicons when connecting a site. | |
| 267 | +* Fixed: Resolved an issue where installed plugin and theme names were not displayed in the Object column in Network Activity. | |
| 268 | +* Fixed: Enhanced application stability by refining initialization conditions for admin notifications related to log database monitoring. | |
| 269 | +* Fixed: Improved group visibility filtering to ensure users without management permissions only see groups they are authorized to access. | |
| 270 | +* Fixed: Typos and inconsistencies in user login event log descriptions and action identifiers for improved clarity and consistency across Network Activity logs. | |
| 271 | +* Updated: Improved code quality and internal handling in several areas. | |
| 272 | +* Updated: Improved uptime column rendering in the sites list with intelligent caching for faster display of uptime information. | |
| 273 | +* Updated: Updated the PHPSecLib library to the latest version. | |
| 274 | +* Updated: Refreshed the light theme using the newer dark theme structure for improved consistency across the Dashboard UI. | |
| 275 | +* Updated: Tuned the light theme shell, navigation, top bar, shadows, and client icon rendering for a more polished interface. | |
| 276 | +* Updated: Improved the "Manage Updates" action for outdated themes in Site Hardening to open the relevant "Theme Updates" tab. | |
| 277 | + | |
| 278 | += 6.0.12 - 5-5-2026 = | |
| 279 | + | |
| 280 | +* Fixed: Improved site management stability with enhanced handling of site data to prevent errors in edge cases. | |
| 281 | +* Fixed: An issue with logging auto-updates in the Network Activity logs. | |
| 282 | +* Updated: Improved performance when performing bulk syncing. | |
| 283 | +* Dev: Preserve response envelope for `_fields` REST API v2 requests in sites controller. | |
| 150 | 284 | |
| 151 | 285 | = 6.0.11 - 4-28-2026 = |
| 152 | 286 | |
| 153 | 287 | * Fixed: Improved performance when performing bulk updates. |