v1.0.0 — Stability milestone
No functional change from 0.7.6. Version bump signals that the public API (wp_usermeta storage shape, 4-button search URL templates, stations registry shape, dedup + cap + (unknown) skip rules) is locked. Breaking changes from here go in 2.0.0. Five days live on wp.org, 50+ downloads, pattern ported to Tuner (Chrome Web Store live the same day) and Buddy (wp.org r2 review). The architecture has been validated across two marketplaces and three family siblings. 0.x semantics no longer accurate. Same day: Tuner v0.3.0 LIVE on Chrome Web Store ~15.5h after submission. Radio v1.0.0 ships as the foundation that proved the pattern.
This commit is contained in:
@@ -9,6 +9,49 @@ Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versi
|
||||
|
||||
---
|
||||
|
||||
## [1.0.0] — 2026-06-09 — Stability milestone
|
||||
|
||||
The plugin reaches version 1.0.0. **There are no functional changes from 0.7.6.** This release is a deliberate version-number signal that the public API is stable.
|
||||
|
||||
### What 1.0.0 commits to
|
||||
|
||||
From this release forward, the following surfaces are considered the **public API** and will not break in any 1.x release:
|
||||
|
||||
- **`wp_usermeta` storage shape**: `radio_state`, `radio_history`, `radio_favourites` — the key names, the per-user model, and the JSON shape of each entry (artist / title / station / station_id / at).
|
||||
- **The 4-button search URL templates** (`radio_search_urls( $artist, $title )` → spotify / youtube / apple / bandcamp). These have already been ported byte-for-byte to RangerHQ Tuner; locking them here means downstream family members can mirror them indefinitely.
|
||||
- **The Stations registry shape** (`radio_get_stations_flat()` / `radio_get_stations_grouped()` / `radio_find_station( $id )` return shapes). Custom adapter authors can rely on these.
|
||||
- **The dedup rule** (sig = lowered `artist|title|station_id`, dedup against the last entry only). This is what `radio_log_track()` enforces; it's stable.
|
||||
- **The cap rule** (`RADIO_HISTORY_CAP = 500`, FIFO from the front). Stable.
|
||||
- **The `(unknown)` artist skip** (SomaFM dead-air placeholder is silently dropped from history). Stable.
|
||||
|
||||
Breaking changes to any of the above will go in 2.0.0 — not in 1.x.
|
||||
|
||||
### Why ship 1.0.0 now
|
||||
|
||||
Five days after going live on WordPress.org (2026-06-04) the plugin has 50+ downloads and the architecture has been re-used byte-for-byte by **RangerHQ Tuner** (Chrome Web Store, live 2026-06-09) and structurally re-used by **RangerHQ Buddy** (in wp.org review at time of writing). The pattern has crossed three surfaces (WordPress / Chrome browser / family-shared) and held; the public API is no longer changing every release.
|
||||
|
||||
The 0.x version range implicitly meant *"still iterating, might break things."* That is no longer accurate for this codebase. The 1.0.0 number is honest about what the plugin already is in practice: a mature, stable product backed by a proven cross-platform pattern.
|
||||
|
||||
### What 1.0.0 does NOT change
|
||||
|
||||
- No code touched in any source file
|
||||
- No new permissions, settings, or admin UI
|
||||
- No database migration required (storage shape was already locked)
|
||||
- Existing user state (station / volume / history / favourites) survives intact
|
||||
- Existing custom CSS / theme integrations continue to work
|
||||
|
||||
### Family context
|
||||
|
||||
This release ships the same day **Tuner v0.3.0 went LIVE on the Chrome Web Store**. Three RangerHQ family members shipped to or staying-in two marketplaces on 2026-06-09:
|
||||
|
||||
- **Radio** v1.0.0 (this release) — wp.org, live
|
||||
- **Tuner** v0.3.0 — Chrome Web Store, live (the morning of 2026-06-09, ~15.5 hours after submission)
|
||||
- **Buddy** v0.1.5 — wp.org, in round-2 review
|
||||
|
||||
The family pattern is now publicly proven across two platforms.
|
||||
|
||||
---
|
||||
|
||||
## [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:
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* Plugin Name: RangerHQ 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.
|
||||
* Version: 0.7.6
|
||||
* Version: 1.0.0
|
||||
* Requires at least: 5.3
|
||||
* Requires PHP: 7.4
|
||||
* Author: David Keane
|
||||
@@ -27,7 +27,7 @@
|
||||
if ( ! defined( 'ABSPATH' ) ) { exit; }
|
||||
|
||||
// Plugin coordinates.
|
||||
if ( ! defined( 'RADIO_VERSION' ) ) { define( 'RADIO_VERSION', '0.7.6' ); }
|
||||
if ( ! defined( 'RADIO_VERSION' ) ) { define( 'RADIO_VERSION', '1.0.0' ); }
|
||||
if ( ! defined( 'RADIO_FILE' ) ) { define( 'RADIO_FILE', __FILE__ ); }
|
||||
if ( ! defined( 'RADIO_PATH' ) ) { define( 'RADIO_PATH', plugin_dir_path( __FILE__ ) ); }
|
||||
if ( ! defined( 'RADIO_URL' ) ) { define( 'RADIO_URL', plugin_dir_url( __FILE__ ) ); }
|
||||
|
||||
+7
-1
@@ -4,7 +4,7 @@ Donate link: https://buymeacoffee.com/davidtkeane
|
||||
Tags: radio, music, audio, internet radio, background music
|
||||
Requires at least: 5.3
|
||||
Tested up to: 7.0
|
||||
Stable tag: 0.7.6
|
||||
Stable tag: 1.0.0
|
||||
Requires PHP: 7.4
|
||||
License: GPLv2 or later
|
||||
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 ==
|
||||
|
||||
= 1.0.0 =
|
||||
* Stability milestone. Same code as 0.7.6, no functional changes — but the version number now signals what the wp.org listing already shows in practice: the architecture (per-user `wp_usermeta` storage shape, 4-button search URL templates, station catalogue format, history dedup rule) is stable. From 1.0.0 forwards, breaking changes go in 2.0.0; everything in 1.x will preserve the public API. Released after five days live on wp.org, 50+ downloads, and the family pattern (per-user storage, four-button search) proven and ported to RangerHQ Tuner (Chrome Web Store) and RangerHQ Buddy (in wp.org review).
|
||||
|
||||
= 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.
|
||||
|
||||
@@ -136,6 +139,9 @@ SomaFM's track-info endpoint (`somafm.com/songs/{station}.json`) is fetched best
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
= 1.0.0 =
|
||||
Stability milestone — same code as 0.7.6, version number now signals what the plugin already is in practice: mature. From 1.0.0 onwards the public API (storage shape, search URL templates, station data format) is locked; breaking changes will go in 2.0.0. No behaviour change in this update.
|
||||
|
||||
= 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user