Skip to content

Releases: labodj/lsh-core

lsh-core v3.2.0

12 May 14:11

Choose a tag to compare

  • 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

07 May 20:25

Choose a tag to compare

  • 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

03 May 20:01

Choose a tag to compare

  • updated docs
  • bump version

Full Changelog: v3.0.10...v3.0.11

lsh-core v3.0.10

01 May 11:47

Choose a tag to compare

  • Updated the vendored lsh-protocol subtree 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

30 Apr 13:30

Choose a tag to compare

  • 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

28 Apr 10:40

Choose a tag to compare

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.ini
  • examples/all-options-toml/lsh_devices.toml
  • Included the all-options-toml and multi-device-project public examples in the PlatformIO package export.

Changed

  • Bumped library.json version to 3.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_NODE24 override.
  • 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

27 Apr 19:39

Choose a tag to compare

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.6 to 3.0.7.
  • Updated install snippets in README.md and docs/static-toml-config.md to use 3.0.7.

CI

  • Updated GitHub Actions cache steps from actions/cache@v4 to actions/cache@v5 for 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

27 Apr 19:03

Choose a tag to compare

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

27 Apr 18:47

Choose a tag to compare

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.json for 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 .gitignore for 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.json with generator output.

Full Changelog: v3.0.2...v3.0.5

lsh-core v3.0.2

25 Apr 20:05

Choose a tag to compare

  • 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