Skip to content

Releases: joshuar/go-hass-agent

v10.2.1

16 Sep 03:47
4a7b3de
Compare
Choose a tag to compare

10.2.1 (2024-09-15)

Bug Fixes

  • linux: 🐛 correct power state tracking (5bb5a4d)
  • linux: 🐛 correct units of cpufreq sensors (21e7104)
  • linux: 🐛 make sure power controls pass required argument to D-Bus method call (c44cd2c)

Performance Improvements

  • agent: 🏗️ restructure preferences and hass client usage (f6b0833)
  • linux: ⚡ adapt prometheus trick for grabbing hwmon file data (7b498bc)

v10.2.0

12 Sep 06:18
06b64d6
Compare
Choose a tag to compare

10.2.0 (2024-09-12)

This release contains a number of performance and stability fixes along with two new major features:

  • You can now configure MQTT settings on the command-line 🎉 The README has been updated with details, but TL;DR, you can run:

    go-hass-agent config --mqtt-server=tcp://localhost:1883 --mqtt-user=some-user --mqtt-password=superseret
  • The container has been rebased on top of Alpine Linux. This makes it much smaller, and it can now be built for armv6 🎉 The invocation has changed slightly, so please read the documentation if you are a container user and take note of the changes before upgrading.

Thank you to all the users who have submitted feature requests and bug reports! Please keep them coming!

Features

  • hass: ✨ add validation of sensor requests (3e2c560)
  • preferences: ✨ add support for setting MQTT preferences via the command-line (b49d0db)

Bug Fixes

  • agent: 🐛 correct check on MQTT enabled for resetting agent (8d57930)
  • agent: 🐛 re-add profiling webui support (83e7c59)
  • cli: 🐛 retain --terminal cli flag for "headless" mode (e1f6f84)
  • cli: 🙈 ensure text files are included (be5c04f)
  • container: 🐛 Alpine container fixes (8317b8b)
  • dbusx: 🐛 introspect a method before calling to santize arguments (9bbf0d9)
  • device: 🐛 more robust fetching of device values (0be5b5f)
  • hass: 🐛 actually retrieve and return response errors from HA (f15d77e)
  • hass: 🐛 not all sensors with a device type have units (8d208b4)
  • hass: 🔇 normal websocket closure should not warn (gws pkg update change) (f1ce02d)
  • linux: 🐛 display at least some name if no display name was set for sensor (96bd6a2)
  • linux: 🐛 don't return nil slice, return slice with len 0 (1704d33)
  • linux: 🐛 ensure rate sensors have an initial value (of zero) for validation (a3096d0)
  • linux: 🐛 filter some uninteresting mountpoints from being disk usage sensors (6ea66d7)
  • linux: 🐛 handle missing stats (295a893)
  • linux: 🐛 only add values to context that are present/available (27d49fc)
  • linux: ⚡ don't run problems worker if ABRT problems are not available in D-Bus (fecb599)
  • linux/hwmon: 🐛 fix naming of alarm sensors (ee78240)
  • logging: ⚡ improve logging setup (a3e05bb)
  • upgrade: 🐛 don't report an error if there is no need to upgrade (ca3ba6e)
  • upgrade: 🐛 handle encountering nil when loading preferences (52c2d64)

Performance Improvements

  • agent: ⚡ handle signals with a context (a719b92)
  • agent: ⚡ improve protections against nil pointer exceptions (303dc58)
  • commands: ⚡ improve protections against nil pointer exceptions (be98b17)
  • linux: 🔥 remove unnecessary custom logger from mem worker (2588436)
  • linux: ♻️ store and fetch more values to/from context (772fd56)
  • linux: ⚡ improve disk IO sensors (6ef8dfb)
  • linux: ⚡ improve protections against nil pointer exceptions (2793806)
  • linux: ⚡ try to avoid dynamic sensor ID generation (1013711)
  • linux/hwmon: ⚡ rework hwmon sensors (0164429)
  • linux/hwmon: ⚡ simplify sensor collection (d145cab)
  • scripts: ⚡ improve protections against nil pointer exceptions (191b7c0)

v10.1.1

01 Sep 10:23
dccb4cb
Compare
Choose a tag to compare

10.1.1 (2024-09-01)

Bug Fixes

  • linux: 🐛 don't include mounts where stats cannot be retrieved for disk usage sensors (82534c8)

v10.1.0

01 Sep 00:19
7bed95f
Compare
Choose a tag to compare

10.1.0 (2024-08-27)

