From 840bdeb87dd73a74de1d20f93c5a4fa70c8d5d56 Mon Sep 17 00:00:00 2001 From: orchestrator Date: Wed, 30 Sep 2026 19:21:50 -0400 Subject: [PATCH] release: advance version to 0.10.0 and add the 0.10.0 release notes --- RELEASE_NOTES.md | 52 +++++++++++++++++++++++ custom_components/nestquest/manifest.json | 2 +- pyproject.toml | 2 +- uv.lock | 2 +- 4 files changed, 55 insertions(+), 3 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ee86844..39f79ff 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,57 @@ # NestQuest Release Notes +## Version 0.10.0 — 2026-09-30 + +### Scope + +Feature release: choose task icons by typing any Font Awesome Free **solid** +icon name, not just the curated subset. The shared icon registry now embeds the +full Font Awesome Free solid set offline (no CDN — the panel may be offline), +the admin icon picker is searchable with free-text entry and validation, and the +kids' panel renders any Free Solid icon. (Feature `6c681b17`; PRs #289–#292.) + +### Behaviour + +- **Full Free Solid set**: the panel and admin bundles now carry ~1,422 Font + Awesome Free solid glyphs as inline SVG path data, in addition to the existing + curated quick-pick lists (Lucide and Font Awesome). `fa:` resolves any + Free Solid icon; unknown names still render the fallback glyph. +- **Searchable picker**: the admin definition icon picker's Font Awesome tab has + a search input. Empty shows the curated quick picks; typing filters the full + set into a bounded (≤40 per page) result grid, with Previous / Show more. +- **Free-text entry**: typing an exact Free Solid name selects and stores + `fa:`. A partial, misspelled, Pro, or Brands name is rejected with an + inline message and nothing is saved. +- Stored format is unchanged: `lucide:`, `fa:`, `emoji:`, + or a legacy bare name. + +### Requirements + +- Home Assistant floor 2024.6.0 (unchanged). + +### Breaking changes + +- None to the database: schema unchanged at version 9, no migration and no + database backup required. +- Font Awesome **Pro** and **Brands/Regular** icons are NOT included — only the + Free Solid set. A Pro/Brands name is rejected in the picker (and an unknown + `fa:` name falls back on the panel). + +### Known limitations + +- **Bundle size**: the embedded icon set increases the committed panel bundle to + ~1.06 MB raw (~276 kB gzip) and the admin PWA bundle similarly. This is + expected for the full Free Solid set. +- Alias names (e.g. Font Awesome's `fa:home` alias of `fa:house`) are + de-duplicated to the canonical name, so `fa:house` resolves but `fa:home` + falls back. +- The backend still validates only the `fa:` format; unknown names + are caught in the picker and render as the fallback on the panel. + +### Rollback + +- No schema change: rolling back to 0.9.8 requires no database restore. + ## Version 0.9.8 — 2026-09-30 ### Scope diff --git a/custom_components/nestquest/manifest.json b/custom_components/nestquest/manifest.json index bd7df10..2ab3c5f 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.9.8" + "version": "0.10.0" } diff --git a/pyproject.toml b/pyproject.toml index 8cc6fed..8baa0b5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "nestquest" -version = "0.9.8" +version = "0.10.0" description = "NestQuest Home Assistant Integration" readme = "README.md" requires-python = ">=3.11" diff --git a/uv.lock b/uv.lock index e6fadb8..d351eb0 100644 --- a/uv.lock +++ b/uv.lock @@ -373,7 +373,7 @@ wheels = [ [[package]] name = "nestquest" -version = "0.9.8" +version = "0.10.0" source = { virtual = "." } [package.dev-dependencies]