This commit is contained in:
Javier Casares 2026-08-14 07:55:23 +00:00
commit 681147e8e3
11 changed files with 567 additions and 25 deletions

View file

@ -1,5 +1,61 @@
== Changelog ==
= 0.3.1 =
_Release date: 2026-08-14_
* Default store URL is now `https://www.robotstxt.software` (was `https://plugins.robotstxt.es`). Applies to new activations and fresh installs; existing saved URLs are preserved. The catalog API at the new domain is verified live.
* Plugin version 0.3.0 → 0.3.1.
= 0.3.0 =
_Release date: 2026-08-13_
**Highlights**
* Classic install/activate/update flow: the catalog actions now run on a full page load (`admin-post.php` with per-action-and-slug nonces) and report the outcome through standard admin notices (green success / red error) at the top of the page, replacing the previous AJAX flow.
**Added**
* Activate action — installed-but-inactive plugins show an "Activate" button that calls `activate_plugins()`.
* Update action — plugins with a newer catalog version show an "Update" button that re-downloads the ZIP and runs the `Plugin_Upgrader` with `overwrite` enabled.
* Install/Activate/Update buttons are nonce links (`robotstxt_manager_{action}_{slug}` nonce actions) to `admin-post.php`, all `manage_options`-gated.
* Redirect-based notices: handlers redirect back to the catalog page carrying `robotstxt_manager_result` (success/error) and `robotstxt_manager_message`, rendered as dismissible standard notices.
**Changed**
* `Robotstxt_Manager_Installer` rewritten from an AJAX handler to three admin-post handlers (`robotstxt_manager_install`, `robotstxt_manager_activate`, `robotstxt_manager_update`); download logic (Bearer account-key auth, ZIP validation, temp-file cleanup) unchanged.
* Removed the AJAX endpoint, `manager-install.js`, and its script localization.
* Plugin version 0.2.0 → 0.3.0.
**Compatibility**
* WordPress: 7.0 - 7.1 (declared floor of the ecosystem; scan-confirmed lower)
* PHP: 8.4 - 8.5 (declared floor of the ecosystem; scan-confirmed lower)
= 0.2.0 =
_Release date: 2026-08-12_
**Highlights**
* Phase 2: the Install action. Free and premium plugins can be installed directly from the ROBOTSTXT catalog into the local site, authenticated with the account-level API key (requires Plugins Core 1.4.0+).
**Added**
* `Robotstxt_Manager_Installer` — AJAX handler (`wp_ajax_robotstxt_manager_install_plugin`, nonce-protected, `manage_options`-gated) that resolves the plugin in the remote catalog, downloads the ZIP (free plugins with a published public `download_url` directly; everything else via Core's authenticated `/download` endpoint with an `Authorization: Bearer <account API key>` header), validates the archive (ZIP magic bytes), installs it via `Plugin_Upgrader`, and cleans up the temp file on every path.
* `public/js/manager-install.js` — wires the Install buttons to the AJAX action with in-flight state and result rendering.
* Catalog view: enabled Install buttons for compatible plugins (free and premium).
**Changed**
* Plugin version 0.1.3 → 0.2.0. Description updated to reflect Phase 2.
**Compatibility**
* WordPress: 7.0 - 7.1 (declared floor of the ecosystem; scan-confirmed lower)
* PHP: 8.4 - 8.5 (declared floor of the ecosystem; scan-confirmed lower)
= 0.1.3 =
_Release date: 2026-08-12_