This release is packed with some (hopefully) performance improvements and a few new sensors. Most notably:

  • memory, cpu and disk usage sensors are now fetched directly from the kernel.
  • more disk partitions should have usage stats now, like network mounts.
  • cpu usage (%) sensors are available for each core on the system as well as the overall usage.
  • there are now sensors for total processes created and context switches.
  • there are now sensors for current running/blocked processes.
  • there is a sensor for the amount of memory detected as corrupted by the kernel. If this sensor value is greater than zero, you are probably going to have a bad time...YMMV

Enjoy!

Features

  • linux: ♻️ rework memory usage sensors (0930a5c)
  • linux: ✨ add support for alternative system partition mounts in cpu sensors (55e6c78)
  • linux: ✨ improve cpufreq and introduce per core cpu usage sensors (412fef1)
  • linux: ✨ support ability to specify alternative mount points for system mounts via environment variables (133142b)

Bug Fixes

  • linux: 🐛 ensure disk io stats are correct (80f9a80)
  • linux: 🐛 ensure stats file is closed properly (8c97527)
  • linux: 🐛 fix bootime value after recent changes (fa977eb)
  • linux: 🐛 usage count values should be ints not strings (af01217)
  • linux: 🔇 don't report problems fetching hardware sensors at default log level (d271fee)
  • linux: ♻️ rework time, io and cpu sensors (01593c7)

Performance Improvements

  • linux: ♻️ improve disk usage sensors (712309c)
  • linux: ⚡ fetch load averages internally (067e2ca)
  • linux: ⚡ increase interval between polling for CPU frequency measurements (c44eeea)
  • linux: ⚡ optimise disk io sensors (2124a77)

v10.0.1

21 Aug 09:50
a6f6f85
Compare
Choose a tag to compare

10.0.1 (2024-08-21)

Bug Fixes

  • agent,hass: 🐛 fix registration flow after hass client refactoring (5e4a9ba)
  • hass: 🐛 pass required request type to NewRequest (ec0a7e8)
  • linux: 🐛 ensure D-Bus command topic is unique (d403dbb)
  • linux: 🐛 make sure MQTT topics are unique for power and session controls (e77b927)
  • linux: 🔇 reduce log spam if a mountpoint usage cannot be retrieved (f4aea29)

Performance Improvements

  • agent,hass: ⚡ refactor sensor processing (c7c3ff3)

v10.0.0

17 Aug 23:14
1597291
Compare
Choose a tag to compare

10.0.0 (2024-08-17)

Important

Before upgrading, please ensure you read the breaking changes document as there are some changes that require manual steps to be performed for Go Hass Agent to continue working smoothly.

The Good

  • This release contains a significant number of fixes and a shout-out to everyone who reported issues!
  • There are new sensors and controls:
    • CPU frequency sensors for each CPU.
    • Status of MPRIS compatible players
    • Connected webcam viewing (with MQTT enabled)
  • Significant under the hood changes to make the code more flexible for future improvements.

The Bad

  • This is a major release and introduces some breaking changes:
    • The preferences file format and location has changed and an upgrade command has been added to help migrate the old preferences file/location.
    • The MQTT device has changed to make it more unique, but may break automations and dashboards relying on the controls/sensors it provides.

Be sure to read the breaking changes doc linked above for manual steps that are required to ensure the agent continues to run smoothly after upgrading.

The Ugly

Nothing is ugly! Everything is beautiful!

Summary Changelog

⚠ BREAKING CHANGES

  • agent: the device representing Go Hass Agent in Home Assistant has been renamed from the generic "Go Hass Agent" to the hostname of the device running Go Hass Agent.
  • prefs: The default app id has changed, which changes the path to the agent configuration. As such, the agent will need to be re-registered with Home Assistant.
  • major internal update
  • MQTT preferences have been renamed in the config file. They now sit under their own heading. Existing MQTT preferences are not migrated to the new settings.

Features

  • ✨ add an upgrade command to help with upgrading after major release (d244aa9)
  • agent: ✨ add support for number controls with custom MQTT commands (09d44c4)
  • agent: ✨ use a nicer name for the app "ID" that is exposed by Fyne to the desktop environment (87d9ae4)
  • agent: rename the MQTT device (da65683)
  • dbusx: ✨ add support for watching on arg namespace (22bc528)
  • linux: ✨ add basic webcam view/control (2c30336)
  • linux: ✨ add CPU frequency sensors (6b7b91f)
  • linux: ✨ add sensor tracking media status of any MPRIS compatibile player on the system (5915521)
  • linux: ✨ better screen/session controls (17759e2)
  • linux: ⚡ improve active/running apps sensor code (2971035)
  • linux: ⚡ increase polling (frequency) of cpu usage (%) sensor updates (8d4c9da)
  • preferences: 🔊 improve messages shown when preferences are not valid (cf4dd0a)

