Changes
Notes:
- For Frigate users, requires at least Frigate integration v5.5.1 or later.
- Requires HomeAssistant
>=2024.12
.
Highlighted feature
Camera grid
💥 Breaking Changes
- fix: Replace
max_height
withheight
(#1539) @dermotduffy - Add support for more advanced forms of overriding (#1438) @dermotduffy
- Add support for
user
andnumeric_state
conditions (#1398) @dermotduffy - Improve fidelity of signals that Frigate can provide to the card (#1390) @dermotduffy
- Allow live thumbnails to load recordings (#1360) @dermotduffy
- Allow the inbound audio to unmute when the microphone is unmuted (#1353) @dermotduffy
- Allow scan mode to filter triggered camera and to be used in automations (#1351) @dermotduffy
- Add out-of-the-box Frigate PTZ support (#1312) @dermotduffy
- Rename
service_data
todata
to maintain HA compatibility (#1294) @dermotduffy - Accept
.
as a query string delimiter and reject non-alphanumericcard_id
parameters (#1265) @dermotduffy
🚀 Features
- feat: Increase max thumbnail size to
300px
(#1703) @dermotduffy - feat: Add experimental reolink media support (#1694) @dermotduffy
- feat: Add
permanent
menu items for hidden menus (#1636) @dermotduffy - feat: Rework casting profile and documentation (#1602) @felipecrs
- feat: Add new
casting
profile (#1575) @dermotduffy - feat: Show diagnostics in yaml instead of json (#1550) @dermotduffy
- feat: Add loading spinner on card initialization (#1549) @dermotduffy
- feat: Add
microphone_connect
action (#1537) @felipecrs - feat: Add
microphone_disconnect
action (#1536) @felipecrs - Add support for
perform-action
calls (#1520) @dermotduffy - Add support for arbitrary image entities (#1518) @dermotduffy
- Add
max_simultaneous_engine_requests
parameter (#1507) @dermotduffy - Add configurable status bar (#1498) @dermotduffy
- Add keyboard shortcut support (#1465) @dermotduffy
- Add support for pre-defined zoom/pan settings per camera (#1448) @dermotduffy
- Add support for precise media layout cropping (#1442) @dermotduffy
- Add support for configuration profiles (#1418) @dermotduffy
- Add French language translations (#1417) @dermotduffy
- Allow camera capabilities to be configured (#1414) @dermotduffy
- Add Catalan translations (#1409) @edurenye
- Add ability to set timeline pan mode via config (#1399) @dermotduffy
- Adapt dimensions and media layout options to be per camera (#1394) @dermotduffy
- Add custom date/time gallery filtering (#1366) @dermotduffy
- Allow microphone state to be used in conditions (#1359) @dermotduffy
- Add new method of casting that supports low latency live streams (#1296) @dermotduffy
- Add support for go2rtc to non-Frigate cameras (#1291) @dermotduffy
- Add watermark to temporary image on live view (#1290) @dermotduffy
- Add ability to show media in a multi-camera grid (#1251) @dermotduffy
🐛 Fixes
- fix: Allow
9:16
aspect-ratio gallery to render without a gap in Safari (#1705) @dermotduffy - fix: Adapt
ha-hls-player
patch to HA2024.11
code (#1679) @dermotduffy - fix: Column sizing may calculate incorrectly in grid mode (#1695) @dermotduffy
- fix: Always start
webrtc-card
muted (#1682) @dermotduffy - fix: Rationalize custom icons to avoid duplication (#1639) @dermotduffy
- fix: Improve media background image (#1635) @dermotduffy
- fix: Correctly determine whether to show PTZ controls (#1631) @dermotduffy
- fix: Always play the media target after a HA tab change (#1627) @dermotduffy
- fix: Zoom/pan support for WebRTC Card (#1624) @dermotduffy
- fix: Treat a un/selection of grid items as
selected
for auto media actions (#1623) @dermotduffy - fix: Show a background image in case media doesn't load (#1622) @dermotduffy
- fix: Update
go2rtc
client with the latest changes (#1620) @dermotduffy - fix: Only show PTZ controls for selected camera in grid mode (#1619) @dermotduffy
- fix: Do not show menu icons on top of other unrelated HA content (#1617) @dermotduffy
- fix: Do not show the cameras menu with <= 1 camera (#1616) @dermotduffy
- fix: Fix thumbnail carousel scroll position (#1606) @dermotduffy
- fix:
media_stop
not supported on Google Cast devices (#1605) @felipecrs - fix: Fix card initialization on some cast devices (#1601) @dermotduffy
- fix: Fix curved corners (again) (#1595) @dermotduffy
- fix: Don't hide menu in casting profile (#1590) @dermotduffy
- fix: Menu should extend beyond card boundary (#1589) @dermotduffy
- fix: Ensure media info is dispatched after view change (#1587) @dermotduffy
- fix: Multiple cards should form a masonry layout (#1585) @dermotduffy
- fix: Menu linear background should match alignment (#1584) @dermotduffy
- fix: Don't run the query string actions until after initialization (#1579) @dermotduffy
- fix: Don't block for microphone initialization if browser does not support it (#1576) @dermotduffy
- fix: Weird menu rendering placement issue on Firefox browsers (#1572) @dermotduffy
- fix: Untriggering to default should reset to default camera (#1571) @dermotduffy
- fix: Unparseable config when using the
low-performance
profile (#1570) @dermotduffy - fix: Use pkg version until semantic-release is used (#1565) @dermotduffy
- fix: Configured PTZ actions should overrule auto-detected actions (not merge with them) (#1558) @dermotduffy
- fix: Timeline window should match selected events for media views (#1555) @dermotduffy
- fix: Menu linear gradient is the wrong direction on left/right menus (#1553) @dermotduffy
- fix: Assume conditions are
state
conditions unless otherwise specified (#1552) @dermotduffy - fix: Destroy cameras after failed initialization (#1551) @dermotduffy
- fix: Fix initialization race condition that occurs in certain circumstances (#1545) @dermotduffy
- fix: Show the menu even if the view is not yet initialized (#1541) @dermotduffy
- Prevent console spam on build (#1519) @dermotduffy
- Fix overlay z-index for menu (#1513) @dermotduffy
- Remove optimization that caused scrubbing misbehavior (#1509) @dermotduffy
- Fix issue that causes media to not correctly unmute (#1506) @dermotduffy
- Don't run automations prior to initialization . (#1505) @dermotduffy
- Fix recording timezone issue (#1504) @dermotduffy
- Fix query adopt bug (#1503) @dermotduffy
- Use custom websocket to avoid needing admin privileges (#1501) @dermotduffy
- Fix menu hide bug causing menu background to stay even when hidden (#1443) @dermotduffy
- Fix control hiding and video seeking bugs (#1441) @dermotduffy
- Fix media autoplay (#1440) @dermotduffy
- Fix card-wide actions (#1433) @dermotduffy
- Set timeline to now not to most recent event. (#1432) @dermotduffy
- Only show download button in media viewer (#1425) @dermotduffy
- Ensure timeline menu button shows up when it should (#1396) @dermotduffy
- Always render a view even if default is unsupported (#1395) @dermotduffy
- Remove remnants of old PTZ
auto
mode (#1392) @dermotduffy - Fix timeline date picker for iOS users (#1364) @dermotduffy
- Fix issues with 2-way audio for cameras that support only a single stream (#1362) @dermotduffy
- Process range changes correctly when the date picker is used (#1361) @dermotduffy
- Fix minor seeking issue in unreleased code (#1352) @dermotduffy
- Rename
service_data
todata
to maintain HA compatibility (#1294) @dermotduffy - Improve engine identification and id generation (#1293) @dermotduffy
- Fix issue causing carousel to not correctly scroll (#1287) @dermotduffy
- Deal with camera unavailability in a cleaner way (#1283) @dermotduffy
- Safely handle invalid null
hass
objects (#1282) @dermotduffy - Fix query string handling for navigation calls (#1281) @dermotduffy
- fix: update inlang settings (#1275) @jannesblobel
- Accept
.
as a query string delimiter and reject non-alphanumericcard_id
parameters (#1265) @dermotduffy
🐎 Performance
- perf: Change media fetches to be asynchronous to view render (#1702) @dermotduffy
- perf: Only trigger a state change if the state is definitely different (#1569) @dermotduffy
🚨 Testing
- Fix devcontainer for latest Frigate and Home Assistant (#1523) @felipecrs
- Prevent test coverage backsliding for 100% coverage files (#1391) @dermotduffy
- Enforce coverage % (#1313) @dermotduffy
👷 Continuous Integration
- ci: Update labels for release drafter (#1574) @dermotduffy
- ci: Do not scope semantic PRs permissions as an experiment (#1568) @dermotduffy
- ci: Give semantic PRs permissions on issues as an experiment (#1567) @dermotduffy
- ci: Give semantic PRs permissions on statuses as an experiment (#1566) @dermotduffy
- ci: Replace the PR validator with a labeler (#1560) @dermotduffy
- ci: Switch to github actions based semantic PRs (#1540) @dermotduffy
- ci: Combine build and release steps (#1532) @dermotduffy
- ci: Add write permissions for semantic release jobs (#1531) @dermotduffy
- ci: Fix semantic release credentials (#1530) @dermotduffy
- ci: Install dependencies before semantic-release run (#1529) @dermotduffy
- ci: Add initial semantic-release configuration (#1528) @dermotduffy
📚 Documentation
- docs: Remove use of
ms-high-contrast
(#1713) @dermotduffy - docs: Add doorbell example (#1665) @felipecrs
- docs: Add
alignment
parameter to menu elements documentation (#1681) @dermotduffy - docs: Fix
ptz_digital
typos (#1680) @dermotduffy - docs: Fix PTZ example (#1642) @dermotduffy
- docs: Fix incorrect
change_zoom
example (#1640) @dermotduffy - docs: Add examples of entity-less cameras (#1615) @dermotduffy
- docs: Add information on the new release philosophy (#1592) @dermotduffy
- docs: Typo in Profiles configuration page (#1535) @shbatm
- fix(docs): Fix typo in override documentation (#1527) @dermotduffy
- fix(docs): Fix broken image URL in docs (#1525) @dermotduffy
- Improve
fr
translations (#1517) @dermotduffy - Remove
dev
warnings from docs (#1515) @dermotduffy - Add status bar screenshot (#1514) @dermotduffy
- Convert docs dependencies to be locally served (#1470) @dermotduffy
- Add Google Analytics to docs (#1451) @dermotduffy
- Improve
favicon.ico
constrast (#1434) @dermotduffy - Add documentation favicon (#1424) @dermotduffy
- Add the word 'DEV' to the coverpage for now (#1423) @dermotduffy
- Add link to deployed documentation (#1422) @dermotduffy
- Complete documentation overhaul (#1421) @dermotduffy
- Minor README improvement for go2rtc
url
parameter (#1292) @dermotduffy - Clarify installation instructions (#1284) @dermotduffy
- Add troubleshooting entry for large downloads (#1233) @dermotduffy
🔨 Refactoring
- refactor: Split
viewer.ts
into multiple files (#1645) @dermotduffy - refactor: Split
live.ts
into multiple files (#1644) @dermotduffy - refactor: Cache device information centrally (#1598) @dermotduffy
- refactor: Refactor entity register manager (#1597) @dermotduffy
- Move automatic media actions out of carousels (#1512) @dermotduffy
- Refactor menu buttons controller into different functions (#1428) @dermotduffy
- Refactor menu code and add tests (#1358) @dermotduffy
- Refactor
card.ts
andtypes.ts
and add tests (#1279) @dermotduffy
🔧 Chore
- chore: Bump version to
v6.0.0
(#1716) @dermotduffy - chore: Bump version to
v6.0.0-beta.9
(#1706) @dermotduffy - chore: Fix issue template formatting (#1643) @dermotduffy
- chore: Bump version to
v6.0.0-beta.8
(#1641) @dermotduffy - chore: Bump version to
v6.0.0-beta.7
(#1628) @dermotduffy - chore: Bump version to
6.0.0-beta.6
(#1625) @dermotduffy - chore: Add lock debugging (#1611) @dermotduffy
- chore: Automatically lock closed issues and PRs (#1607) @dermotduffy
- chore: Bump version to
v6.0.0-beta.5
(#1596) @dermotduffy - chore: Remove superfluous votes needed label (#1593) @dermotduffy
- chore: Bump version to
v6.0.0-beta.4
(#1591) @dermotduffy - chore: Bump version to
v6.0.0-beta.3
(#1573) @dermotduffy - chore: Bump version to
6.0.0-beta.2
(#1554) @dermotduffy - chore: Update HACS validator to latest (#1526) @dermotduffy
- Merge
dev
back tomain
in advance of release (#1524) @dermotduffy - Bump version to
v6.0.0-beta.1
(#1516) @dermotduffy - Add new
update
trigger action to just update current view dynamically (#1488) @dermotduffy - Update rollup to v3 and its plugins (#1474) @felipecrs
- Update all non-major dependencies (#1464) @felipecrs
- Bump prettier to v3 and format all files (#1472) @felipecrs
- Bump release-drafter/release-drafter from 5.24.0 to 6.0.0 (#1469) @dependabot
- Bump actions/upload-artifact from 3 to 4 (#1468) @dependabot
- Bump thedoctor0/zip-release from 0.7.1 to 0.7.6 (#1467) @dependabot
- Bump svenstaro/upload-release-action from 2.7.0 to 2.9.0 (#1466) @dependabot
- Bump crazy-max/ghaction-github-labeler from 4.1.0 to 5.0.0 (#1266) @dependabot
- Bump actions/checkout from 3 to 4 (#1264) @dependabot
- Bump svenstaro/upload-release-action from 2.6.1 to 2.7.0 (#1237) @dependabot
- Bump release-drafter/release-drafter from 5.23.0 to 5.24.0 (#1213) @dependabot
- Update typescript to v5 (#1463) @felipecrs
- Update Node.js from 18 to 20 LTS (#1452) @felipecrs
- Update date-fns and date-fns-tz to v3 (#1462) @felipecrs
- Add waiting label (#1450) @dermotduffy
- Add
waiting
label (#1449) @dermotduffy - Merge changes on
main
branch back intodev
(#1415) @dermotduffy - Migrate inlang (#1346) @NiklasBuchfink
- Merge v5.2.0 release back into main (#1212) @dermotduffy