Releases: joshuar/go-hass-anything
Releases · joshuar/go-hass-anything
v12.1.0
v12.0.0
12.0.0 (2024-10-10)
⚠ BREAKING CHANGES
- The invocation for constructing an entity with builders has changed. Please see the example apps which have been updated to utilise the new methods for what needs to change.
Bug Fixes
- hass: 🐛 set camera topic before validating (8b37801)
Performance Improvements
- examples: ⚡ additional camera example app improvements (7119a34)
Code Refactoring
- 🏗️ better builder methods and validation of entities (1370d95)
v11.1.0
v11.0.0
11.0.0 (2024-07-24)
⚠ BREAKING CHANGES
- migrate cobra->kong and zerolog->slog
- agent: improve app preference handling
Features
- agent: improve app preference handling (0c36708)
- examples: ♻️ split example into multiple apps to make it easier to follow and copy (aede219)
- hass: ✨ add text entity type (ddeb37e)
- migrate cobra->kong and zerolog->slog (0926713)
Bug Fixes
- agent: ⚡ gracefully handle sigterm (21b9ad4)
Performance Improvements
- agent: ⚡ improve handling of different types of apps and remove need for a waitgroup (feb1991)
v10.1.0
v10.0.0
10.0.0 (2024-06-25)
⚠ BREAKING CHANGES
There are three major breaking changes of special note:
- app preferences have been rewritten and now support being configured via the agent's
configure
command. See the README for more details. - The publish methods in the MQTT package now require passing a context.
- The web request helper has switched over to using the resty package. It is now more flexible and easier to use from an app.
Features
A major feature update in this release is better support for cross-compilation. Both binary (with mage) and container builds can target different architectures. See the README for details on cross-compilation.
- container: ✨ use mage for container build and support multiarch (f10dfdd)
- mqtt: require passing context when publishing (b1305a6)
- preferences: ♻️ app preferences now use the same underlying structure as agent preferences (89694e8)
- rewrite preferences rewrite (f8f32aa)
- ui: ♻️ ui management for both agent and apps (9126f38)
- web: switch to resty for web requests (1287ecf)
Bug Fixes
v9.2.1
v9.2.0
v9.1.0
v9.0.0
9.0.0 (2024-05-04)
⚠ BREAKING CHANGES
- the app interface the agent expects has been completely overhauled. Apps now don't need to access the MQTT client to publish messages directly. They can instead specify whether they require polling on an interval or are app driven (or even run once-only) and the agent will set up the necessary functionality to provide it. Additionally, the underlying MQTT client in use has switched to a newer v5 based one that should be more performant and feature-ful for future functionality.
Features
- major internal rewrite for app interface and switch MQTT client library (7c5c888)
- Switch from bare pahoe MQTT client to autopahoe client.
- Apps now only need to specify their configuration, subscription and state messages, as well as a function to update their internal state.
- Optionally, apps can also specify a function to return an interval and jitter amount on which they should be polled for updates.
- Optionally, apps can also specify a channel of messages that should be published as they are sent on the channel, for event-driven app functionality.
- Switch entities are now supported.
- Configuring the entities of apps has been overhauled. You now configure the common entity features you need, then specify the type of entity (Sensor, Switch, Number, etc.) to configure type-specific functionality.
- The Example App has been overhauled with new examples of sensors, binary sensors, switch, number and button entities and their functionality.