From 30451228f73e2584bea3a4dfe68c2c5489e163b0 Mon Sep 17 00:00:00 2001 From: Javier Casares Date: Mon, 17 Aug 2026 16:04:38 +0000 Subject: [PATCH] v1.2.1 --- admin/views/page-catalog.php | 23 +++++++++++++++++++++++ changelog.txt | 17 +++++++++++++++++ readme.txt | 10 ++++++++-- robotstxt-manager.php | 4 ++-- 4 files changed, 50 insertions(+), 4 deletions(-) diff --git a/admin/views/page-catalog.php b/admin/views/page-catalog.php index 7cdc1a2..0cc556d 100644 --- a/admin/views/page-catalog.php +++ b/admin/views/page-catalog.php @@ -132,6 +132,7 @@ $compat_warnings = 0; $raw_desc = $entry['description'] ?? ''; $raw_rwp = $entry['requires_wp'] ?? ''; $raw_rphp = $entry['requires_php'] ?? ''; + $raw_icon = $entry['icon_url'] ?? ''; $slug = is_string( $raw_slug ) ? $raw_slug : ''; $name = is_string( $raw_name ) ? $raw_name : $slug; @@ -143,6 +144,7 @@ $compat_warnings = 0; $desc = is_string( $raw_desc ) ? trim( $raw_desc ) : ''; $req_wp = is_string( $raw_rwp ) ? $raw_rwp : ''; $req_php = is_string( $raw_rphp ) ? $raw_rphp : ''; + $icon_url = is_string( $raw_icon ) ? esc_url_raw( $raw_icon ) : ''; $website_url = '' !== $page_url ? $page_url : $homepage; $has_detail = ( '' !== $website_url || '' !== $desc ); @@ -184,6 +186,11 @@ $compat_warnings = 0; ?> + + + + + @@ -382,4 +389,20 @@ $compat_warnings = 0; /* Detail rows (always open): muted, attached to the row above. */ .robotstxt-manager-detail-row td { border-top: none !important; padding-top: 0; } .robotstxt-manager-detail-description { color: #50575e; } + +/* Plugin icons: 64x64, 1:1, beside the name. */ +.robotstxt-manager-plugin-icon { + display: inline-block; + vertical-align: middle; + width: 64px; + height: 64px; + margin-right: 10px; + border-radius: 4px; + object-fit: contain; + background: #fff; +} +.robotstxt-manager-plugin-icon--placeholder { + border: 1px solid #dcdcde; + box-sizing: border-box; +} diff --git a/changelog.txt b/changelog.txt index 7da32b6..c032561 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,22 @@ == Changelog == += 1.2.1 = + +_Release date: 2026-08-17_ + +**Added** + +* Plugin icons in the catalog: each row shows the plugin's `icon_url` from the Core API at 64×64 px (1:1, lazy-loaded) in the Plugin column; plugins without an icon get a plain white 64×64 placeholder. + +**Changed** + +* Plugin version 1.2.0 → 1.2.1. No database schema changes (no custom tables). + +**Compatibility** + +* WordPress: 4.4 - 7.1 (scan-verified: wp-compat clean from 4.4) +* PHP: 8.0 - 8.5 (scan-verified: PHPCompatibility + manual feature audit) + = 1.2.0 = _Release date: 2026-08-15_ diff --git a/readme.txt b/readme.txt index b6ebec8..7b8c566 100644 --- a/readme.txt +++ b/readme.txt @@ -3,9 +3,9 @@ Contributors: javiercasares, robotstxt Tags: dashboard, catalog, updates, subscriptions, management Requires at least: 4.4 Tested up to: 7.1 -Stable tag: 1.2.0 +Stable tag: 1.2.1 Requires PHP: 8.0 -Version: 1.2.0 +Version: 1.2.1 License: GPL-3.0-or-later License URI: https://www.gnu.org/licenses/gpl-3.0.txt @@ -92,6 +92,12 @@ Encrypted at rest using AES-256-CBC with a key derived from your site's WordPres == Changelog == += 1.2.1 = + +_Release date: 2026-08-17_ + +* Plugin icons in the catalog rows (64×64, from the store's `icon_url`; white placeholder when missing). + = 1.2.0 = _Release date: 2026-08-15_ diff --git a/robotstxt-manager.php b/robotstxt-manager.php index fb9e7a3..c6d5428 100644 --- a/robotstxt-manager.php +++ b/robotstxt-manager.php @@ -3,7 +3,7 @@ * Plugin Name: Manager (by ROBOTSTXT) * Plugin URI: https://git.robotstxt.es/ROBOTSTXT/robotstxt-manager * Description: Client-side dashboard for the ROBOTSTXT plugin ecosystem. Lists the catalog from a remote Plugins Core install, resolves local install/update state, and installs, activates, and updates plugins directly from the store. - * Version: 1.2.0 + * Version: 1.2.1 * Requires at least: 4.4 * Requires PHP: 8.0 * Author: ROBOTSTXT @@ -21,7 +21,7 @@ if ( ! defined( 'ABSPATH' ) ) { } /** Plugin version. */ -define( 'ROBOTSTXT_MANAGER_VERSION', '1.2.0' ); +define( 'ROBOTSTXT_MANAGER_VERSION', '1.2.1' ); /** Absolute path to the plugin directory, with trailing slash. */ define( 'ROBOTSTXT_MANAGER_DIR', plugin_dir_path( __FILE__ ) );