Dermot Duffy
e9e6d9f833
feat: Use the card's own pan & zoom with the webrtc-card live provider ( #2630 )
...
- Closes : #2628
2026-07-29 15:46:03 -07:00
Dermot Duffy
70abb39762
fix: Stop the webrtc-card provider recreating its player on every render ( #2629 )
...
- Closes : #2625
2026-07-29 13:11:12 -07:00
Dermot Duffy
15b08db3e8
fix: Clear stale media unavailable errors when a camera recovers ( #2627 )
...
- Closes : #2576
2026-07-28 21:21:50 -07:00
Dermot Duffy
231e3087b7
fix: Error when a zoomable element is removed during zoom initialization ( #2624 )
...
- Closes : #2410
2026-07-26 20:54:07 -07:00
Dermot Duffy
ad89aa9538
test: Split test utilities to improve test times ( #2622 )
2026-07-26 16:29:53 -07:00
Dermot Duffy
8d44fcecf1
fix: Ignore startup triggers from cameras without the trigger capability ( #2621 )
...
- Closes : #2103
2026-07-26 15:37:59 -07:00
Dermot Duffy
0f8593f9fa
feat: Answer or reject inbound calls from menu ( #2620 )
...
- For: #2587
2026-07-26 14:24:14 -07:00
Dermot Duffy
ababe133a8
chore: Switch coverage from istanbul to the v8 provider for speed ( #2619 )
2026-07-26 14:21:27 -07:00
Dermot Duffy
3b8835ee7c
feat: Allow disabling the call controls ( #2615 )
...
- For: #2587
2026-07-26 11:35:18 -07:00
Dermot Duffy
0c3d46ad3d
chore: Upgrade to Vitest 4 and regroup tests for performance ( #2618 )
2026-07-26 11:28:58 -07:00
Dermot Duffy
a0fd464d23
test: Remove unnecessary jsdom environment declarations ( #2616 )
2026-07-25 22:47:59 -07:00
Dermot Duffy
eccf7f3b97
ci: Upload the bundle treemap visualization browser-viewable ( #2617 )
2026-07-25 22:47:06 -07:00
Dermot Duffy
37b07f079d
chore: Run checks, tests and build as parallel jobs ( #2614 )
2026-07-25 22:01:53 -07:00
Dermot Duffy
c4c6058a70
test: Split the test suite into isolation groups for faster runs ( #2613 )
2026-07-25 21:47:13 -07:00
Dermot Duffy
8f953547b1
fix: Connect the microphone when an inbound call is *answered* ( #2609 ) ( #2612 )
...
- Closes : #2609
2026-07-25 20:56:07 -07:00
Dermot Duffy
2a84f199de
fix: Size the expanded dialog and grid columns to their content ( #2611 )
...
- Closes #2607
2026-07-25 13:46:31 -07:00
Dermot Duffy
5f2c7f5e4e
fix: Prevent the media grid from collapsing when its cells are unchanged ( #2608 )
...
- For: #2306
2026-07-24 18:06:35 -07:00
Dermot Duffy
0a763b73a6
docs: Add config example for problematic doorbells ( #2604 )
2026-07-24 10:55:45 -07:00
Dermot Duffy
f419798e8e
fix: Exponentially back off initialization-error retries ( #2579 ) ( #2605 )
...
- Closes #2579
2026-07-24 10:54:31 -07:00
Dermot Duffy
54f75beb9d
fix: Improve media_query retry behavior ( #2603 )
2026-07-23 22:19:17 -07:00
Dermot Duffy
6817d27c91
fix: Guard the ha provider MJPEG stream URL against a missing access_token ( #2602 )
...
- Closes : #2601
2026-07-23 09:42:05 -07:00
Dermot Duffy
cd53ebd3c8
fix: Correctly bind MJPEG stream URL in the ha live provider ( #2305 ) ( #2600 )
...
- Closes : #2305
2026-07-22 22:00:47 -07:00
Dermot Duffy
448fa2d9f1
feat: Surface the provider's error cause in the media_unavailable notification ( #2599 )
...
- Closes : #2592
2026-07-22 20:45:49 -07:00
Dermot Duffy
5a549c0326
fix: Prevent microphone auto-disconnect during calls and restore the removed microphone connected condition ( #2597 )
...
- Closes : #2590
2026-07-22 16:12:31 -07:00
Dermot Duffy
8c36637092
fix: Only report a live error from the visible ha-camera-stream player ( #2596 )
...
- Closes : #2583
2026-07-22 13:45:46 -07:00
Dermot Duffy
7d66c5f005
chore: Replace ts-prune with knip ( #2595 )
...
- Closes : #2593
2026-07-22 13:26:34 -07:00
Dermot Duffy
2ca4aa95e5
chore: Replace deprecated 'node' module resolution with 'bundler' and tighten compiler options ( #2594 )
2026-07-22 12:12:00 -07:00
Dermot Duffy
87ecbc7e45
feat: Trigger automations on call answered, rejected and hung up ( #2591 )
2026-07-22 11:11:57 -07:00
dependabot[bot]
2400e20134
chore(deps): bump release-drafter/release-drafter from 7.5.1 to 7.6.0 ( #2585 )
...
Bumps
[release-drafter/release-drafter](https://github.com/release-drafter/release-drafter )
from 7.5.1 to 7.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/release-drafter/release-drafter/releases ">release-drafter/release-drafter's
releases</a>.</em></p>
<blockquote>
<h2>v7.6.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>feat: resolve release commitish refs to commit SHAs (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1649 ">#1649</a>)
<a href="https://github.com/jetersen "><code>@jetersen</code></a></li>
<li>feat: add new contributors list (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1645 ">#1645</a>)
<a href="https://github.com/jetersen "><code>@jetersen</code></a></li>
<li>feat: support pull request co-authors (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1646 ">#1646</a>)
<a href="https://github.com/jetersen "><code>@jetersen</code></a></li>
<li>feat: support per-key merge strategies in <code>_extends</code> (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1642 ">#1642</a>)
<a
href="https://github.com/ReneWerner87 "><code>@ReneWerner87</code></a>,
<a href="https://github.com/cchanche "><code>@cchanche</code></a>, <a
href="https://github.com/jetersen "><code>@jetersen</code></a></li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>fix: .github in legacy <code>_extends</code> refs (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1650 ">#1650</a>)
<a href="https://github.com/jetersen "><code>@jetersen</code></a></li>
<li>fix: normalize release target branch refs (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1648 ">#1648</a>)
<a href="https://github.com/jetersen "><code>@jetersen</code></a></li>
<li>fix: duplicate and skipped release contributors (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1644 ">#1644</a>)
<a href="https://github.com/jetersen "><code>@jetersen</code></a></li>
</ul>
<h2>Maintenance</h2>
<ul>
<li>chore(deps): update dependency typescript to 7.0.2 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1667 ">#1667</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>ci(deps): update github/codeql-action digest to 7188fc3 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1654 ">#1654</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>ci(deps): update actions/stale digest to 1e223db (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1653 ">#1653</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>chore(deps): update dependency <code>@types/node</code> to 24.13.3
(<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1661 ">#1661</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>chore(deps): update vitest to 4.1.10 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1656 ">#1656</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>chore(deps): update graphql-codegen (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1663 ">#1663</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>chore(deps): update dependency vite to 8.1.4 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1662 ">#1662</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a>,
<a
href="https://github.com/apps/github-actions "><code>@github-actions[bot]</code></a></li>
<li>chore(deps): update dependency nock to 14.0.16 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1655 ">#1655</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>chore(deps): update dependency <code>@biomejs/biome</code> to 2.5.3
(<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1660 ">#1660</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>ci(deps): update actions/checkout action to v7.0.0 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1669 ">#1669</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>ci(deps): update actions/setup-node action to v7.0.0 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1670 ">#1670</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
<li>chore: update generated GraphQL types (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1641 ">#1641</a>)
<a
href="https://github.com/apps/github-actions "><code>@github-actions[bot]</code></a>,
<a href="https://github.com/jetersen "><code>@jetersen</code></a></li>
</ul>
<h2>Dependency Updates</h2>
<ul>
<li>fix(deps): update dependency graphql to 16.14.2 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1657 ">#1657</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a>,
<a
href="https://github.com/apps/github-actions "><code>@github-actions[bot]</code></a></li>
<li>fix(deps): update dependency yaml to 2.9.0 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1666 ">#1666</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a>,
<a
href="https://github.com/apps/github-actions "><code>@github-actions[bot]</code></a></li>
<li>fix(deps): update dependency semver to 7.8.5 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1659 ">#1659</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a>,
<a
href="https://github.com/apps/github-actions "><code>@github-actions[bot]</code></a></li>
<li>fix(deps): update dependency ignore to 7.0.6 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1658 ">#1658</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a>,
<a
href="https://github.com/apps/github-actions "><code>@github-actions[bot]</code></a></li>
<li>chore(deps): update dependency <code>@biomejs/biome</code> to 2.5.3
(<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1660 ">#1660</a>)
<a
href="https://github.com/apps/renovate "><code>@renovate[bot]</code></a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/ReneWerner87 "><code>@ReneWerner87</code></a>
made their first contribution in <a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1642 ">#1642</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v7.5.1...v7.6.0 ">https://github.com/release-drafter/release-drafter/compare/v7.5.1...v7.6.0 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/eada3c96a64734dd381cfbda23511034e328ddb0 "><code>eada3c9</code></a>
chore: release v7.6.0</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/4621843980a0844866eefbe4d5f92e680fce5d81 "><code>4621843</code></a>
migrate biome config</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/e9aeda788e59684f9fe90b4ca1a32f60f0b3bf29 "><code>e9aeda7</code></a>
chore(deps): update dependency typescript to 7.0.2 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1667 ">#1667</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/c943e7c8b72b3d6c5fab33cfd024317893d5c320 "><code>c943e7c</code></a>
fix(deps): update dependency graphql to 16.14.2 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1657 ">#1657</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/b9af92564053e016d0bf080da7c24704c159ee4e "><code>b9af925</code></a>
fix(deps): update dependency yaml to 2.9.0 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1666 ">#1666</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/f4aa1589c4bd889abd152b42a03071c0695716b8 "><code>f4aa158</code></a>
ci(deps): update github/codeql-action digest to 7188fc3 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1654 ">#1654</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/93973850c385e1ad1901d254003cf654b2fb7f4a "><code>9397385</code></a>
ci(deps): update actions/stale digest to 1e223db (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1653 ">#1653</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/5dd9f212bc0430df55c6f9b360720a2d08ddc157 "><code>5dd9f21</code></a>
chore(deps): update dependency <code>@types/node</code> to 24.13.3 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1661 ">#1661</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/903a9a10909a48b47c20e26c545bac26676d69cd "><code>903a9a1</code></a>
chore(deps): update vitest to 4.1.10 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1656 ">#1656</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/2796d1b6a0ad34872845939207b3af9aac1b346f "><code>2796d1b</code></a>
fix(deps): update dependency semver to 7.8.5 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1659 ">#1659</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/release-drafter/release-drafter/compare/v7.5.1...v7.6.0 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 22:31:53 -07:00
Dermot Duffy
f28b16a4b5
feat: Compress related editor fields into grid rows ( #2589 )
2026-07-21 22:31:13 -07:00
Dermot Duffy
e29c0826cf
feat: Add a simple mode to the visual card editor ( #2588 )
2026-07-21 19:13:29 -07:00
Dermot Duffy
b6e1de5999
feat: Modernize the visual card editor. ( #2586 )
2026-07-20 20:44:16 -07:00
Dermot Duffy
e204ec183f
fix: Correct status bar alignment in Safari ( #2581 )
...
- Closes #2578
2026-07-15 14:28:47 -07:00
Dermot Duffy
c02c692f68
feat: Add experimental rewrite of go2rtc live provider (MSE/WebRTC/MP4/MJPEG) ( #2580 )
...
- Closes #2556
- Closes #2450
**Key intended features:**
- go2rtc compatible
- 100% test coverage to significantly improve ability to test, maintain
and work around browser weirdnesses (e.g. Safari).
- Written from the ground up in the style of the rest of the project.
**To use:**
- Change `live_provider` from `go2rtc` to `go2rtc-experimental`.
2026-07-14 14:22:41 -07:00
Dermot Duffy
5662e48c22
test: Add regression test for media info stability ( #2571 )
...
- Relates to: #2563
2026-07-08 11:24:18 -07:00
Dermot Duffy
fb1bbc739e
feat: Automatically recover from frozen live streams ( #2569 )
...
- Closes : #2099
2026-07-07 21:37:24 -07:00
Dermot Duffy
9f956fe89f
fix: Match state trigger/condition semantics to HA ( #2565 )
...
* Closes #2530
2026-07-04 10:23:51 -07:00
Dermot Duffy
3494706225
fix: Use auto_unmute as input to stream selection for HA ( #2562 )
...
- Closes #2479
2026-07-03 08:19:11 -07:00
Dermot Duffy
6a6d65d5c5
fix: Highlight folder icon for correct folder / media ( #2560 )
...
- Closes : #2128
- Closes : #2129
2026-07-02 10:26:30 -07:00
dermotduffy
3bb5ccd14f
chore: Add missing close keyword: close #2529 ( #2427 )
2026-06-30 21:40:44 -07:00
dermotduffy
8ebb88cde9
chore: Add missing close keyword: close #2438 ( #2468 )
2026-06-30 21:40:44 -07:00
dermotduffy
3a78a8d3e9
chore: Add missing close keyword: close #2525 ( #2553 )
2026-06-30 21:40:43 -07:00
Dermot Duffy
937ba647a7
fix: Fix audio for cameras with mixed WebRTC/HLS capabilities ( #2557 )
...
- Closes #2479
2026-06-30 17:45:13 -07:00
Dermot Duffy
5c97e55a56
fix: Honor configured home preset / merge presets. ( #2553 )
...
- Closes:
https://github.com/dermotduffy/advanced-camera-card/issues/2525
2026-06-30 17:45:13 -07:00
Dermot Duffy
d833edb65b
perf: lazy-load js-yaml (~107KB) as needed ( #2551 )
...
- Closes : #2532
2026-06-30 17:45:13 -07:00
Dermot Duffy
3fe5e4004a
fix: prevent infinite re-render loop from issue retry callbacks ( #2550 )
2026-06-30 17:45:13 -07:00
Dermot Duffy
c3d3dd3934
chore: Update ha-nunjucks to 1.6.2 ( #2549 )
...
- Replaces:
https://github.com/dermotduffy/advanced-camera-card/pull/2515
2026-06-30 17:45:13 -07:00
dependabot[bot]
015fb1876d
chore(deps): bump release-drafter/release-drafter from 7.4.0 to 7.5.1 ( #2547 )
...
Bumps
[release-drafter/release-drafter](https://github.com/release-drafter/release-drafter )
from 7.4.0 to 7.5.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/release-drafter/release-drafter/releases ">release-drafter/release-drafter's
releases</a>.</em></p>
<blockquote>
<h2>v7.5.1</h2>
<h1>What's Changed</h1>
<h2>Bug Fixes</h2>
<ul>
<li>fix: use PR changed files as the source of truth for path filtering
(<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1640 ">#1640</a>)
<a href="https://github.com/cchanche "><code>@cchanche</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v7.5.0...v7.5.1 ">https://github.com/release-drafter/release-drafter/compare/v7.5.0...v7.5.1 </a></p>
<h2>v7.5.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>feat: align increments to semver lib from 0.0.0 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1636 ">#1636</a>)
<a href="https://github.com/cchanche "><code>@cchanche</code></a></li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>fix: require actual matches for category mode <code>only</code> (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1639 ">#1639</a>)
<a href="https://github.com/cchanche "><code>@cchanche</code></a></li>
</ul>
<h2>Dependency Updates</h2>
<ul>
<li>build(deps): bump undici from 6.24.1 to 6.27.0 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1637 ">#1637</a>)
@<a href="https://github.com/apps/dependabot ">dependabot[bot]</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v7.4.0...v7.5.0 ">https://github.com/release-drafter/release-drafter/compare/v7.4.0...v7.5.0 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e "><code>4d75298</code></a>
chore: release v7.5.1</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/87be2bf2a7828522f897c087bb709b00e6669aa1 "><code>87be2bf</code></a>
fix: use PR changed files as the source of truth for path filtering (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1640 ">#1640</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/73b95fa1c286dfd6802a4f949b07dad6149f2b0f "><code>73b95fa</code></a>
chore: release v7.5.0</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/46fd41568419e5085b7f73f064d37982152c91dd "><code>46fd415</code></a>
Fix/align increments to semver lib from 0.0.0 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1636 ">#1636</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/ee0257248ae4c676c2ee86fecb6066e21168acb8 "><code>ee02572</code></a>
chore: upgrade various deps</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/cd9144557b96e626dd10682b6f9167d89cf51e84 "><code>cd91445</code></a>
build(deps): bump undici from 6.24.1 to 6.27.0 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1637 ">#1637</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/33c969bc903b50ba04f9dd14d0074d2a6b4dfee6 "><code>33c969b</code></a>
fix: require actual matches for category mode <code>only</code> (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1639 ">#1639</a>)</li>
<li><a
href="https://github.com/release-drafter/release-drafter/commit/5d6d314b663c77dcb159adaeba42fa0170ab0ddb "><code>5d6d314</code></a>
ci: support label 'dependencies' for dependabot</li>
<li>See full diff in <a
href="https://github.com/release-drafter/release-drafter/compare/v7.4.0...v7.5.1 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 17:45:13 -07:00
Dermot Duffy
ea251ca988
perf(bundle): lazy-load the nunjucks template engine ( #2535 )
...
Closes #2531 .
## Summary
The full `nunjucks` templating engine (~226KB) plus `ha-nunjucks`
(~46KB) — roughly **272KB, ~13% of the eager entry chunk** — was
statically imported and downloaded by every card on initial load, even
though templates only apply when a config value contains a `{{ … }}` /
`{% … %}` delimiter. Most cards use no templates and never need the
engine.
This defers the engine behind a dynamic `import('ha-nunjucks/dist')` so
it ships in a separate, on-demand chunk instead of the eager
`card-*.js`.
## Approach
The render path (`TemplateRenderer.renderRecursively`) is **kept
synchronous** — it is called from many synchronous hot paths
(condition/trigger evaluators, picture-elements rendering, actions,
folder matchers), and making it async would be a large, high-risk
refactor of the evaluation core.
Instead:
- **New `src/card-controller/templates/engine.ts`** — a module-level
singleton lazy loader (`loadTemplateEngine()` / `getTemplateEngine()`)
shared across all `TemplateRenderer` instances, plus a
`containsTemplate()` delimiter helper.
- **Delimiter gating** — strings without a delimiter never touch the
engine (the overwhelming majority of renders).
- **Pre-warm at config time** — because every template string originates
in the config, a new mandatory `TEMPLATE_ENGINE` initialization aspect
loads the engine before first render whenever the config contains a
delimiter. This **guarantees no raw `{{ … }}` flash**: content/condition
rendering is blocked until the engine is present for template-using
cards. Cards without templates never load it.
## Result
- nunjucks + ha-nunjucks move out of the eager chunk into a separate
chunk fetched only when a card actually uses templates.
- No change to the synchronous public render API; condition/trigger
evaluation core untouched.
## Tests
- New `engine.ts` loader coverage (concurrent load, cached reuse,
not-loaded fallback).
- The 11 existing test files that render real (delimiter-bearing)
templates declare their dependency explicitly via
`beforeAll(loadTemplateEngine)` — no global/implicit setup hook.
- Full suite green (4764 tests), lint and ts-prune clean, per-file 100%
coverage maintained for the affected directories.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
https://claude.ai/code/session_016ykWemdkZrgywvC71pHc6c
---
_Generated by [Claude
Code](https://claude.ai/code/session_016ykWemdkZrgywvC71pHc6c )_
2026-06-30 17:45:13 -07:00
Paul Bottein and dermotduffy
b33c034810
feat: Add card picker suggestion for camera entities ( #2517 )
...
Selecting a camera entity in the dashboard card picker now suggests
Advanced Camera Card under the Community section, so you can add it in
one click without searching for it manually.
Requires Home Assistant 2026.6 or later.
Docs:
https://developers.home-assistant.io/docs/frontend/custom-ui/custom-card#suggesting-your-card-for-an-entity
---------
Co-authored-by: dermotduffy <dermot.duffy@gmail.com >
2026-06-30 17:45:13 -07:00