mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-02 12:49:56 +00:00
Release v1.67.0-beta.1 candidate
Package the reviewed post-v1.66 Plan precision, geometry durability, backup, ordering, and marker-deduplication work as the first v1.67 prerelease. Versions, production bundles, bilingual changelogs, release notes, status, and documentation provenance are synchronized. Issue: #199 Issue: #220 Issue: #223 Issue: #224 Issue: #225 Issue: #226 Issue: #228 Issue: #229 Issue: #230 Issue: #233 Issue: #234 Issue: #238 Issue: #239 User-Visible: yes
This commit is contained in:
@@ -46,7 +46,7 @@ PLAN_ORPHAN_TTL_S = 3600
|
||||
SCHEDULED_GRACE_S = 30 * 24 * 3600
|
||||
FILES_DIR = "houseplan/files"
|
||||
CONF_ADMIN_ONLY = "admin_only"
|
||||
VERSION = "1.66.0"
|
||||
VERSION = "1.67.0-beta.1"
|
||||
|
||||
# Portable backup format. This is deliberately independent from the Home
|
||||
# Assistant Store version above: storage migrations and files exported by a
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -16,5 +16,5 @@
|
||||
"issue_tracker": "https://github.com/Matysh/houseplan-card/issues",
|
||||
"requirements": [],
|
||||
"single_config_entry": true,
|
||||
"version": "1.66.0"
|
||||
"version": "1.67.0-beta.1"
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
Vendored
+2
-2
File diff suppressed because one or more lines are too long
@@ -2,6 +2,8 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## v1.67.0-beta.1 — 2026-08-22
|
||||
|
||||
- “Optimize plans” now verifies the exact preview candidate with the same wall,
|
||||
opening, partition, column and floor geometry builders used by the card. If
|
||||
any space cannot be built safely, the preview names up to three affected
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
## v1.67.0-beta.1 — 2026-08-22
|
||||
|
||||
- «Оптимизировать планы» теперь проверяет точный кандидат из предпросмотра теми
|
||||
же построителями стен, проёмов, перегородок, колонн и пола, которыми пользуется
|
||||
карточка. Если геометрию хотя бы одного пространства нельзя безопасно
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<!-- release: v1.66.0 -->
|
||||
<!-- release: v1.67.0-beta.1 -->
|
||||
|
||||
## Основное
|
||||
|
||||
- Текстовые маркеры устройств снова получают капсульную внешнюю обводку вместо овальной.
|
||||
- Glow больше не исчезает во всём пространстве из-за floating-point шума или одного некорректного контура комнаты.
|
||||
- Закрытые замки теперь зелёные, открытые — красные; иконки на оранжевой подложке согласованы со светлой и тёмной темами.
|
||||
- Редактор плана точнее рисует и измеряет стены, комнаты и проёмы; внешний вид плана больше не зависит от точности сетки, а новые пространства используют шаг 1 см или 1 дюйм.
|
||||
- «Оптимизировать планы» безопасно проверяет итоговую геометрию, сращивает лишние отрезки и очищает координаты; все записи теперь защищены от floating-point шума.
|
||||
- Пространства можно переставлять, PDF-бэкапы снова импортируются, а явно размещённая сущность больше не дублируется родительским устройством.
|
||||
- Мелкие исправления и улучшения.
|
||||
|
||||
## Highlights
|
||||
|
||||
- Text device markers once again use a capsule-shaped outer outline instead of an ellipse.
|
||||
- Glow no longer disappears from an entire space because of floating-point noise or one malformed room outline.
|
||||
- Locked states are now green and unlocked states red; glyphs on orange cores follow the light and dark themes consistently.
|
||||
- Plan editing now draws and measures walls, rooms and openings more precisely; plan appearance no longer depends on grid precision, and new spaces use a 1 cm or 1 inch step.
|
||||
- “Optimize plans” safely verifies final geometry, merges redundant segments and cleans coordinates; every write is now protected from floating-point noise.
|
||||
- Spaces can be reordered, PDF backups import again, and an explicitly placed entity no longer duplicates its parent device.
|
||||
- Small fixes and improvements.
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.66.0/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.66.0/docs/CHANGELOG.md)
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.67.0-beta.1/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.67.0-beta.1/docs/CHANGELOG.md)
|
||||
|
||||
+2
-2
@@ -21,8 +21,8 @@ metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
|
||||
|
||||
| Item | State |
|
||||
|---|---|
|
||||
| Version | **v1.66.0** everywhere (manifest, const.py, package.json, CARD_VERSION) — stable promotion of the published v1.66.0-beta.1 product line |
|
||||
| Current local cycle | Post-v1.66.0 Unreleased development includes reliable Plan drawing (#228): exact Shift rays, ambiguous-node blocking, active axis/node chrome, room creation from an existing face with an explicit ≤2 cm repair, and room deletion with Keep/Delete walls consequences. Entity/parent marker deduplication (#226), explicit coordinate maintenance (#223), canonical geometry on every write (#224) and a fail-closed production-geometry preflight for the exact Optimize candidate (#199) are also included. |
|
||||
| Version | **v1.67.0-beta.1 candidate** everywhere (manifest, const.py, package.json, CARD_VERSION) — first prerelease of the v1.67 line |
|
||||
| Current local cycle | v1.67.0-beta.1 packages thirteen reviewed changes after v1.66.0: precision and safety work for Plan drawing, dimensions, wall chains and grid scale (#228, #230, #233, #234, #238, #239); fail-closed Optimize and canonical persisted geometry (#199, #223, #224, #229); plus space ordering, PDF-backup import and entity/parent marker deduplication (#220, #225, #226). Publication remains gated by the full exact-SHA Validate. |
|
||||
| Hidden Labs Stage | #89 Stage 1 ships in v1.63.0-beta.1. #122 Stage 2 ships in v1.64.0 and evolves the same hidden, expiring `iso` experiment with matte walls, a low exterior floor edge, restrained shared shadows and live vertical door/window/gate panels. Flat remains default; editors and `houseplan-space-card` remain flat; live floor effects and HA actions remain unchanged. Public activation remains a separate task. |
|
||||
| Workflow | Superseded 2026-08-12: the pre-1.62 rule of "local edits without tests or commits" is **dead** — since release 1.62 every product change follows `PROCESS.md` (issue in `S5-ready`+, branch `issue/<NN>-slug`, trailers on every commit, review pipeline; `AGENTS.md` is the summary). Release mechanics below remain current. 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; their labels carry priority and workflow status (`PROCESS.md` §9). GitHub Projects is no longer used. `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) |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"fixture": "synthetic-only",
|
||||
"sourceFingerprint": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceFingerprint": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"captureScriptSha256": "34f2219790d46efd8250e7a1bd829cb8fc0b0547e1260635fefa52407551b41b",
|
||||
"command": "npm run build && node demo/docs/capture.mjs",
|
||||
"scenarios": {
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "2885f96e348b15ab7c696e56e99bddcd9bb2ee94218a883e5a2155f45f5042aa"
|
||||
},
|
||||
"view-touch": {
|
||||
@@ -24,7 +24,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "f62d8af3617c00a5e99511bd765980d2e27badf25047a1be34046b64195abe6c"
|
||||
},
|
||||
"space-create": {
|
||||
@@ -35,7 +35,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "c33a7279165a4cec6fa6fadb6fd08cd967e082a17fe101ef442d27d36ae59b6b"
|
||||
},
|
||||
"room-contour-close": {
|
||||
@@ -46,7 +46,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "3d22e1a2a96823e443833e40ea8b93747099b0fae1e9e19315d8789ae4604997"
|
||||
},
|
||||
"plan-context-tray": {
|
||||
@@ -57,7 +57,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "a6c526fede11bc3503fd2384bd4a3f6afa008f481c5c47578f06cae6c81c6f9b"
|
||||
},
|
||||
"device-editor": {
|
||||
@@ -68,7 +68,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "9585b59add4d35b5a6f028ce5b720ef1b77a3f8b19436d192cd1a0e6fc637264"
|
||||
},
|
||||
"device-display-preview": {
|
||||
@@ -79,7 +79,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "cfc317da4628d079a116ff71311fbf06b1eb3b181928a5ea7ba888ab936a5e8b"
|
||||
},
|
||||
"background-editor": {
|
||||
@@ -90,7 +90,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "d7cfe70551d9260169df8efd832e32ed7df99c7f60b55d1fd4a8322bd4c47175"
|
||||
},
|
||||
"room-card": {
|
||||
@@ -101,7 +101,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "029a3e69ec647a8a370d99e6bb7f9225833c526739076022f6b52ba54bff30ea"
|
||||
},
|
||||
"device-info": {
|
||||
@@ -112,7 +112,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "2d8295e95a0721f11075dd0388ab4960c79b480ae199a381d3bbd1086e5e5b34",
|
||||
"sourceSha256": "e41b7f694e9515cf7662ebd1af7de311495756ead07640a46348e9e966cb2ff6",
|
||||
"imageSha256": "a06cbf83f09e2f67b3566d7c0b10e973db060c3d20786f26f74ada6a21937c3e"
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.66.0",
|
||||
"version": "1.67.0-beta.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "houseplan-card",
|
||||
"version": "1.66.0",
|
||||
"version": "1.67.0-beta.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lit": "^3.1.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.66.0",
|
||||
"version": "1.67.0-beta.1",
|
||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -296,7 +296,7 @@ import {
|
||||
} from './space-order';
|
||||
import { applyOpeningMoves, mergeCollinearPartitions, spaceMergeGeometry } from './wall-merge';
|
||||
|
||||
const CARD_VERSION = '1.66.0';
|
||||
const CARD_VERSION = '1.67.0-beta.1';
|
||||
const DISPLAY_LABEL_KEYS: Record<DeviceDisplayMode, I18nKey> = {
|
||||
badge: 'display.badge',
|
||||
icon_ripple: 'display.icon_ripple',
|
||||
|
||||
Reference in New Issue
Block a user