c7d49b383a
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>
104 lines
5.5 KiB
Markdown
104 lines
5.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to **Buddy** are documented here.
|
|
Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versioning: [SemVer](https://semver.org/).
|
|
|
|
---
|
|
|
|
## [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.
|