v0.7.6 — Plugin metadata cleanup (wp.org pre-review fix)

WordPress.org Plugin Review Team's automated pre-review on
2026-06-03 flagged two metadata-only issues:

1. Ownership verification — ir240474@gmail.com cannot be
   linked to the "RangerHQ" brand by their automated checks
   (gmail accounts can be registered by anyone, so they need
   domain-matched or DNS-verified proof).
2. Plugin URI returning 404 + Author URI failing DNS resolution
   (icanhelp.ie/radio was never a real page; rangersmyth.xyz
   does not resolve).

Both fixed in this release. Zero code changes; metadata only.

Changes:
* Plugin URI: icanhelp.ie/radio → davidtkeane.com/rangerhq-radio
  (real live landing page hosted at the author's canonical
  brand domain)
* Author URI: rangersmyth.xyz → davidtkeane.com
* Version bump 0.7.5 → 0.7.6 across radio.php header,
  RADIO_VERSION constant, readme.txt Stable tag, about.php
  latest slot
* CHANGELOG.md + readme.txt + about.php updated

Ownership verification (domain-side, not in plugin code):
* DNS TXT record `wordpressorg-ir240474-verification` added at
  davidtkeane.com root (Cloudflare). Verified live across
  multiple public DNS resolvers.
* wp.org account email changed from gmail to
  david@davidtkeane.com — domain-matched second proof.

