Releases: hass-agent/HASS.Agent
2.2.0
Breaking changes, please read below.
Due to security concerns, we were forced to remove Libre Hardware Monitor library that allowed HASS.Agent to access hardware information. The breaking change in this is that starting with this release, the GPU Temperature Sensor is non-functioning.
It has been left present for backward compatibility reasons, however it will always return 0.
Please see the awesome writeup by @DarkAutumn for more details #43 (comment)
Please see Docs for how you can get GPU temperature information using the standalone version of Libre Hardware Monitor.
Some changes, some fixes and hopefully not a lot of bugs :)
Changes
- Added support for Fan domain for Quick Actions (thanks to @axa88 for suggestion) #369
- Added configuration backup that is done before migration from LAB02 version actually happens #377
- Added WinFormsSleep command (version of sleep command using specifically WinForms API) (thanks to @felipecrs for suggestion) #378
- Added ability to test MQTT connection during onboarding process (thanks to @jgstew for suggestion) #379
- Added missing "use WebSocket" option to MQTT onboarding step #379
- Added "MonitorSleepPowerPlan" command to turn off screen by temporairly modyfying the power plan (should not cause the device to go to sleep) #380
- Added permission checks for both client (issues with administrative permissions) and service (not running as system) #383
- Added suport for "HumanPresence" internal device sensor #281
- Added new "NamedActiveWindow" binary sensor that can tell you if window containing specified name is currently active or not (thanks to @YpsilonTM for suggestion) #298
- Added new "AccentColor" sensor that provides #RRGGBB values for Windows' accent colors (thanks to @kineticscreen for suggestion) #299
- Added WebSocket support for MQTT connections (experimental :)) (thanks to @axelcypher for suggestion) #253
- Added x86 (32bit) support to the project and the published artifacts (thanks to @DoplerGanger for suggestion) #322
- Added ability to "hold" the KeyCommand for longer time by making it a switch type (thanks to @f-hicks for suggestion and testing) #325
- Added support for selecting on which screen WebView will appear (thanks to @denisabt for the PR!) #246
- Added support for button helpers (input_button) for quick actions (thanks to @drewsteinacher for the PR!) #199
Fixes:
- Fixed rare issue where LocalAPI would not work due to device configuration missing #358
- Fixed Home Assistant MQTT warning log regarding "object_id" deprecation (thanks to @Anto79-ops and @Momentum6890 for reporting) #372
- Fixed device discovery messages not being properly removed when device name is changed #376
- Fixed order of sensors and commands so they are sorted alphabetically by the first letter #381
- Fixed onboarding donation message so it's clear all donations go towards original creator of HASS.Agent - Sam #384
- Fixed MQTT entities changing ID after device rename #388
- Fixed/changed Satellite Service installation logic so it limits possibility of upgrade failing silently (even though there was no UI error) and/or leaving the Libre Hardware Monitor files (.dll and .sys) which causes Windows Defender to still report them even though they are not actively used. #352
- Fixed HASS.Agent crash when no WebView screen was explicitly configured (thanks to @cronner for reporting) #346
- Fixed issue where user would be presented with "You're running the newest version" even though internet was unavailable (thanks to @patienttruth for reporting) #247
- Fixed relative URIs in the notifications not opening properly when clicked on (thanks to @felipecrs for reporting) #294
- Fixed typo in the onboarding screen (thanks to @epipenRX for reporting) #300
- Fixed quick actions window not scaling properly with the system scale (thanks to @MathisP75 for reporting) #301
- Fixed repeating audio sensors error log when no default input or output is present because it was removed (thanks to @floriangagnard for reporting) #302
- Fixed (once and for all?) issues with hotkey and german keyboard layouts by changing the default one to Shift+Control+Q (thanks to @FatalMerlin for reporting and to @f-rakete for help in fixing) #303
- Fixed issue where InnoSetup installer parameters would not be passed on to the Satellite Service installer (thanks to @KrX3D for reporting) #306
- Fixed satellite service missing AudioManager initisation, causing AudioSensor not to work properly (thanks to @Dvvarf for reporting) #326
- Fixed HASS.Agent refusing to start after bluetooth dongle was removed with RadioCommand configured (thanks to @barrelltitor for reporting) #333
- Fixed note regarding Home Assistant long lived token generation and minor wording tweak (thanks to @SVNKoch for the PR!) #156
- Fixed the tray icon being blurry when using RDP extensively (thanks to @whc2001 for the PR!) #249
- Fixed code typo in printer sensor's code (thanks to @Selim042 for the PR!) #318
- Fixed issue where error of one internal device sensor would cause issues with configuration of others #338
- Fixed update notification being shown at startup even though general update notifications were disabled (thanks to @stavismed for reporting) #239
Other:
- Updated readme file (part 1) #385
- Removed dependency on LibreHardwareMonitor that uses WinRing0 (thanks to all people that reported this, especially for @DarkAutumn for all the research!) #280
- Moved project from .net6 to .net8 (thanks to @ricoroodenburg for suggestion) #284
- Updated dependencies #304
- Github Action artifact version update and build target version bump #225
Device renaming
For best results with renaming devices, this version should work with newest integration version: https://github.com/hass-agent/HASS.Agent-Integration/releases/tag/2.1.2
2.2.0-beta4
BREAKING CHANGES STARTING WITH 2.2.0-beta1
As with all beta versions, please remember to backup your configuration.
Automatic configuration backup is coming, at least I'm working on it :)
Breaking change:
Please read 2.2.0-beta1 release information for breaking change details https://github.com/hass-agent/HASS.Agent/releases/tag/2.2.0-beta1
Unless Home Assistant forces my hand with some MQTT changes this is the last beta release of 2.2.0 :)
Some fixes and additions here and there.
Best paired with integration beta - https://github.com/hass-agent/HASS.Agent-Integration/releases/tag/d2.1.2-beta1
Fixes in comparison to 2.2.0-beta3:
- Fixed rare issue where LocalAPI would not work due to device configuration missing #358
- Fixed Home Assistant MQTT warning log regarding "object_id" deprecation (thanks to @Anto79-ops and @Momentum6890 for reporting) #372
- Fixed device discovery messages not being properly removed when device name is changed #376
- Fixed order of sensors and commands so they are sorted alphabetically by the first letter #381
- Fixed onboarding donation message so it's clear all donations go towards original creator of HASS.Agent - Sam #384
- Fixed MQTT entities changing ID after device rename #388
Changes in comparison to 2.2.0-beta3:
- Added support for Fan domain for Quick Actions (thanks to @axa88 for suggestion) #369
- Added configuration backup that is done before migration from LAB02 version actually happens #377
- Added WinFormsSleep command (version of sleep command using specifically WinForms API) (thanks to @felipecrs for suggestion) #378
- Added ability to test MQTT connection during onboarding process (thanks to @jgstew for suggestion) #379
- Added missing "use WebSocket" option to MQTT onboarding step #379
- Added "MonitorSleepPowerPlan" command to turn off screen by temporairly modyfying the power plan (should not cause the device to go to sleep) #380
- Added permission checks for both client (issues with administrative permissions) and service (not running as system) #383
Misc in comparison to 2.2.0-beta3:
- Updated readme file (part 1) #385
2.2.0-beta3
BREAKING CHANGES STARTING WITH 2.2.0-beta1
As with all beta versions, please remember to backup your configuration.
Automatic configuration backup is coming, at least I'm working on it :)
Breaking change:
Please read 2.2.0-beta1 release information for breaking change details https://github.com/hass-agent/HASS.Agent/releases/tag/2.2.0-beta1
Few more of those and we'll have a release per day ;)
Apologies for so many in the short time span - removal of Libre Hardware Monitor library (the one causing your Windows Defender to complain all the time) is creating a lot of noise. All those betas are to try and smooth things out for full 2.2.0 release.
Once again, huge thanks to everyone helping and testing!
Fixes in comparison to 2.2.0-beta2:
- Changed Satellite Service installation logic so it limits possibility of upgrade failing silently (even though there was no UI error) and/or leaving the Libre Hardware Monitor files (.dll and .sys) which causes Windows Defender to still report them even though they are not actively used. #352
2.2.0-beta2
BREAKING CHANGES STARTING WITH 2.2.0-beta1
As with all beta versions, please remember to backup your configuration.
Automatic configuration backup is coming, at least I'm working on it :)
Breaking change:
Please read 2.2.0-beta1 release information for breaking change details https://github.com/hass-agent/HASS.Agent/releases/tag/2.2.0-beta1
Fixes in comparison to 2.2.0-beta1:
- Fixed HASS.Agent crash when no WebView screen was explicitly configured #346
Small and quick release but since this bug causes crash of HASS.Agent I wanted it fixed as soon as possible :)
2.2.0-beta1
BREAKING CHANGES - PLEASE READ BELOW BEFORE INSTALLATION
As with all beta versions, please remember to backup your configuration.
Automatic configuration backup is coming, at least I'm working on it :)
Breaking change:
Due to security concerns, we were forced to remove Libre Hardware Monitor library that allowed HASS.Agent to access hardware information. The breaking change in this is that starting with this release, the GPU Temperature Sensor is non-functioning.
It has been left present for backward compatibility reasons, however it will always return 0.
Please see the awesome writeup by @DarkAutumn for more details #43 (comment)
Please see Docs for how you can get GPU temperature information using the standalone version of Libre Hardware Monitor.
Features:
- Added suport for "HumanPresence" internal device sensor #281
- Added new "NamedActiveWindow" binary sensor that can tell you if window containing specified name is currently active or not (thanks to @YpsilonTM for suggestion) #298
- Added new "AccentColor" sensor that provides #RRGGBB values for Windows' accent colors (thanks to @kineticscreen for suggestion) #299
- Added WebSocket support for MQTT connections (experimental :)) (thanks to @axelcypher for suggestion) #253
- Added x86 (32bit) support to the project and the published artifacts (thanks to @DoplerGanger for suggestion) #322
- Added ability to "hold" the KeyCommand for longer time by making it a switch type (thanks to @f-hicks for suggestion and testing) #325
- Added support for selecting on which screen WebView will appear (thanks to @denisabt for the PR!) #246
- Added support for button helpers (input_button) for quick actions (thanks to @drewsteinacher for the PR!) #199
Fixes::
- Fixed issue where user would be presented with "You're running the newest version" even though internet was unavailable (thanks to @patienttruth for reporting) #247
- Fixed relative URIs in the notifications not opening properly when clicked on (thanks to @felipecrs for reporting) #294
- Fixed typo in the onboarding screen (thanks to @epipenRX for reporting) #300
- Fixed quick actions window not scaling properly with the system scale (thanks to @MathisP75 for reporting) #301
- Fixed repeating audio sensors error log when no default input or output is present because it was removed (thanks to @floriangagnard for reporting) #302
- Fixed (once and for all?) issues with hotkey and german keyboard layouts by changing the default one to Shift+Control+Q (thanks to @FatalMerlin for reporting and to @f-rakete for help in fixing) #303
- Fixed issue where InnoSetup installer parameters would not be passed on to the Satellite Service installer (thanks to @KrX3D for reporting) #306
- Fixed satellite service missing AudioManager initisation, causing AudioSensor not to work properly (thanks to @Dvvarf for reporting) #326
- Fixed HASS.Agent refusing to start after bluetooth dongle was removed with RadioCommand configured (thanks to @barrelltitor for reporting) #333
- Fixed note regarding Home Assistant long lived token generation and minor wording tweak (thanks to @SVNKoch for the PR!) #156
- Fixed the tray icon being blurry when using RDP extensively (thanks to @whc2001 for the PR!) #249
- Fixed code typo in printer sensor's code (thanks to @Selim042 for the PR!) #318
- Fixed issue where error of one internal device sensor would cause issues with configuration of others #338
- Fixed update notification being shown at startup even though general update notifications were disabled (thanks to @stavismed for reporting) #239
General changes:
- Removed dependency on LibreHardwareMonitor that uses WinRing0 (thanks to all people that reported this, especially for @DarkAutumn for all the research!) #280
- Moved project from .net6 to .net8 (thanks to @ricoroodenburg for suggestion) #284
- Updated dependencies #304
- Github Action artifact version update and build target version bump #225
2.1.1
Fixes, fixes and fixes - in case of any issues please create and issue on GitHub or ask on Discord :)
Unless a major bug happens, next release is going to be probably "2.2.0" where we tackle the security updates.
Fixes:
- MQTT autodiscovery messages were not republished after connection was lost and recovered (thanks to @whc2001 for reporting) #230
- URI attached to a notification button wouldn't open properly #229
- Satellite Service exe path is now properly enclosed in double quotes according to good security practices (thanks to @yakidd for reporting) #221
- Media playback via Music Assistant wasn't working correctly (thanks to @felipecrs and @whc2001 for reporting, providing a lot of information and testing) #220
- PowershellCommand argument handling where passing arguments containing spaces/quotes would cause the command to fail (thanks @greghesp for reporting) #204
- Restarting "Windows Management Instrumentation (WMI)" while HASS.Agent is running causes all WMI based sensors to stop functioning (thanks to @jack5mikemotown for reporting) #205
- Media player now respects the user-provided value in mute service call (thanks to @TarheelGrad1998 for reporting) #185
- Notification image not being shown when relative "/media/pics/image.png" was used instead of full URL (thanks to @iankaufmann for reporting) #186
- UI not displaying properly on high-DPI devices with scaling other than 100% (thanks to @IsaacInsoll for reporting) #187
- Some of the documentations links were pointing to non-existing pages (thanks to @SVNKoch for the PR!) #159
- Pressing ESC while having Alt+Tab pressed caused HASS.Agent windows to close (thanks to @SVNKoch for reporting and @denisabt for the PR!) #161
- Fixed SetVolumeCommand ignoring provided value and not handling float values properly (thanks to @wynandtredoux and @drueppler for reporting)
- Fixed internal AudioManager not properly clamping values if provided one was below 0 or above 100
Note
There are two additonal fixes I sneaked in between beta3 and full release - #230 and #229
2.1.1-beta3
This time it's actually last of betas for 2.1.1 :D
Fixes:
- Satellite Service exe path is now properly enclosed in double quotes according to good security practices (thanks to @yakidd for reporting) #221
- Media playback via Music Assistant wasn't working correctly (thanks to @felipecrs and @whc2001 for reporting, providing a lot of information and testing) #220
- PowershellCommand argument handling where passing arguments containing spaces/quotes would cause the command to fail (thanks @greghesp for reporting) #204
- Restarting "Windows Management Instrumentation (WMI)" while HASS.Agent is running causes all WMI based sensors to stop functioning (thanks to @jack5mikemotown for reporting) #205
Note:
Includes 2.1.1-beta1 and 2.1.1-beta2 changes of course.
2.1.1-beta2
Probably last of 2.1.1 betas :)
Fixes:
- Media player now respects the user-provided value in mute service call (thanks to @TarheelGrad1998 for reporting) #185
- Notification image not being shown when relative "/media/pics/image.png" was used instead of full URL (thanks to @iankaufmann for reporting) #186
- UI not displaying properly on high-DPI devices with scaling other than 100% (thanks to @IsaacInsoll for reporting) #187
- Some of the documentations links were pointing to non-existing pages (thanks to @SVNKoch for the PR!) #159
- Pressing ESC while having Alt+Tab pressed caused HASS.Agent windows to close (thanks to @SVNKoch for reporting and @denisabt for the PR!) #161
Note:
Includes 2.1.1-beta1 changes of course.
2.1.1-beta1
Trying to keep the promise of smaller but more frequent updates :)
First beta of 2.1.1:
Fixes:
- Fixed SetVolumeCommand ignoring provided value and not handling float values properly (thanks to @wynandtredoux and @drueppler for reporting)
- Fixed internal AudioManager not properly clamping values if provided one was below 0 or above 100
Note
The installer version will still say 2.1.0 - this will be fixed with beta2 :)
2.1.0
Disclaimer
Due to fixes made to the installer, the installation is now separated into two parts:
- client - not requiring the administrative privileges
- satellite service - requiring administrative privileges
Thing to note is that if you've installed the satellite service to a non-default path previously, the new satellite installer will not automatically detect it - please just point it again to the previously chosen path.
In case of questions or issues please feel free to join discord or create an issue on the github, and as always, please backup your config :)
Release 2.1.0
After quite a few betas we've finally reached 2.1.0 :D
Let me get to the point and list the changes and fixes (ordered more or less as they were implemented) since last full release:
Changes:
- Added "SetAudioInputCommand" (thanks to Chrisdegod for the suggestion) - #41
- Added "ScreenshotSensor", functioning as camera entity (huge thanks to @denisabt for the inital PR with implementation to the original repo)- #42
- Added option to ignore the MQTT/connection grace period when system wakes from hibernation (thanks to @larena1 for the suggestion)- #51
- Added option to use modern (white on transparent) icon for the HASS.Agent's trayicon (big thanks to @MBaliver for the suggestion and the icon) - #55
- Added note to "PowershellSensor" description as a reminder to Home Assistant's 255 character limit for the payload/state (thanks to @EpicLPer for suggestion) - #58
- Added experimental functionality to scan Home Assistant NFC tags for devices equiped with a reader #69
- Added additional check for German keyboard layouts that might interfere with default HotKey (thanks to @EpicLPer for reporting) #74
- Added "ProcessName" attribute to "ActiveWindowSensor" (thanks to @barrelltitor for suggestion) #77
- Added "Advanced Settings" for all single value sensors that allow device_class, unit_of_measurement & state_class to be overriden (thanks to @spikeygg and @acshef for suggestion) #79
- Added action support for "MultipleKeys" command (thanks to @Presswerk65 for suggestion) #98
- Separated installer process into two - client and satellite, allowing for non-privileged user installation
- All dependencies have been bumped to the newest possbile version (as of 2.1.0-beta1) - #56
- Added new command (best used as a switch) to show/hide the built in webview (thanks to @rxritalin for suggestion) - #124
- Added "Trigger" option to the Quick Actions allowing for triggering the Home Assistant automation (thanks to @SerinitySW for suggestion) - #125
- Added "Press" option to the Quick Actions allowing for Home Assistant button activation (thanks to @SerinitySW for suggestion) - #126
- Added additional notification features to match the Android feature set (ability to set tags and clear notifications) - #140 (please see pull request for examples)
Fixes:
- "SetAudioOutputCommand" and "SetApplicationVolume" commands are now properly configurable from the UI (thanks to Chrisdegod for reporting) - #39
- Updated VirtualDesktop management library to stop it crashing on some Windows 11 systems - #40
- Sensor state being evaluated constantly, ignoring the configured update interval (thanks to @shupershuff for reporting) - #45
- "PowershellCommand" arguments not being bound/parsed properly when provided with payload/action (thanks to @shupershuff for reporting) - #47
- "ActiveWindow" sensor not using proper encoding, resulting in some characters being replaced with "?" (thanks to @greghesp for reporting) - #50
- Sensor/command discovery payload messages are now sent on HASS.Agent start and configuration change instead of constantly - should reduce the load on Home Assistant (thanks to @Anto79-ops for reporting) - #5
- "MicrophoneProcessSensor" description has been changed to more accurately describe its function (thanks to @Gvolten for reporting) - #57
- All UI windows are closed when main one is (thanks to @KohGeek for reporting) #70
- MQTT Discovery message is properly cleared after device is renamed (thanks to @Mystically11 for reporting) #71
- Microphone sensor now properly clears attributes with application names #76
- "ActiveWindowSensor" now properly reports attributes #92
- Potential null reference for WMI sensors #78
- Corrected sensors' state and device classes so that they match the measurement #82
- Fixed screeenshot sensor not working correctly with systems using custom scaling (thanks to @ElDingo424 for reporting) #84
- Multiple fixes to audio sensors and management (including potential memory leak and crashes) (huge thanks for rafo, sreknob @barrelltitor for reporting and all the testing done to catch this <3) #85 & #101 & #102
- Media player not properly reporting mute status (thanks to @TarheelGrad1998 for reporting) #102
- Command's friendly name not being saved #88
- Windows Update sensors not having unique ID (thanks to @zanix for reporting) #90
- Satellite service installer not respecting user's choice of installation path (thanks to mavericknik from Discord for reporting) - #113
- New audio management not handling COM thread compartments correctly causing the sensors/commands to fail - #122
- Satellite sensors not properly saving "round", "ignore availability" and "advanced settings" (thanks to @spikeygg for reporting) - #123
- Installer not having enough time to stop the satellite service (hopefully) - #133
- Internal devices sensors causing log spam if one of the configured ones are not able to provide measurement (for example due to hardware problem) - #134
- Webview now respects taskbars being located at top and sides of the screen (thanks to @jbcodemonkey for reporting) #141
- Satellite sensors and commands now properly save friendly name - #169
What's next?
- First and foremost, next update will be a security themed one and arrive as soon as possible. There have been some issues raised in relation to libraries that HASS.Agent uses. While they are not a security vulnerability by themselves, some of them allow for exploitation. We cannot knowingly keep using them if the risk if too high.
- It's been quite long since the last full release and I'd like to streamline it more, have smaller and more frequent updates rather than huge ones like this one. Time will tell when we'll get there but I'll do my best :D.
- Community pull requests, there are a few additions and fixes that where prosed and implemented by the community, right after the security update we'll do our best to incorporate them.
- Documentation, the further we go, the more the original documentation will not match the reality, this is especially visible with notifications, a lot of features have been added and the best way to read about them are the pull requests. I'm used to that but for the average user this is less than optimal way to get information.
- The "HASS.Agent Integration", Home Assistant constantly updates, which is very good, but we need to catch up to the changes that affect us.
- and lastly, in the far future, "v3" version of HASS.Agent that we're working in the background that will be a full rewrite :)