12.0.0 (2024-10-10)
- 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.
- hass: 🐛 set camera topic before validating (8b37801)
- examples: ⚡ additional camera example app improvements (7119a34)
- 🏗️ better builder methods and validation of entities (1370d95)
11.1.0 (2024-08-10)
- hass: ✨ add image and camera entities (c44d321)
- container: ➕ ensure linux-headers are installed for camera example app (7efc46e)
- mqtt: 🐛 don't assume json encoding of message (fd218cd)
11.0.0 (2024-07-24)
- migrate cobra->kong and zerolog->slog
- agent: improve app preference handling
- 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)
- agent: ⚡ gracefully handle sigterm (21b9ad4)
- agent: ⚡ improve handling of different types of apps and remove need for a waitgroup (feb1991)
10.1.0 (2024-07-06)
- container: ✨ switch to alpine base image for container (676d6ba)
- container: 🐛 container should run as (configurable) non-root user (a7ba398)
10.0.0 (2024-06-25)
- mqtt: require passing context when publishing
- rewrite preferences rewrite
- use koanf for app/agent preferences
- web: switch to resty for web requests
- web: switch to resty for web requests
- 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)
- preferences: ✨ add a Keys method to get the list of preference keys (eed4836)
- rewrite preferences rewrite (f8f32aa)
- ui: ♻️ ui management for both agent and apps (9126f38)
- use koanf for app/agent preferences (d3b412a)
- web: switch to resty for web requests (1287ecf)
- web: switch to resty for web requests (31c5326)
- container: 🐛 ensure container uses correct arch (f02e096)
- container: 🐛 use TARGETARCH during build stage (f1ce406)
- preferences: 🐛 fix loading preferences on initial run (40832a6)
- ui: 💄 increase input field character limit (c1644af)
9.2.1 (2024-06-02)
- hass: 🚸 set a default origin/device if none specified on entities (708acc2)
9.2.0 (2024-05-22)
- mqtt: ✨ publish app configs once MQTT connection is established (74f59da)
- mqtt: 🐛 re-add removed user/pass settings when connecting to MQTT (c6097cd)
- mqtt: 🦺 protect against potential nil panics (7e20c1f)
9.1.0 (2024-05-04)
- mqtt: ✨ Republish app configs after Home Assistant restarts (2bce61a)
9.0.0 (2024-05-04)
- 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.
- major internal rewrite for app interface and switch MQTT client library (7c5c888)
8.0.0 (2024-05-01)
- use generics for entities
- use generics for entities (c632384)
7.2.1 (2024-05-01)
7.2.0 (2024-04-29)
- examples: ✨ update example app to demonstrate a number entity (5f5a30b)
- hass: ✨ add support for number entities (042681d)
7.1.0 (2024-04-13)
- mqtt: ⚡ use github.com/sourcegraph/conc/pool for sending messages to MQTT (ee5da5c)
7.0.0 (2024-04-12)
- this change updates the method for publishing app states and thus existing apps will need to make adjustments. See the docs for details.
- connection resilience (0ca4ea6)
- examples: 🐛 correct client argument (e63f8d7)
6.0.0 (2024-03-11)
- Refactor to support MQTT brokers configured without persistence. The agent will now register all apps on startup and re-register if Home Assistant is restarted. The code supports similar functionality for when imported as a package.
- zero persistence MQTT support (96e5b2c)
- tools: 🐛 fix missing version number for example app import path (44b2937)
5.0.1 (2024-02-26)
- release 5.0.1 (8ab1115)
5.0.0 (2024-02-09)
- Creating an MQTT client now requires passing a context. This supports cancellation to avoid a connection problem to the broker resulting in inifinite retries.
- context aware MQTT client creation (63a125d)
- agent: 🐛 save new preferences when no existing preferences file (774e09b)
- examples: 🐛 fix api path in exampleapp (71a9e35)
- tools: 🐛 update appgenerator template for new api version (4a82d47)
4.0.0 (2024-02-06)
- config -> preferences rewrite
- examples: 🐛 fix exampleapp New func (fd8200a)
- tools: 🐛 fix import path in generator template (cab23b2)
- config -> preferences rewrite (9816c02)
3.2.0 (2024-02-01)
- config: 🔥 remove deprecated and unused viperconfig wrapper (889563e)
- config: ✨ assume a default path/file for config, provide methods for overriding (13d190c)
3.1.0 (2024-01-26)
- config: registering an app is now independent of any app config; a path to the registry can be specified for customisation (d3f16db)
3.0.1 (2024-01-26)
- cmd: 🐛 fix missing parameter to mqtt.NewMQTTClient (aa247a4)
- config: 🐛 make sure Save/Load use default preferences where appropriate (9ecc19d)
- mqtt,config: 🐛 prefs propagation fixes (8b720f0)
3.0.0 (2024-01-25)
- all: update import path for breaking change
- config: rename exported struct AppPreferences -> Preferences
- config,agent,mqtt: allow specifying a path to MQTT config file
- all: update import path for breaking change (866e894)
- config,agent,mqtt: allow specifying a path to MQTT config file (48eb067)
- config: rename exported struct AppPreferences -> Preferences (b849504)
2.0.3 (2024-01-25)
- all: 🚑 fix module path after new major version (00506af)
2.0.2 (2024-01-24)
- release 2.0.2 (6a6343a)
2.0.1 (2024-01-24)
- config: ♻️ ensure tomlconfig has own package name following conventions (8514f5f)
2.0.0 (2024-01-24)
- all: major refactor
- all: major refactor (1fa84be)
1.4.0 (2024-01-24)
1.3.0 (2024-01-09)
- config: add a new simple toml-based config package (8afda51)
- web: simplify web request handling (3f5ee46)
- container: easier inclusion of own apps into container image (4fee795)
- container: fix Dockerfile, adjust README (b7b9e51)
- container: fully qualify base image (6f79fcd)
- container: ignore failure if apps dir is not a symlink (342da68)
1.2.0 (2023-10-28)
- mqtt: use a retry-backoff for initial mqtt connection (541c64a)
- config: config start logic (ad18869)
1.1.0 (2023-10-11)
- config: embed the app version for use within the code (1f1d643)
- config: re-do config (9c43341)
- hass: add Register and UnRegister functions (126f753)
- hass: improve entity configs (7aefbee)
- init: add a prestart command for systemd service (063c585)
- appgenerator: better app detection (e6f1b3a)
- config: moq interfaces (659b7fd)
- config: registration methods do not need any inputs (fc48486)
- exampleapp: simplify Clear function (1ceebf8)
- init: don't do prestart (acdee55)
1.0.1 (2023-10-09)
- apps: move helpers to external pkg dir (0358ab0)
- agent: autogenerate list of apps (5bb2f7f)
- all: add a bunch of helpers for entities, use in Example App (8e53c5d)
- all: add a systemd service file (74d8e54)
- all: add an example app (f1a09c8)
- all: initial commit (5450059)
- web: add ability to customise request timeout (c79c61e)
- apps: actually add example app (723e826)