Files
rangerhq-buddy/CHANGELOG.md
T
ranger c7d49b383a chore: release v0.1.2 — wink tuning entry
Documents the wink-probability tune-down (f661eab) as a proper
patch release. No code behaviour change in this commit — purely
version metadata, changelog, and user-facing about-page history.

CHANGES
- buddy.php: Version header + BUDDY_VERSION constant 0.1.1 → 0.1.2
- CHANGELOG.md: new [0.1.2] entry above [0.1.1], explains the
  tuning rationale + what's intentionally unchanged (wink visuals,
  trigger threshold mood >= 75)
- inc/about.php: version-history card leads with v0.1.2 (latest
  badge), v0.1.1 demoted to second slot

Why a patch release: the wink fires far less often now than it
did in v0.1.1. From a user's point of view that IS a behaviour
change worth a version. Following SemVer: PATCH bump because the
public API and feature set are unchanged; only the tuning of an
existing behaviour was adjusted.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 07:20:25 +01:00

5.5 KiB

Changelog

All notable changes to Buddy are documented here. Format: Keep a Changelog 1.1.0 — versioning: SemVer.


[Unreleased]


[0.1.2] — 2026-05-26

Tuned — Wink probability lowered from 30% to 5%

The wink Easter-egg added in v0.1.1 fired at 30% per page render when Buddy's mood was ≥ 75. Default mood is 80, so most admin visits hit the gate and ~30% of those flipped to wink. Stacked across the main admin page + dashboard widget visible on the same screen, Buddy ended up looking like he had one eye closed all the time — "stuck" rather than "playful".

Dropped to 5%. Same wink visuals when it fires; just rare enough to feel magical instead of constant. Refresh ~20 times when mood is high and you'll catch one.

Changed

  • inc/state.php: buddy_mood_label() probability gate mt_rand( 1, 100 ) <= 30 changed to <= 5. Docstring updated to reflect new ~5% rate.
  • Plugin version bumped: header + BUDDY_VERSION constant 0.1.1 → 0.1.2.
  • About page version-history card leads with v0.1.2; v0.1.1 demoted.

Not changed

  • Wink visuals (inc/sprite.php) — same closed-eye arc, smirk, rosy cheeks when it fires. Just rarer.
  • All other behavior identical to v0.1.1.

[0.1.1] — 2026-05-25

Added — Wink expression 😉

Buddy now has a fourth mood tone: wink — one eye closed, an asymmetric smirk, and rosier cheeks. Rendered as a small variant inside the existing inline-SVG sprite (still zero image files, no new assets). When Buddy's overall mood is ≥ 75, there's a ~30% chance on each page render that the wink replaces the standard happy face. Refresh a few times when Buddy is content and you'll catch it.

Why this commit exists: the v0.1.0 sprite had three tones (happy / neutral / sad). Adding wink was the smallest possible demo that the SVG expression engine is properly extensible — every future mood/state/species can be added the same way. ~20 lines of PHP, ~2 lines of CSS, no bundle weight, no dependencies.

Changed

  • inc/sprite.php: added wink to the allowed-tones list. Left eye renders as a closed-eye curve (a small downward arc) instead of the open circle. Right eye stays normal. Mouth shifts to an asymmetric smirk curve. Cheek opacity bumped from 0.55 to 0.75 for extra cheekiness.
  • inc/state.php: buddy_mood_label() now has a 30% chance of returning the wink tone when the overall mood score is ≥ 75.
  • assets/css/buddy.css: new .buddy-widget__mood--wink and .buddy-main__mood--wink rules — warm amber pill matching the cheeky vibe.
  • About page version-history card leads with v0.1.1; v0.1.0 demoted to the previous entry.
  • Plugin version bumped: header + BUDDY_VERSION constant 0.1.0 → 0.1.1.

[0.1.0] — 2026-05-25

Buddy is born. First release of a new standalone WordPress plugin extracted-and-rebuilt from the tamagotchi feature that once lived inside A-WP-Notes v1.1.5 (now gracefully retired). Buddy stands on its own as a focused, charming companion plugin for the WordPress dashboard.

Added — Phase A complete (pet exists)

  • Dashboard widget at WP Admin → Dashboard showing the SVG character, the pet's name, a mood label ("Thriving" / "Content" / "Okay" / "Hungry" / "Distressed"), and four stat bars (Hunger / Happiness / Health / Energy).
  • Dedicated admin page at WP Admin → Buddy → My Buddy showing the same data in a larger format with the pet's age and a placeholder note describing what's coming next.
  • About page at WP Admin → Buddy → About with the side-by-side intro pattern, "What Buddy does" / "Who Buddy is for" / "Version history" cards, and a link to this CHANGELOG.md.
  • Settings page at WP Admin → Buddy → Settings with a name-rename form and the Updates panel.
  • Per-user state storage via user_meta (key: buddy_state). Each WP admin gets their own Buddy with its own name, species, and stats.
  • SVG sprite renderer with three mood tones (happy / neutral / sad) and three sizes (sm / md / lg). Pure inline SVG with CSS keyframe animations (bobbing motion + periodic blinking). No GIFs, no sprite sheets, no image files for the character.
  • Self-hosted update checker wired up to the Gitea repo from commit 1. Polls /api/v1/repos/ranger/a-buddy/releases/latest with a /tags?limit=1 fallback. 12h success cache, 1h negative cache. UI surface lives on the Settings page.
  • Custom admin-menu icon (dashicons-pets, a paw print) reinforcing the pet identity.

Architecture (locked from day one)

  • Single-word brand name Buddy — no "WP" prefix, no marketplace trademark hurdle.
  • Public GPL v2+ Gitea repo at ranger/a-buddy on git.davidtkeane.com.
  • All persistent notice dismissals to use user_meta + AJAX pattern (port from Logbook when first notice appears).
  • CSS-only animations, all assets local — bundle stays small.
  • Single H1 per admin page, no nested toggle boxes, no duplicate sections — Tier-1 discipline carried forward from Logbook.

Not in this release (planned)

  • Phase B — Feed / Play / Clean / Sleep interactions with cooldown timers.
  • Phase C — WP-cron stat decay, "Buddy is hungry" dismissible admin notices.
  • Phase D — Multiple species (dog, dragon, sprite), per-species personality phrases.
  • Phase E — Site-health integration: pet stats react to wp_get_site_health() results, outdated plugins drain health, published posts feed hunger, cleared spam boosts happiness.
  • Phase F — Pro tier with custom skins, multi-pet farm, social visits.