Changes in this release are compared to tag `2.0.0`. - Device profile support for Raspberry Pi targets via `deploy/devices.yaml` and `deploy/DEVICE_PROFILES.md`. - `bob` script toolchain for build/copy/init/run/device/ssh-config workflows. - `bob publish` release workflow for annotated tags, changelog-based notes, and optional GitLab releases via `glab`. - Root `Makefile` with developer targets for format, lint, test, coverage, and builds. - MQTT package-level test scaffold with Ginkgo v2 / Gomega (`pkg/mqtt/*_test.go`, `pkg/mqtt/mqtt_suite_test.go`). - Home Assistant-specific sensor representation and republish support (`pkg/sensors/homeassistant.go`). - Git metadata helper in config package (`pkg/config/git.go`). - Markdown lint configuration and improved release-note discipline in the repository. - Refactored job orchestration to centralize scheduling and publishing responsibilities in `JobManager`/`JobService`. - Improved Home Assistant lifecycle handling with explicit online/offline callbacks and pause/resume behavior for HA-bound publishing. - Strengthened MQTT behavior with reconnect retry handling and discovery re-subscription flow. - Expanded sensor update model to support interval-based reads and smoother update-rate publishing across sensor implementations. - Improved SI1145 detection by checking additional I2C addresses. - Updated sample configuration and runtime config validation paths. - Updated build/deploy pipeline scripts, including profile-driven SSH handling and stronger `yq` usage. - Updated Raspberry Pi profile defaults (including `pi-zero-03`) and deployment path handling. - Fixed SI1145 overflow handling. - Fixed shell quoting issues in `yq`-based profile evaluation. - Improved robustness of `bob init` with better device detection and `--force` support. - Improved deployment script behavior for binary copy paths and generated SSH config handling. - Updated project baseline to Go 1.21. - Updated project module and vendored dependency set (including reflection and MQTT-related stack updates). - Added release workflow support via `glab` integration in the publish command path. - Runtime now parses semantic versions and validates config version by range. - Supported config version range is `>= 2.0.0` and `< 4.0.0`. - Existing `.lateralus.yaml` files using `version: "2.0.0"` continue to work without changes.
Changes in this release are compared to tag 2.0.0.
Added
- Device profile support for Raspberry Pi targets via
deploy/devices.yamlanddeploy/DEVICE_PROFILES.md. -
bobscript toolchain for build/copy/init/run/device/ssh-config workflows. -
bob publishrelease workflow for annotated tags, changelog-based notes, and optional GitLab releases viaglab. - Root
Makefilewith developer targets for format, lint, test, coverage, and builds. - MQTT package-level test scaffold with Ginkgo v2 / Gomega (
pkg/mqtt/*_test.go,pkg/mqtt/mqtt_suite_test.go). - Home Assistant-specific sensor representation and republish support (
pkg/sensors/homeassistant.go). - Git metadata helper in config package (
pkg/config/git.go). - Markdown lint configuration and improved release-note discipline in the repository.
Changed
- Refactored job orchestration to centralize scheduling and publishing responsibilities in
JobManager/JobService. - Improved Home Assistant lifecycle handling with explicit online/offline callbacks and pause/resume behavior for HA-bound publishing.
- Strengthened MQTT behavior with reconnect retry handling and discovery re-subscription flow.
- Expanded sensor update model to support interval-based reads and smoother update-rate publishing across sensor implementations.
- Improved SI1145 detection by checking additional I2C addresses.
- Updated sample configuration and runtime config validation paths.
- Updated build/deploy pipeline scripts, including profile-driven SSH handling and stronger
yqusage. - Updated Raspberry Pi profile defaults (including
pi-zero-03) and deployment path handling.
Fixed
- Fixed SI1145 overflow handling.
- Fixed shell quoting issues in
yq-based profile evaluation. - Improved robustness of
bob initwith better device detection and--forcesupport. - Improved deployment script behavior for binary copy paths and generated SSH config handling.
Dependencies
- Updated project baseline to Go 1.21.
- Updated project module and vendored dependency set (including reflection and MQTT-related stack updates).
- Added release workflow support via
glabintegration in the publish command path.
Compatibility
- Runtime now parses semantic versions and validates config version by range.
- Supported config version range is
>= 2.0.0and< 4.0.0. - Existing
.lateralus.yamlfiles usingversion: "2.0.0"continue to work without changes.