Repository navigation
What's new since v2.1.1
Access control
- IAM-style policies restrict API and UI access by resource kind, action, and labels.
- Existing installs get an
adminpolicy on upgrade (2.2.0-1). Users with no policies are grantedadmin. - Policy management in the console, plus websocket fixes so restricted users do not see resources they cannot access.
- Service tokens are now service accounts (upgrade
2.2.0-2). The secret is shown once at create time.
CLI (myc)
myc apply -fadd, merge, or delete resources from YAML/JSON (--dry-run,--replace).myc setfor stored properties and live field values;myc upload firmwarefor binaries.- Server connections use aliases (
myc alias set|list|remove). There is no default alias; commands take it as the first argument (myc get node home). login/logoutare removed.myc --versionprints client version.myc server info <alias>replacesmyc version.myc get settings/myc set settingsfor system settings.- Manage users, policies, and service accounts (
apply,get,delete,enable/disable user).
See docs/cli.md.
Web console
- Console source lives in this repository (
web-console/). Release builds pack the UI into the server binary (-tags=embedui) and extract it to disk on first start whenweb.web_directoryis empty. - Packages and the server image no longer ship a sidecar
web_console//uitree. If you still setweb_directorytoweb_consoleor/ui, keep that directory or clear the field. - Build moved to Vite 6 and Yarn 4. Monaco loads locally (no CDN).
- Topology: gateway/node filters, parent/child links (including
parent_id0), click-to-sidebar with live values, send, and field graphs. - Locales completed for existing languages; added Italian, Hindi, Kannada, Malayalam, and Telugu. Transifex is removed, edit
web-console/public/locales/<lang>.yaml.
See docs/locales.md.
Gateways and OTA
- MySensors: generic FOTA via a data-repository JavaScript (
fota_script/onConfig, optionalonBlock). Sample STM32 A/B flow in docs/ota_stm32_ab.md. - Completed OTA duration is recorded on the node.
- MQTT: topics that start with
/are no longer doubled.
HTTPS
- Persist the auto-generated TLS certificate and renew it before it expires.
- Certificate validity is printed at server startup.
Other
- In-memory store: time-field filter/sort (
gt/gte/lt/lte) and case-insensitiveasc/desc. - Console security pins: lodash / lodash-es 4.18.1, path-to-regexp 1.9.0, @babel/runtime 7.29.7.
- Alpine and Go image versions updated; Go binaries built with
-s -w,-trimpath,CGO_ENABLED=0.
Upgrade notes
- Back up before you start.
- Server upgrades
2.2.0-1(policies) and2.2.0-2(service accounts) run on first start. - Update CLI scripts: set an alias and pass it as the first argument.
- Review
web.web_directoryif you previously used the sidecar UI path. - After this release, untagged
mainbuilds report2.3.0-devel.