User state (radio_state / radio_history / radio_favourites) is
preserved unchanged across the upgrade because none of these
edits touch storage or scoring logic.
This commit is contained in:
2026-06-03 17:35:14 +01:00
parent 340cbb2487
commit 72f7829422
4 changed files with 57 additions and 7 deletions
+43
View File
@@ -9,6 +9,49 @@ Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versi
--- ---
## [0.7.6] — 2026-06-03 — Plugin metadata cleanup (wp.org pre-review fix)
The WordPress.org Plugin Review Team's automated pre-review flagged two issues on 2026-06-03, both metadata-only — none touching the plugin code itself:
1. **Ownership verification** — the `ir240474@gmail.com` account email couldn't be linked to the "RangerHQ" brand by their automated checks. They explicitly call this out as the standard trap for first-time submitters using gmail with brand-flavoured plugin names: *"A gmail.com account cannot be used as a valid form of identification… You could be you, but you could also be anyone else."*
2. **`Plugin URI` returning 404** — the previously declared URL `https://icanhelp.ie/radio` was never published as a real page (it 404'd). Separately, `Author URI: https://rangersmyth.xyz/` was failing DNS resolution entirely (*"Could not resolve host"*).
Both are fixed in this release. None of the user-facing player behaviour, scoring logic, scheme list, or storage layout has changed — this release is strictly housekeeping to satisfy wp.org's identity checks before the human-reviewer pass.
### Changed
- **`Plugin URI:` header in `radio.php`** — `https://icanhelp.ie/radio``https://davidtkeane.com/rangerhq-radio`. The new URL is a real, live, public landing page (Charter serif / moss-green accent / three plugin screenshots / install + source links / recent-changes summary) hosted at the author's personal-brand domain.
- **`Author URI:` header in `radio.php`** — `https://rangersmyth.xyz/``https://davidtkeane.com`. The previous URL was returning a DNS failure; the new URL resolves to the author's existing WordPress site (live since August 2025) and signals brand consistency between the wp.org username, the plugin's brand name, and the author's domain.
- **`Version:` header + `RADIO_VERSION` constant** → `0.7.6`.
- **`readme.txt` Stable tag** → `0.7.6`.
- **`inc/about.php`** — v0.7.6 in the "latest" slot; v0.7.5 demoted to one-liner in earlier-releases list.
### Added (ownership verification — domain-side, not in the plugin code)
- **DNS TXT record at the root of `davidtkeane.com`** containing `wordpressorg-ir240474-verification`. Lives on Cloudflare (which is the authoritative nameserver for the domain). Verified live across multiple public DNS resolvers before this release was prepared.
- **wp.org account email changed** from `david.keane.1974@gmail.com` to `david@davidtkeane.com` — domain-matched to the brand. Provides a second, independent ownership proof on top of the DNS TXT record.
### Why this is the right answer (and the alternatives weren't)
The wp.org reviewer email offered four resolution paths: change wp.org email, transfer to another account, rename the plugin to not look like an entity, or DNS-TXT verify. We took the **DNS-TXT + email-change combination** because:
- Renaming the plugin/slug would lose the "RangerHQ family" branding we'd already locked in at v0.7.5 (the slug is also irrevocable post-approval, so changing it AGAIN would have been costly).
- Transferring to another account would have lost the `ir240474` continuity and existing review thread.
- The author already controls `davidtkeane.com` (locked as the canonical RangerHQ brand domain in May 2026), and Cloudflare-managed DNS for the same domain — adding a TXT record there was a 5-minute operation.
- Setting up `david@davidtkeane.com` and switching the wp.org email to it gave a second independent proof and means all future reviewer correspondence lands at a brand-domain inbox.
The combination gives wp.org's identity bot two independent corroborating signals (DNS proves domain control, branded email proves brand operation). Future RangerHQ-family submissions (a-buddy, a-logbook, rangerhq-spatial, rangerhq-glyph) will skip this round-trip entirely because the trust relationship is now established at the wp.org account level.
### Files changed
`radio.php` · `readme.txt` · `inc/about.php` · `CHANGELOG.md`. Zero changes to `assets/css/radio.css`, `assets/js/radio.js`, or any `inc/*.php` other than `about.php`.
### Migration
None. v0.7.5 installs receive v0.7.6 as a normal update; all user state (`radio_state`, `radio_history`, `radio_favourites`) survives the upgrade unchanged because the metadata changes don't touch storage or scoring logic.
---
## [0.7.5] — 2026-05-30 — WordPress.org slug rename: `a-radio` → `rangerhq-radio` ## [0.7.5] — 2026-05-30 — WordPress.org slug rename: `a-radio` → `rangerhq-radio`
A third-party AI-driven naming-check tool (run via Plugin Check's Claude AI connector against the v0.7.4 build) flagged the slug as too generic for the wp.org Plugin Directory: A third-party AI-driven naming-check tool (run via Plugin Check's Claude AI connector against the v0.7.4 build) flagged the slug as too generic for the wp.org Plugin Directory:
+3 -2
View File
@@ -79,14 +79,15 @@ function radio_render_about_page() {
<h2><?php esc_html_e( 'Version history', 'rangerhq-radio' ); ?></h2> <h2><?php esc_html_e( 'Version history', 'rangerhq-radio' ); ?></h2>
<div class="radio-about-versions__latest"> <div class="radio-about-versions__latest">
<span class="ver">v0.7.5</span> &mdash; 30 May 2026 <span class="latest"><?php esc_html_e( 'latest', 'rangerhq-radio' ); ?></span> <span class="ver">v0.7.6</span> &mdash; 3 June 2026 <span class="latest"><?php esc_html_e( 'latest', 'rangerhq-radio' ); ?></span>
<p> <p>
<?php esc_html_e( 'WordPress.org slug rename: a-radio → rangerhq-radio. The previous slug was too generic for the directory (single common functional word, no distinguishing prefix); the new slug matches the public display name and lines up with the rest of the RangerHQ plugin family. Text Domain renamed to match across all 125 i18n call sites. Gitea repository moved. No user-visible behaviour change in the player; this is a packaging change only. Internal constants and user-meta keys are unchanged so settings, history, and favourites survive intact.', 'rangerhq-radio' ); ?> <?php esc_html_e( 'Plugin metadata cleanup following the wp.org pre-review feedback. Plugin URI header updated to https://davidtkeane.com/rangerhq-radio (the canonical project landing page, now live). Author URI header updated to https://davidtkeane.com (both old URLs were returning DNS errors or 404). Ownership of the davidtkeane.com domain verified to wp.org via DNS TXT record and a domain-matched account email. No code changes, no user-visible behaviour changes — metadata only.', 'rangerhq-radio' ); ?>
</p> </p>
</div> </div>
<h3><?php esc_html_e( 'Earlier releases', 'rangerhq-radio' ); ?></h3> <h3><?php esc_html_e( 'Earlier releases', 'rangerhq-radio' ); ?></h3>
<ul class="radio-about-versions__earlier"> <ul class="radio-about-versions__earlier">
<li><span class="ver">v0.7.5</span> <span class="ver-date">30 May 2026</span> &mdash; <?php esc_html_e( 'WordPress.org slug rename: a-radio → rangerhq-radio for family-pattern consistency', 'rangerhq-radio' ); ?></li>
<li><span class="ver">v0.7.4</span> <span class="ver-date">30 May 2026</span> &mdash; <?php esc_html_e( 'wp.org submission cleanup — removed self-hosted updater + Update URI header (PCP plugin_updater_detected); added LICENSE file + per-asset GPL headers', 'rangerhq-radio' ); ?></li> <li><span class="ver">v0.7.4</span> <span class="ver-date">30 May 2026</span> &mdash; <?php esc_html_e( 'wp.org submission cleanup — removed self-hosted updater + Update URI header (PCP plugin_updater_detected); added LICENSE file + per-asset GPL headers', 'rangerhq-radio' ); ?></li>
<li><span class="ver">v0.7.3</span> <span class="ver-date">30 May 2026</span> &mdash; <?php esc_html_e( 'Privacy section in readme + SomaFM terms-of-use link (Update URI guard pattern from this release was walked back in v0.7.4 — Plugin Check disallows it for wp.org-hosted plugins regardless of header value)', 'rangerhq-radio' ); ?></li> <li><span class="ver">v0.7.3</span> <span class="ver-date">30 May 2026</span> &mdash; <?php esc_html_e( 'Privacy section in readme + SomaFM terms-of-use link (Update URI guard pattern from this release was walked back in v0.7.4 — Plugin Check disallows it for wp.org-hosted plugins regardless of header value)', 'rangerhq-radio' ); ?></li>
<li><span class="ver">v0.7.2</span> <span class="ver-date">30 May 2026</span> &mdash; <?php esc_html_e( 'Screenshots + correct wp.org contributor handle (ir240474)', 'rangerhq-radio' ); ?></li> <li><span class="ver">v0.7.2</span> <span class="ver-date">30 May 2026</span> &mdash; <?php esc_html_e( 'Screenshots + correct wp.org contributor handle (ir240474)', 'rangerhq-radio' ); ?></li>
+4 -4
View File
@@ -3,13 +3,13 @@
* RangerHQ Radio — a small, focused internet radio player for your WP dashboard. * RangerHQ Radio — a small, focused internet radio player for your WP dashboard.
* *
* Plugin Name: RangerHQ Radio * Plugin Name: RangerHQ Radio
* Plugin URI: https://icanhelp.ie/radio * Plugin URI: https://davidtkeane.com/rangerhq-radio
* Description: A small, focused internet radio player for your WordPress admin. 44 hand-curated stations from SomaFM across 10 genres — ambient, electronic, lounge, rock, metal, jazz, world, reggae, holiday, specials. Plays via HTML5 audio; per-user station + volume + history + favourites; pop-out window for continuous background play. * Description: A small, focused internet radio player for your WordPress admin. 44 hand-curated stations from SomaFM across 10 genres — ambient, electronic, lounge, rock, metal, jazz, world, reggae, holiday, specials. Plays via HTML5 audio; per-user station + volume + history + favourites; pop-out window for continuous background play.
* Version: 0.7.5 * Version: 0.7.6
* Requires at least: 5.3 * Requires at least: 5.3
* Requires PHP: 7.4 * Requires PHP: 7.4
* Author: David Keane * Author: David Keane
* Author URI: https://rangersmyth.xyz/ * Author URI: https://davidtkeane.com
* License: GPL v2 or later * License: GPL v2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html * License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: rangerhq-radio * Text Domain: rangerhq-radio
@@ -27,7 +27,7 @@
if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! defined( 'ABSPATH' ) ) { exit; }
// Plugin coordinates. // Plugin coordinates.
if ( ! defined( 'RADIO_VERSION' ) ) { define( 'RADIO_VERSION', '0.7.5' ); } if ( ! defined( 'RADIO_VERSION' ) ) { define( 'RADIO_VERSION', '0.7.6' ); }
if ( ! defined( 'RADIO_FILE' ) ) { define( 'RADIO_FILE', __FILE__ ); } if ( ! defined( 'RADIO_FILE' ) ) { define( 'RADIO_FILE', __FILE__ ); }
if ( ! defined( 'RADIO_PATH' ) ) { define( 'RADIO_PATH', plugin_dir_path( __FILE__ ) ); } if ( ! defined( 'RADIO_PATH' ) ) { define( 'RADIO_PATH', plugin_dir_path( __FILE__ ) ); }
if ( ! defined( 'RADIO_URL' ) ) { define( 'RADIO_URL', plugin_dir_url( __FILE__ ) ); } if ( ! defined( 'RADIO_URL' ) ) { define( 'RADIO_URL', plugin_dir_url( __FILE__ ) ); }
+7 -1
View File
@@ -4,7 +4,7 @@ Donate link: https://buymeacoffee.com/davidtkeane
Tags: radio, music, audio, internet radio, background music Tags: radio, music, audio, internet radio, background music
Requires at least: 5.3 Requires at least: 5.3
Tested up to: 7.0 Tested up to: 7.0
Stable tag: 0.7.5 Stable tag: 0.7.6
Requires PHP: 7.4 Requires PHP: 7.4
License: GPLv2 or later License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -86,6 +86,9 @@ SomaFM's track-info endpoint (`somafm.com/songs/{station}.json`) is fetched best
== Changelog == == Changelog ==
= 0.7.6 =
* Plugin metadata cleanup following the wp.org pre-review feedback. `Plugin URI` header updated from `https://icanhelp.ie/radio` to `https://davidtkeane.com/rangerhq-radio` (the canonical project page, now live). `Author URI` header updated from `https://rangersmyth.xyz/` to `https://davidtkeane.com` (both old URLs were returning DNS errors or 404). Ownership of the davidtkeane.com domain has been verified to wp.org via DNS TXT record and a domain-matched account email. No code changes, no user-visible behaviour changes — metadata only.
= 0.7.5 = = 0.7.5 =
* WordPress.org slug rename: `a-radio` → `rangerhq-radio`. The previous slug was flagged as too generic for the wp.org Plugin Directory (single common functional word, no distinguishing prefix). The new slug matches the public display name "RangerHQ Radio" and lines up with the rest of the RangerHQ plugin family (`rangerhq-spatial`, `rangerhq-glyph`). Text Domain renamed to match — all 125 i18n call sites updated. Gitea repository moved to https://git.davidtkeane.com/ranger/rangerhq-radio. No user-visible behaviour change in the player; this is a packaging change only. Plugin Name stays "RangerHQ Radio"; internal constants (`RADIO_*`) and user-meta keys (`radio_state` / `radio_history` / `radio_favourites`) are unchanged so settings + history + favourites all survive intact. * WordPress.org slug rename: `a-radio` → `rangerhq-radio`. The previous slug was flagged as too generic for the wp.org Plugin Directory (single common functional word, no distinguishing prefix). The new slug matches the public display name "RangerHQ Radio" and lines up with the rest of the RangerHQ plugin family (`rangerhq-spatial`, `rangerhq-glyph`). Text Domain renamed to match — all 125 i18n call sites updated. Gitea repository moved to https://git.davidtkeane.com/ranger/rangerhq-radio. No user-visible behaviour change in the player; this is a packaging change only. Plugin Name stays "RangerHQ Radio"; internal constants (`RADIO_*`) and user-meta keys (`radio_state` / `radio_history` / `radio_favourites`) are unchanged so settings + history + favourites all survive intact.
@@ -133,6 +136,9 @@ SomaFM's track-info endpoint (`somafm.com/songs/{station}.json`) is fetched best
== Upgrade Notice == == Upgrade Notice ==
= 0.7.6 =
Metadata-only update: Plugin URI + Author URI updated to davidtkeane.com following wp.org pre-review feedback. No code changes, no behaviour change.
= 0.7.5 = = 0.7.5 =
WordPress.org slug renamed `a-radio` → `rangerhq-radio` (lines up with display name "RangerHQ Radio" and the family pattern). Text Domain matches. No player behaviour change. Existing user state (station / volume / history / favourites) survives intact. WordPress.org slug renamed `a-radio` → `rangerhq-radio` (lines up with display name "RangerHQ Radio" and the family pattern). Text Domain matches. No player behaviour change. Existing user state (station / volume / history / favourites) survives intact.