Release v1.61.0
Validate / performance_smoke (push) Failing after 8m49s
Validate / hacs (push) Failing after 14s
Validate / hassfest (push) Failing after 12s
Validate / frontend (push) Successful in 7m12s
Validate / golden (push) Failing after 6m12s
Validate / backend (push) Failing after 11m16s
Validate / smoke (push) Failing after 25m49s
Full Performance / performance (push) Failing after 53m37s

This commit is contained in:
Matysh
2026-08-11 08:32:16 +03:00
parent 9a4ecbf961
commit 02373bb31f
12 changed files with 62 additions and 19 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ PLAN_ORPHAN_TTL_S = 3600
SCHEDULED_GRACE_S = 30 * 24 * 3600
FILES_DIR = "houseplan/files"
CONF_ADMIN_ONLY = "admin_only"
VERSION = "1.61.0-beta.8"
VERSION = "1.61.0"
DEFAULT_CONFIG: dict = {
"spaces": [],
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -16,5 +16,5 @@
"issue_tracker": "https://github.com/Matysh/houseplan-card/issues",
"requirements": [],
"single_config_entry": true,
"version": "1.61.0-beta.8"
"version": "1.61.0"
}
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+19
View File
@@ -2,6 +2,25 @@
## Unreleased
## v1.61.0 — 2026-08-11
- Expanded robot-vacuum integration coverage with deterministic source
selection, explicit capability and health diagnostics, gap-preserving trails,
safer map arbitration and stricter calibration checks.
- Reworked room colour and lighting controls. Glow is an independent additive
overlay, room fills keep their exact configured colour, and each source can
use automatic, always-on or disabled behaviour with manual colour, brightness
and radius where applicable.
- Light propagation now follows the same physical wall bodies drawn on the
plan, including wall thickness, jambs, partitions and columns. Doorways and
virtual boundaries transmit light without seams, while walls and corners cast
stable clipped shadows.
- Returning to a tab, reconnecting Home Assistant or remounting the card keeps
the last coherent plan frame. Devices, rooms, Glow, sun, openings, vacuums and
live decorative text update atomically instead of flashing partial state.
- Small fixes and improvements to dialogs, room hover, device markers, editor
stability, validation and release tooling.
## v1.61.0-beta.8 — 2026-08-11
- Plan recovery now has one bounded two-second barrier: a stalled signature or
+20
View File
@@ -8,6 +8,26 @@
## Unreleased
## v1.61.0 — 2026-08-11
- Расширена поддержка роботов-пылесосов: детерминированный выбор источника,
понятная диагностика возможностей и состояния, сохранение разрывов маршрута,
безопасный выбор карты и более строгая проверка калибровки.
- Переработаны настройки цвета комнат и освещения. Glow стал независимым
аддитивным слоем, заливки комнат сохраняют точный заданный цвет, а для каждого
источника доступны автоматический, постоянный и отключённый режимы с ручными
цветом, яркостью и радиусом там, где это применимо.
- Распространение света теперь использует те же физические тела стен, которые
отображаются на плане, включая толщину, откосы, перегородки и колонны. Проёмы
и виртуальные границы пропускают свет без швов, а стены и углы формируют
стабильные обрезанные тени.
- При возврате на вкладку, восстановлении соединения Home Assistant или remount
карточка сохраняет последний цельный кадр. Устройства, комнаты, Glow, солнце,
проёмы, пылесосы и живой декоративный текст обновляются атомарно без вспышек
частично собранного состояния.
- Мелкие исправления и улучшения диалогов, hover комнат, маркеров устройств,
стабильности редакторов, проверок и процесса публикации.
## v1.61.0-beta.8 — 2026-08-11
- Восстановление плана теперь ограничено общим двухсекундным барьером: зависшая
+9 -5
View File
@@ -1,14 +1,18 @@
<!-- release: v1.61.0-beta.8 -->
<!-- release: v1.61.0 -->
## Основное
- Возврат на вкладку и восстановление соединения больше не могут навсегда скрыть готовый план; все динамические данные обновляются одним согласованным кадром.
- Улучшена поддержка роботов-пылесосов: выбор источника, диагностика, маршруты и калибровка стали надёжнее.
- Переработаны Glow, заливки комнат и распространение света с учётом реальной геометрии стен, проёмов, перегородок и колонн.
- Возврат на вкладку и восстановление соединения больше не показывают частично собранный план; динамические данные обновляются одним согласованным кадром.
- Мелкие исправления и улучшения.
## Highlights
- Tab resume and connection recovery can no longer permanently cover a complete plan; all dynamic data now updates as one coherent frame.
- Improved robot-vacuum source selection, diagnostics, trails and calibration.
- Reworked Glow, room fills and light propagation around real walls, openings, partitions and columns.
- Tab resume and connection recovery no longer expose a partially rebuilt plan; dynamic data updates as one coherent frame.
- Small fixes and improvements.
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.61.0-beta.8/docs/CHANGELOG.ru.md)
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.61.0-beta.8/docs/CHANGELOG.md)
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.61.0/docs/CHANGELOG.ru.md)
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.61.0/docs/CHANGELOG.md)
+2 -2
View File
@@ -21,8 +21,8 @@ metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
| Item | State |
|---|---|
| Version | **v1.61.0-beta.8** everywhere (manifest, const.py, package.json, CARD_VERSION) — final prerelease candidate for the v1.61.0 stability release |
| Current local cycle | v1.61.0-beta.8 completes the #73 review corrections. Full and compact cards use one bounded continuity barrier and immutable render-device snapshot, so a reconnect, delayed protected backdrop or ordinary HA tick cannot mix device, room, Glow, sun, opening, vacuum and live-text data from different frames or leave a complete plan trapped below an opaque recovery layer. Structural fingerprints ignore ordinary state ticks; reconnect semantics require a confirmed connection loss; signed-asset and shared-config races are bounded and retryable. The deterministic continuity smoke now exercises the production visibility listener and a fixture containing thick walls, openings, Glow, sun, decor, protected content and devices. `docs/LIGHT.md` remains canonical. |
| Version | **v1.61.0** everywhere (manifest, const.py, package.json, CARD_VERSION) — stable promotion of the published and validated v1.61.0-beta.8 candidate |
| Current local cycle | v1.61.0 promotes the tested beta series without product-source changes beyond the version constant. The release combines vacuum integration coverage, independent additive Glow and room-fill controls, geometry-based light propagation, and the #73 coherent-frame continuity contract. Full and compact cards use one bounded recovery barrier and immutable render-device snapshot, so reconnect, delayed protected backdrops and ordinary HA ticks cannot mix device, room, Glow, sun, opening, vacuum or live-text data from different frames. `docs/LIGHT.md` remains canonical. |
| Workflow | Owner's rule since 2026-08-07: ordinary fixes/features are made **locally, without tests and without commits**. A requested pre-release gets a production build plus the smallest targeted unit/smoke set covering the changed surfaces, one tested `dev` commit/tag and a GitHub Release with `prerelease=true`; `main` stays untouched. The complete local frontend/backend/smoke gate runs only before a stable release, after which `main` is fast-forwarded to the exact tested `dev` SHA and the GitHub Release uses `prerelease=false`. Release bodies are short and bilingual (Russian first): only significant user changes get individual bullets, while minor/code-only work is grouped as `Мелкие исправления и улучшения` / `Small fixes and improvements`; every body ends with separate links to the Russian and English changelogs. Detailed RU/EN changelog bullets may link the corresponding closed GitHub Issues; open or partially delivered issues are never presented as shipped. Telegram announcements are sent only for stable releases; beta and RC publication is silent. `docs/RELEASE-NOTES.md` is the current canonical body instance; `npm run release:prerelease -- <tag> --issues=… --yes` is the primary local publication path and the manual `Publish prerelease` workflow is its GitHub-only equivalent once present on `main`. Nothing is copied to the home instance by hand |
| GitHub | https://github.com/Matysh/houseplan-card — [Issues](https://github.com/Matysh/houseplan-card/issues) are the canonical task records and the linked [Project v2](https://github.com/users/Matysh/projects/1) is the canonical priority/status view; both must stay current. `main` carries stable releases; pre-release tags may point directly at `dev`. Work lands on `dev` and is merged into `main` for a stable release, so `dev` is normally equal to or ahead of `main`, never behind. Push via SSH key `ha_jb` (remote git@github.com:…); API releases via the fine-grained PAT in `~/.git-credentials` (Contents R/W, issued 2026-07-23) |
| CI | Prerelease publication requires a green exact-SHA Validate: frontend/backend, smoke (including the #73 rAF frame sampler), golden, HACS/Hassfest and a short absolute-ceiling performance smoke. Obsolete same-ref Validate runs are cancelled. Full seven-sample base/candidate performance moved to `performance.yml` (`main` push, weekly, manual); stable release assets fail closed unless Validate and Full Performance are green for the exact tagged SHA and the stable-only CDP compositor screencast finds no empty/black presented frame. |
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "houseplan-card",
"version": "1.61.0-beta.8",
"version": "1.61.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "houseplan-card",
"version": "1.61.0-beta.8",
"version": "1.61.0",
"license": "MIT",
"dependencies": {
"lit": "^3.1.3",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "houseplan-card",
"version": "1.61.0-beta.8",
"version": "1.61.0",
"description": "Interactive house plan Lovelace card for Home Assistant",
"license": "MIT",
"type": "module",
+1 -1
View File
@@ -163,7 +163,7 @@ import {
import { renderOpeningTunnelFills } from './render/opening-tunnels';
import { safeStoredColor } from './color';
const CARD_VERSION = '1.61.0-beta.8';
const CARD_VERSION = '1.61.0';
/** Keeps every previously valid scale at the maximum 20 cm grid scale lossless. */
const DECOR_TEXT_CM_MAX = 2000;
const CELL_CM_MIN = 0.1;