Releases: labodj/lsh-core
Releases · labodj/lsh-core
lsh-core v3.2.0
- Added reciprocal interlock groups for static TOML configs.
- Added stricter static config validation for interlocks, duplicate device selectors, MQTT-safe device names, and bridge topic sizing.
- Hardened serial MsgPack framing by ignoring noise before the opening delimiter.
- Moved serial transport bytes to generated protocol constants.
- Fixed timer threshold checks to fire exactly at configured limits.
- Fixed indicator cached state synchronization.
Full Changelog: v3.1.0...v3.2.0
lsh-core v3.1.0
- Added stack export support from lsh_devices.toml for bridge, coordinator and Node-RED consumers.
- Added human-readable stack reports for bring-up and CI diagnostics.
- Added separate network-click ACK and confirm retry timeout settings.
- Improved network-click confirm handling after bridge ACKs.
- Updated generated protocol artifacts and shared quality gates.
Full Changelog: v3.0.11...v3.1.0
lsh-core v3.0.11
- updated docs
- bump version
Full Changelog: v3.0.10...v3.0.11
lsh-core v3.0.10
- Updated the vendored
lsh-protocolsubtree to v1.2.1. - Regenerated protocol constants with spec revision
2026050101. - Kept package metadata and examples aligned with the new patch release.
Full Changelog: v3.0.9...v3.0.10
lsh-core v3.0.9
- Update vendored protocol constants.
- Update library metadata and documentation dependency examples to 3.0.9.
Full Changelog: v3.0.8...v3.0.9
lsh-core v3.0.8
Added
- Added PlatformIO package smoke validation for Markdown links inside the packed registry artifact.
- The top-level Registry README must not use relative file links.
- Packaged docs may use relative links only when the target is included in the tarball.
- Added package-content checks for the public examples referenced by the docs:
examples/multi-device-project/platformio.iniexamples/all-options-toml/lsh_devices.toml- Included the
all-options-tomlandmulti-device-projectpublic examples in the PlatformIO package export.
Changed
- Bumped
library.jsonversion to3.0.8. - Updated public install snippets to use
labodj/lsh-core @ ^3.0.8. - Clarified that the public install path is the PlatformIO Registry package; the local
symlink://../..dependency is documented only for bundled maintainer examples. - Updated GitHub Release automation to
softprops/action-gh-release@v3, which runs on Node 24.
Removed
- Removed the workflow-level
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24override. - Removed the GitHub tag dependency example from the public Getting Started path to avoid bypassing the PlatformIO Registry.
Full Changelog: v3.0.7...v3.0.8
lsh-core v3.0.7
Fixed
- Fixed broken README badges on the PlatformIO Registry page.
- Replaced the unreliable GitHub Actions badge with a verified CI status badge.
- Fixed the release badge so it resolves to the latest GitHub Release.
- Added PlatformIO Registry and license badges.
- Fixed README links that PlatformIO rendered incorrectly by converting repo-relative documentation/example links to absolute GitHub URLs.
Changed
- Bumped package version from
3.0.6to3.0.7. - Updated install snippets in
README.mdanddocs/static-toml-config.mdto use3.0.7.
CI
- Updated GitHub Actions cache steps from
actions/cache@v4toactions/cache@v5for the Node 24 runtime transition.
Notes
- No firmware/runtime behavior changes.
- No public API changes.
Full Changelog: v3.0.6...v3.0.7
lsh-core v3.0.6
Changed
- Added CI automation to publish release packages to the PlatformIO Registry.
- Bumped package metadata and installation examples to 3.0.6.
- No runtime behavior changes beyond release/package publication plumbing.
Full Changelog: v3.0.5...v3.0.6
lsh-core v3.0.5
Static TOML configuration
- Expanded the static TOML workflow with the new schema v2 public configuration dialect.
- Added presets for generic Arduino and Controllino profiles.
- Added automatic stable ID lockfiles for generated actuator/button IDs.
- Added project-specific JSON Schema generation for editor autocomplete.
- Added guided config scaffolding, config formatting, doctor checks, and migration tooling.
- Added support for richer generated actions, including action steps, groups/scenes, pulse actuators, and actuator interlocks.
Runtime and generated firmware
- Reworked button debounce/click handling to use packed flags and separate press/debounce timing.
- Fixed long/super-long click behavior so held buttons do not retrigger or undo previous actions incorrectly.
- Added generated pulse actuator support with compact countdown storage and a cheap loop-side active counter.
- Added compile-time packed actuator state updates for generated profiles.
- Improved generated static paths for actuator commands, packed state updates, click actions, network fallbacks, and indicator refresh.
- Cleared AVR pull-up state during fast clickable initialization to avoid inherited PORT latch state.
Tooling, examples, and documentation
- Added the official TOML cookbook.
- Added a public AVR board matrix example for non-Controllino Arduino AVR targets.
- Updated the multi-device example and all-options TOML catalog to the new schema.
- Added generated lockfiles to examples.
- Expanded README and static TOML documentation for Registry installs, presets, autocomplete, validation, and public configuration flow.
PlatformIO and CI
- Prepared
library.jsonfor PlatformIO Registry packaging with an explicit package include list. - Added CI coverage for schema drift, doctor checks, stale generated headers, public examples, AVR board matrix builds, and PlatformIO package smoke tests.
- Added a registry-style smoke test that packs the library and builds a temporary consumer from the packaged archive.
- Updated
.gitignorefor package tarballs, generated AVR matrix headers, and committed local TOML schema files.
Fixes
- Fixed clang-format stability for generated cookbook headers.
- Fixed committed TOML schema drift by aligning
docs/lsh_devices.schema.jsonwith generator output.
Full Changelog: v3.0.2...v3.0.5
lsh-core v3.0.2
- Refined the static TOML configuration pipeline with generated constexpr device metadata and router headers.
- Further specialized AVR hot paths for clickable scans, actuator dispatch, auto-off timers, network-click timers, and static payload writes.
- Reduced release-build SRAM usage by stripping static registration indexes from runtime objects where possible.
- Split and hardened the Python static-config generator for better maintainability and validation coverage.
- Improved public documentation for TOML-based device configuration and generated-code behavior.
- Fixed static-analysis and aggressive-warning issues reported by PlatformIO/clang-tidy.
Full Changelog: v3.0.1...v3.0.2