espOS 0.6.0
First tagged release. espOS has been in use and building firmware for a while — this puts a version number on it so devices in the field can say which one they run.
What espOS is
A device runtime for SignalK-connected ESP32 hardware, native to ESP-IDF 6. The plumbing every SignalK ESP32 device needs and nobody wants to rewrite: WiFi and a provisioning portal, persistent config with a generated web UI, SignalK discovery, token acquisition, deltas in and out, logs, core dump and signed OTA with rollback.
It is deliberately not a sensor framework. Application code sits on top and calls a small API.
One codebase across ESP32, S3, C3, C6 and P4.
Components
espos_config, espos_httpd, espos_wifi, espos_sk, espos_log, espos_ota, espos_health, espos_n2k, espos_audio, espos_voice, espos_ble.
Ten host-test suites run on the linux target; the multi-target build is CI-gated.
Consuming it
espOS is source, consumed as a git submodule — there is no binary artifact here, and the tag is the deliverable:
git submodule add https://github.com/dirkwa/espOS.git espos
git -C espos checkout v0.6.0Then call espos_project_prologue() from your CMakeLists.txt. See docs/ for the per-component contracts, and docs/releasing.md for how versions work.
Why the tag matters
PROJECT_VER comes from git describe, so a build on this tag reports 0.6.0 and one three commits later reports 0.6.0-3-gabc1234. Before any tag existed every build reported the same number and two devices flashed weeks apart were indistinguishable in /api/v1/system/info, in the OTA status and in the log banner.
Licence
Source-available, no redistribution — see LICENSE.md. Use and modification are free; redistribution is not.