mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-04 05:41:34 +00:00
@@ -32,6 +32,12 @@ Baseline-Reviewed: <CI run or artifact reference>
|
||||
Never invent a review reference merely to pass a gate. Baselines are accepted
|
||||
only from the complete Linux CI artifact via `golden:accept -- --reviewed`.
|
||||
|
||||
## Prerelease naming
|
||||
|
||||
Use `beta.1` through `beta.9`, then continue the same version line with
|
||||
`rc.1`. GitHub/HACS prerelease discovery orders `beta.10` behind `beta.9`, so
|
||||
the publisher rejects beta numbers greater than nine before creating a tag.
|
||||
|
||||
Install dependencies once per clone; the `prepare` script activates the
|
||||
repository hook automatically:
|
||||
|
||||
|
||||
@@ -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.62.0-beta.10"
|
||||
VERSION = "1.62.0-rc.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.62.0-beta.10"
|
||||
"version": "1.62.0-rc.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,12 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## v1.62.0-rc.1 — 2026-08-13
|
||||
|
||||
- Republished the reviewed beta.10 candidate under an RC identifier so HACS
|
||||
discovers it after beta.9; the application code and user-visible behaviour
|
||||
are unchanged.
|
||||
|
||||
## v1.62.0-beta.10 — 2026-08-13
|
||||
|
||||
- Fixed composite device presentation and actions after the beta review:
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## v1.62.0-rc.1 — 2026-08-13
|
||||
|
||||
- Проверенный кандидат beta.10 переопубликован с RC-идентификатором, чтобы HACS
|
||||
корректно видел его после beta.9; код приложения и поведение для пользователя не изменились.
|
||||
|
||||
## v1.62.0-beta.10 — 2026-08-13
|
||||
|
||||
- По результатам ревью беты исправлены отображение и действия составных
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
<!-- release: v1.62.0-beta.10 -->
|
||||
<!-- release: v1.62.0-rc.1 -->
|
||||
|
||||
## Основное
|
||||
|
||||
- Исправлены отображение и переключение составных устройств.
|
||||
- Усилены проверки разделения комнат, Glow, подсказок и предпросмотра проёмов.
|
||||
- RC-идентификатор обходит лексикографическую сортировку beta-версий в HACS.
|
||||
- Мелкие исправления и улучшения.
|
||||
|
||||
## Highlights
|
||||
|
||||
- Fixed presentation and toggling for composite devices.
|
||||
- Strengthened Split, Glow, contextual-help and opening-preview checks.
|
||||
- RC naming avoids HACS's lexicographic beta-version ordering.
|
||||
- Small fixes and improvements.
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.62.0-beta.10/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.62.0-beta.10/docs/CHANGELOG.md)
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.62.0-rc.1/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.62.0-rc.1/docs/CHANGELOG.md)
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.62.0-beta.10",
|
||||
"version": "1.62.0-rc.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "houseplan-card",
|
||||
"version": "1.62.0-beta.10",
|
||||
"version": "1.62.0-rc.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lit": "^3.1.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.62.0-beta.10",
|
||||
"version": "1.62.0-rc.1",
|
||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -60,6 +60,20 @@ export function parsePrereleaseArgs(args) {
|
||||
};
|
||||
}
|
||||
|
||||
/** GitHub's prerelease discovery order is lexicographic inside a beta line:
|
||||
* beta.10 can be returned behind beta.9 and HACS will keep offering beta.9.
|
||||
* Stop before any tag or release is created; after beta.9 the line continues
|
||||
* as rc.1 (or on a new patch/minor version). */
|
||||
export function assertHacsDiscoverableTag(tag) {
|
||||
const beta = /^v\d+\.\d+\.\d+-beta\.([1-9]\d*)$/.exec(tag);
|
||||
if (beta && Number(beta[1]) >= 10) {
|
||||
throw new Error(
|
||||
`${tag} is not HACS-discoverable after beta.9; use rc.1 or a new version line`,
|
||||
);
|
||||
}
|
||||
return tag;
|
||||
}
|
||||
|
||||
export function verifyReleaseProjection(release, { tag }) {
|
||||
if (!release || release.tagName !== tag) throw new Error(`GitHub release ${tag} is missing`);
|
||||
if (release.isDraft) throw new Error(`GitHub release ${tag} is still a draft`);
|
||||
@@ -446,6 +460,7 @@ if (invokedDirectly) {
|
||||
|
||||
const main = async () => {
|
||||
issues = parseIssueList(issueOption);
|
||||
assertHacsDiscoverableTag(tag);
|
||||
const contract = assertReleaseContract({ root, tag, repo, requirePrerelease: true });
|
||||
run('gh', ['auth', 'status']);
|
||||
const currentBranch = run('git', ['branch', '--show-current']).stdout;
|
||||
|
||||
@@ -196,7 +196,7 @@ import {
|
||||
} from './opening-placement';
|
||||
import { safeStoredColor } from './color';
|
||||
|
||||
const CARD_VERSION = '1.62.0-beta.10';
|
||||
const CARD_VERSION = '1.62.0-rc.1';
|
||||
const DISPLAY_LABEL_KEYS: Record<DeviceDisplayMode, I18nKey> = {
|
||||
badge: 'display.badge',
|
||||
icon_ripple: 'display.icon_ripple',
|
||||
|
||||
@@ -15,7 +15,7 @@ import {
|
||||
versionFromTag,
|
||||
} from '../scripts/release-contract.mjs';
|
||||
import {
|
||||
parseIssueList, parsePrereleaseArgs, prereleaseWorkflowSucceeded,
|
||||
assertHacsDiscoverableTag, parseIssueList, parsePrereleaseArgs, prereleaseWorkflowSucceeded,
|
||||
readZipEntries, verifyReleaseProjection,
|
||||
} from '../scripts/release-prerelease.mjs';
|
||||
|
||||
@@ -47,6 +47,15 @@ test('release SemVer parser accepts prereleases and rejects unsafe tags', () =>
|
||||
assert.throws(() => validateVersionSources('v1.2.3', { source: '1.2.3' }), /requires a prerelease/);
|
||||
});
|
||||
|
||||
test('HACS prerelease naming switches from beta.9 to rc.1', () => {
|
||||
assert.equal(assertHacsDiscoverableTag('v1.62.0-beta.9'), 'v1.62.0-beta.9');
|
||||
assert.equal(assertHacsDiscoverableTag('v1.62.0-rc.1'), 'v1.62.0-rc.1');
|
||||
assert.throws(
|
||||
() => assertHacsDiscoverableTag('v1.62.0-beta.10'),
|
||||
/not HACS-discoverable.*use rc\.1/,
|
||||
);
|
||||
});
|
||||
|
||||
test('version sources include every shipped authority and must match the tag', () => {
|
||||
const sources = parseVersionSources({
|
||||
packageJson: '{"version":"1.2.3-beta.4"}',
|
||||
|
||||
Reference in New Issue
Block a user