Bug Fixes

  • agent: 🐛 censure app id is set correctly in agent (c126d45)
  • agent: 🐛 correct mock name so go generate doesn't crash (e7ac7fb)
  • agent: 🐛 don't exit MQTT runner if MQTT commands cannot be set up (2417c4c)
  • agent: 🐛 don't run MQTT workers if there are no workers (bcc7636)
  • agent: 🐛 get HA config needs rest API URL (a549d39)
  • agent: 🐛 support passing registration parameters via command-line when running in graphical mode (4e35159)
  • agent: 🐛 sync sensor disabled state between registry and Home Assistant (cc8d89c)
  • agent: 🔊 write a log message when agent is registered (1cc6168)
  • agent: 🔇 fix logging when no MQTT commands are defined (718b0b0)
  • linux: 🐛 only provide power controls that are available on the device (540559d)
  • logging: 🐛 (again again) fix create directory for logfile (b73faff)
  • logging: 🐛 (again) create directory for log file if not exists (e60a7f0)
  • logging: 🐛 handle a non-existent directory for the log file (auto-create if necessary) (03eb8e4)
  • logging: 🔊 don't crash if we can't write to the log file (f92cf2f)
  • logging: 🔊 fix log file path and level details (1bf85ea)
  • scripts: 🐛 don't return an open channel that will never close if there are no scripts (d17d4e7)
  • ui: 🐛 re-add default server to list of servers when registering agent (c9cfd9c)

Performance Improvements

  • agent: 🔥 remove unnecessary goroutines and waitgroups (0f01468)

Code Refactoring

  • improved MQTT functionality (766fcce)
  • major internal update (61926f6)
  • prefs: change default app id (6125a45)

v9.6.0

27 Jul 03:57
0bd5ebe
Compare
Choose a tag to compare

9.6.0 (2024-07-27)

Features

  • 🔊 improve logging output (5f12810)
  • agent: 🔊 improve agent logging (a35fcb2)
  • linux: ⚡ D-Bus overhaul (2cf7dd4)

Bug Fixes

  • agent: 🐛 actually save agent preferences and show better dialogs for success/fail (dfd1c47)
  • agent: 🐛 make sure cron scheduler is stopped gracefully (d631411)
  • hass: 🔊 make request body more readable (bf1f6c4)
  • linux: 🔊 correct worker type in error message (5a62443)

Performance Improvements

  • ⚡ improve ability to stop and start sensor workers (ad045c6)

Reverts

  • go: ⏪ go back to previous go generate incantation (2495017)

v9.5.2

08 Jul 04:15
1869e19
Compare
Choose a tag to compare

9.5.2 (2024-07-07)

There were some nasty and not so nasty regressions in the earlier v9.5.x release that have bitten some people. This patch release hopefully fixes them.

Bug Fixes

  • agent: 🐛 don't hang on register command if already registered (37e29cc)
  • agent: 🐛 ensure preferences are set in context after registration is completed (96bf97f)
  • agent: 🐛 make sure agent quits if registration process is cancelled (e5acc53)
  • hass: 🐛 don't add State/Device classes or Sensor Type values to responses if they are not set (022c80f)
  • linux: 🐛 handle quoted and unquoted values in /etc/os-release correctly (bdf4fce)
  • mage: 🐛 correct invocation for ldflags for fyne-cross (4ff7801)

Performance Improvements

  • ♻️ improve Home Assistant API request handling (36aee1c)
  • ✨ preferences rewrite (c15f486)
  • hass: ♻️ rework request logic (2031c88)

v9.5.1

03 Jul 05:10
35713fd
Compare
Choose a tag to compare

9.5.1 (2024-07-02)

Bug Fixes

  • linux: 🐛 don't try to create controls if they are unavailable (f2fafbc)
  • scripts: 🐛 improve error and argument handling (a37f20c)

Performance Improvements

  • agent: 🔥 remove unneeded and complicated koanf usage (b0740e8)

v9.5.0

28 Jun 00:12
b0a7789
Compare
Choose a tag to compare

9.5.0 (2024-06-27)

This release adds support for switches as custom commands when using MQTT.

Additionally, packages are now available for both armv6 and v7 architectures, which should allow Go Hass Agent to run on older devices such as older RPi models.

Features

  • agent: ✨ support "switch" type custom MQTT commands (26f3272)
  • container: ✨ support cross-compilation for container images (37489ec)

Bug Fixes

  • hass: 🐛 ensure sensor attributes are correctly marshaled (ec6fe29)
  • pass correct arch to apt-get (e536162)