Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b531910f6 | |||
| 63c8c060b2 |
@@ -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)
|
## [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:
|
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,4 +1,15 @@
|
|||||||
# Radio — SomaFM player for your WordPress dashboard
|
# 📻 RangerHQ Radio — SomaFM player for your WordPress dashboard
|
||||||
|
|
||||||
|
[](https://wordpress.org/plugins/rangerhq-radio/)
|
||||||
|
[](https://wordpress.org/plugins/rangerhq-radio/)
|
||||||
|
[](https://wordpress.org/plugins/rangerhq-radio/)
|
||||||
|
[](https://wordpress.org/plugins/rangerhq-radio/)
|
||||||
|
[](readme.txt)
|
||||||
|
[](LICENSE)
|
||||||
|
[](https://git.davidtkeane.com/ranger/rangerhq-radio/commits/branch/main)
|
||||||
|
[](https://git.davidtkeane.com/ranger/rangerhq-radio/wiki/Stations)
|
||||||
|
[](https://git.davidtkeane.com/ranger/rangerhq-radio/wiki/Privacy)
|
||||||
|
[](https://davidtkeane.com)
|
||||||
|
|
||||||
A small, focused, free WordPress plugin that drops a SomaFM radio player into your admin dashboard. 44 hand-curated stations across 10 genres — ambient, electronic, lounge, rock, metal, jazz, world, reggae, holiday, and specials.
|
A small, focused, free WordPress plugin that drops a SomaFM radio player into your admin dashboard. 44 hand-curated stations across 10 genres — ambient, electronic, lounge, rock, metal, jazz, world, reggae, holiday, and specials.
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
* Plugin Name: RangerHQ Radio
|
* Plugin Name: RangerHQ Radio
|
||||||
* Plugin URI: https://davidtkeane.com/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.
|
* 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 at least: 5.3
|
||||||
* Requires PHP: 7.4
|
* Requires PHP: 7.4
|
||||||
* Author: David Keane
|
* Author: David Keane
|
||||||
@@ -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.6' ); }
|
if ( ! defined( 'RADIO_VERSION' ) ) { define( 'RADIO_VERSION', '1.0.0' ); }
|
||||||
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
@@ -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.6
|
Stable tag: 1.0.0
|
||||||
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 ==
|
||||||
|
|
||||||
|
= 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 =
|
= 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.
|
* 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 ==
|
== 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 =
|
= 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.
|
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