Skip to content

Latest commit

 

History

History
408 lines (204 loc) · 20.2 KB

CHANGELOG.md

File metadata and controls

408 lines (204 loc) · 20.2 KB

Changelog

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)

11.1.0 (2024-08-10)

Features

  • hass: ✨ add image and camera entities (c44d321)

Bug Fixes

  • 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)

⚠ 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)

10.1.0 (2024-07-06)

Features

  • container: ✨ switch to alpine base image for container (676d6ba)

Bug Fixes

  • container: 🐛 container should run as (configurable) non-root user (a7ba398)

10.0.0 (2024-06-25)

⚠ BREAKING CHANGES

  • 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

Features

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • hass: 🚸 set a default origin/device if none specified on entities (708acc2)

9.2.0 (2024-05-22)

Features

  • mqtt: ✨ publish app configs once MQTT connection is established (74f59da)

Bug Fixes

  • 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)

Features

  • mqtt: ✨ Republish app configs after Home Assistant restarts (2bce61a)

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)

8.0.0 (2024-05-01)

⚠ BREAKING CHANGES

  • use generics for entities

Features

  • use generics for entities (c632384)

7.2.1 (2024-05-01)

Miscellaneous Chores

7.2.0 (2024-04-29)

Features

  • examples: ✨ update example app to demonstrate a number entity (5f5a30b)
  • hass: ✨ add support for number entities (042681d)

7.1.0 (2024-04-13)

Features

  • mqtt: ⚡ use github.com/sourcegraph/conc/pool for sending messages to MQTT (ee5da5c)

7.0.0 (2024-04-12)

⚠ BREAKING CHANGES

  • this change updates the method for publishing app states and thus existing apps will need to make adjustments. See the docs for details.

Features

Bug Fixes

  • examples: 🐛 correct client argument (e63f8d7)

6.0.0 (2024-03-11)

⚠ BREAKING CHANGES

  • 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.

Features

  • zero persistence MQTT support (96e5b2c)

Bug Fixes

  • tools: 🐛 fix missing version number for example app import path (44b2937)

5.0.1 (2024-02-26)

Miscellaneous Chores

5.0.0 (2024-02-09)

⚠ BREAKING CHANGES

  • Creating an MQTT client now requires passing a context. This supports cancellation to avoid a connection problem to the broker resulting in inifinite retries.

Features

  • context aware MQTT client creation (63a125d)

Bug Fixes

  • 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)

⚠ BREAKING CHANGES

  • config -> preferences rewrite

Bug Fixes

  • examples: 🐛 fix exampleapp New func (fd8200a)
  • tools: 🐛 fix import path in generator template (cab23b2)

Code Refactoring

  • config -> preferences rewrite (9816c02)

3.2.0 (2024-02-01)

Features

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

⚠ BREAKING CHANGES

  • all: update import path for breaking change
  • config: rename exported struct AppPreferences -> Preferences
  • config,agent,mqtt: allow specifying a path to MQTT config file

Features

  • all: update import path for breaking change (866e894)
  • config,agent,mqtt: allow specifying a path to MQTT config file (48eb067)

Code Refactoring

  • config: rename exported struct AppPreferences -> Preferences (b849504)

2.0.3 (2024-01-25)

Bug Fixes

  • all: 🚑 fix module path after new major version (00506af)

2.0.2 (2024-01-24)

Miscellaneous Chores

2.0.1 (2024-01-24)

Bug Fixes

  • config: ♻️ ensure tomlconfig has own package name following conventions (8514f5f)

2.0.0 (2024-01-24)

⚠ BREAKING CHANGES

  • all: major refactor

Features

1.4.0 (2024-01-24)

Features

  • tools: ✨ appgenerator path adjustment (7387f7b)
  • web: ✨ add retries to web requests (1f29917)

1.3.0 (2024-01-09)

Features

  • config: add a new simple toml-based config package (8afda51)
  • web: simplify web request handling (3f5ee46)

Bug Fixes

  • 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)

Features

  • mqtt: use a retry-backoff for initial mqtt connection (541c64a)

Bug Fixes

  • config: config start logic (ad18869)

1.1.0 (2023-10-11)

Features

  • 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)

Bug Fixes

  • appgenerator: better app detection (e6f1b3a)
  • config: moq interfaces (659b7fd)
  • config: registration methods do not need any inputs (fc48486)
  • exampleapp: simplify Clear function (1ceebf8)

Reverts

  • init: don't do prestart (acdee55)

1.0.1 (2023-10-09)

Bug Fixes

  • apps: move helpers to external pkg dir (0358ab0)

1.0.0 (2023-10-04)

Features

  • 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)

Bug Fixes

  • apps: actually add example app (723e826)