What's Changed
🔐 Security
- Install and update the Companion App over ADB from the settings by @manuelmayer-dev in #995
- Prevent untrusted text from forging host log lines by @manuelmayer-dev in #1103
🛠 SDK
- Let plugins show any installed icon by its id by @manuelmayer-dev in #1048
- Let the Music Player widget show the playback source and a provider badge by @manuelmayer-dev in #1083
- Let plugins offer optional settings without blocking the integration by @manuelmayer-dev in #1088
- Let plugins offer per-widget Music Player options by @manuelmayer-dev in #1087
- Let widgets provide a default Short Press action by @manuelmayer-dev in #1111
- Let plugins show the artwork of other music players by @manuelmayer-dev in #1113
🎉 Exciting New Features
- Allow naming button events and running buttons from the deck by @manuelmayer-dev in #1052
- Share variables with other Macro Decks through Macro Deck Delegate by @manuelmayer-dev in #1055
- Add a Twitch chat widget and withdraw widgets of disabled integrations by @manuelmayer-dev in #1057
- Show announcements from the Macro Deck team by @manuelmayer-dev in #1064
- Add a chat dialog with moderator actions to the Twitch Chat widget by @manuelmayer-dev in #1065
- Detect damaged or partially updated installations on startup by @manuelmayer-dev in #1067
- Let plugins show live video streams in Macro Deck UI by @manuelmayer-dev in #1072
- Tell the Companion App which versions work together by @manuelmayer-dev in #1076
- Let devices hide their settings button by @manuelmayer-dev in #1084
- Add Countdown and Stopwatch widgets by @manuelmayer-dev in #1089
- Let the Web Client choose the icon resolution by @manuelmayer-dev in #1085
- Add search, favorites and a list view to the widget selector by @manuelmayer-dev in #1097
- Let widgets use any background color, including transparent by @manuelmayer-dev in #1098
- Add macrodeck:// links that open Store entries by @manuelmayer-dev in #1117
- Let Slider widgets control Home Assistant entities by @manuelmayer-dev in #1120
- Add a Toggle option to Twitch Set Chat Mode by @manuelmayer-dev in #1126
- Let users redeem Companion promo codes in Macro Deck by @manuelmayer-dev in #1140
- Add a Twitch Stream Stats widget by @manuelmayer-dev in #1142
- Add a command to render widget previews to PNG by @manuelmayer-dev in #1141
- Let widgets pick the first layout whose text fits by @manuelmayer-dev in #1139
🚀 Improvements
- Link the Companion App on the App Store and Google Play in the setup wizard by @manuelmayer-dev in #1040
- Let music player plugins register their cover as a UI resource in one call by @manuelmayer-dev in #1046
- Mark plugin integrations with a Plugin badge by @manuelmayer-dev in #1053
- Show the connect QR code for the Companion App in the setup wizard by @manuelmayer-dev in #1056
- Allow grids up to 16 rows and 16 columns by @manuelmayer-dev in #1081
- Move Car Thing setup to Experiments under Advanced by @manuelmayer-dev in #1114
- Stop plugins logging every health poll and successful request by @manuelmayer-dev in #1119
- Collapse unbound variables into a group and unify the variable views by @manuelmayer-dev in #1121
- Show backup progress when installing a plugin file by @manuelmayer-dev in #1136
🐞 Bug Fixes
- Fix Server Started automations never running by @manuelmayer-dev in #1039
- Fix Lock Computer doing nothing on current macOS by @manuelmayer-dev in #1050
- Fix links not opening from the Linux AppImage on KDE Plasma 6 by @manuelmayer-dev in #1051
- Keep the resize dot and pin badge visible at large corner radii by @manuelmayer-dev in #1049
- Let Companion actions run on a device that has just connected by @manuelmayer-dev in #1054
- Keep the Web Client on its own profile when profiles are copied or deleted by @manuelmayer-dev in #1061
- Keep the Web Client current after Macro Deck updates by @manuelmayer-dev in #1062
- Keep integration icons coloured in the Companion App by @manuelmayer-dev in #1069
- Run Integration Connected automations on startup by @manuelmayer-dev in #1073
- Let OBS source visibility actions select sources inside groups by @manuelmayer-dev in #1074
- Keep apps launched from Macro Deck running after it exits by @manuelmayer-dev in #1075
- Fix duplicate font styles for symlinked fonts on Linux by @manuelmayer-dev in #1099
- Fix Variable Changed triggers missing padded HTTP bodies by @manuelmayer-dev in #1100
- Fix inconsistent widget shadow overlap and add a shadows setting by @manuelmayer-dev in #1101
- Fix long animated icons showing a still image on buttons by @manuelmayer-dev in #1102
- Fix reinstalling an unsigned plugin failing on a missing signature by @manuelmayer-dev in #1112
- Fix GIF icons with a loop count of 1 playing once by @manuelmayer-dev in #1115
- Show freed cells as empty cells while resizing a widget by @manuelmayer-dev in #1118
- Remove plugin variables when a plugin is uninstalled by @manuelmayer-dev in #1127
- Show empty cells under a widget while moving it by @manuelmayer-dev in #1137
- Name the node when a view holds an undefined JsonElement by @manuelmayer-dev in #1138
📚 Documentation
- Document the Companion app in the user guide by @manuelmayer-dev in #1038
- Say in the Companion guide that Macro Deck 2 is not supported by @manuelmayer-dev in #1044
- Document live video in the Companion App by @manuelmayer-dev in #1079
- Document running scripts from other apps in the Companion guide by @manuelmayer-dev in #1080
- Document the icon resolution setting of the Companion App by @manuelmayer-dev in #1086
- Add the iOS script widget to the user guide by @manuelmayer-dev in #1106
- Add Quick Settings tiles to the Companion app guide by @manuelmayer-dev in #1107
- Document Android script shortcuts in the Companion guide by @manuelmayer-dev in #1108
- Document the Companion scripts widget on Android by @manuelmayer-dev in #1110
- Update the Companion guide for the automation key by @manuelmayer-dev in #1116
- Add screen settings to the Companion user guide by @manuelmayer-dev in #1122
- Add the Control Center script control to the iOS guide by @manuelmayer-dev in #1124
- Add screenshot to the readme by @manuelmayer-dev in #1148
⬆️ Dependencies
- Update all patch updates by @renovate[bot] in #1028
- Update dependency autoprefixer to v10.6.0 by @renovate[bot] in #1030
- Update dependency Scriban to 7.4.0 by @renovate[bot] in #1032
- Update tauri to v2.7.3 by @renovate[bot] in #1029
- Update dependency NUnit.Analyzers to 4.15.0 by @renovate[bot] in #1031
- Bump the npm_and_yarn group across 2 directories with 6 updates by @dependabot[bot] in #1078
- Lock file maintenance by @renovate[bot] in #1128
- Lock file maintenance by @renovate[bot] in #1133
- Bump the npm_and_yarn group across 2 directories with 4 updates by @dependabot[bot] in #1132
- Bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot[bot] in #1143
🛠️ Other Changes
- Add a root Makefile for the dev environment and the CI suites by @manuelmayer-dev in #1045
- Remove the CSS global again when the renderer spec added it by @manuelmayer-dev in #1071
- Require Companion app 26.2.0 or newer by @manuelmayer-dev in #1123
- Trust the Windows certificate store in the eSigner Java calls by @manuelmayer-dev in #1145
New Contributors
- @dependabot[bot] made their first contribution in #1078
Full Changelog: v3.0.0-beta.14...v3.0.0-beta.15