From 5316f95086025282e375c0911884202d745bb880 Mon Sep 17 00:00:00 2001 From: orchestrator Date: Sat, 26 Sep 2026 09:04:40 -0400 Subject: [PATCH] release: advance version to 0.9.0 and add the 0.9.0 release notes --- RELEASE_NOTES.md | 43 +++++++++++++++++++++++ custom_components/nestquest/manifest.json | 2 +- pyproject.toml | 2 +- uv.lock | 2 +- 4 files changed, 46 insertions(+), 3 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 2fdcea9..5c5f3d2 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,48 @@ # NestQuest Release Notes +## Version 0.9.0 — 2026-09-26 + +### Scope + +Minor release carrying expanded, customisable task icons — Lucide, Font Awesome +Free and emoji — onto `main`. + +- **Namespaced icon keys:** a quest definition's `icon` now accepts + `lucide:`, `fa:` and `emoji:`. A legacy bare + name (e.g. `dog`) is read as `lucide:dog`, so existing rows keep working with + no stored-data migration. The strict write validator rejects an unknown + namespace, a malformed name, an over-cap or markup-bearing emoji payload, and + `javascript:`. (PRs #241, #249.) +- **Shared icon registry:** one canonical set — the curated Lucide set plus a + curated Font Awesome Free solid subset — generates identical, + framework-agnostic registry modules for the admin and panel bundles, guarded by + a drift test. There is no CDN and no runtime fetch, and only the curated Font + Awesome glyphs are shipped. (PR #242.) +- **Admin PWA picker:** the definition edit sheet offers the Lucide set, the + Font Awesome subset and an emoji input; a selection stores the namespaced key + and an existing namespaced or legacy icon pre-fills correctly. The definition + list renders all three forms with a fallback glyph. Editing a definition whose + stored icon is a legacy value no longer resubmits the unchanged icon. + (PRs #243, #250.) +- **Kids' panel:** open quest cards render the definition's icon (Lucide stroked, + Font Awesome filled, emoji as text) with the existing star fallback; the sealed + card keeps its star/seal glyph. (PR #245.) +- **Docs and attribution:** ADMIN-SPEC and PANEL-SPEC describe the namespaced + model; `THIRD-PARTY-NOTICES.md` records Font Awesome Free (icons CC BY 4.0, + fonts SIL OFL 1.1, code MIT) and Lucide (ISC). (PR #246.) + +### Upgrade note + +The database schema is unchanged at version **9**; no migration or backup step +is needed beyond the 0.8.0 note. This release adds no runtime dependency — the +icon path data is embedded in the shipped bundles at build time. + +### Requirements + +Home Assistant 2024.6.0 or newer. Install through HACS from the +`Maniacs-Mansion/NestQuest` GitHub mirror (kept current by the Gitea push +mirror). + ## Version 0.8.0 — 2026-09-25 ### Scope diff --git a/custom_components/nestquest/manifest.json b/custom_components/nestquest/manifest.json index d9157c9..41587c5 100644 --- a/custom_components/nestquest/manifest.json +++ b/custom_components/nestquest/manifest.json @@ -15,5 +15,5 @@ "iot_class": "local_polling", "issue_tracker": "https://github.com/Maniacs-Mansion/NestQuest/issues", "requirements": [], - "version": "0.8.0" + "version": "0.9.0" } diff --git a/pyproject.toml b/pyproject.toml index e68ac12..c90e536 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "nestquest" -version = "0.8.0" +version = "0.9.0" description = "NestQuest Home Assistant Integration" readme = "README.md" requires-python = ">=3.11" diff --git a/uv.lock b/uv.lock index ff0653f..831444f 100644 --- a/uv.lock +++ b/uv.lock @@ -373,7 +373,7 @@ wheels = [ [[package]] name = "nestquest" -version = "0.8.0" +version = "0.9.0" source = { virtual = "." } [package.dev-dependencies]