Changes
Notes:
- Beta releases may be unstable / not fit for prime time. Please report bugs, then rollback to the latest non-beta release.
- For Frigate users, requires at least Frigate integration v5.4.0 or later.
- Requires HomeAssistant
>2024.8
.
Highlighted feature
Camera grid
Documentation
Entirely reworked documentation is available at https://card.camera .
💥 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: 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: 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: 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: 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: 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
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