Repository navigation
The rename release. OpenRemote Control becomes LibreControl, and the first-run
setup wizard gains a guided Telegram connection flow. Upgrading is a breaking
change for enrolled hosts — see the migration note below.
Changed
- Project renamed: OpenRemote Control → LibreControl. The CLI
orc-hostis nowlibrectl; the MCP packageorc-mcpis nowlibrecontrol-mcp; allORC_*environment variables are nowLCTL_*; the config directory moved from~/.config/openremote-control/to~/.config/librecontrol/. Enrolled hosts must re-runlibrectl enroll— the Ed25519 connector key does not migrate. - The Node sidecar package and its Docker image tag are now
librecontrol-messaging-gateway(wasorc-messaging-gateway); rebuild withdocker compose -f deploy/app/docker-compose.yml build.
Added
- First-run setup wizard backend (
backend/apps/setup): one-time token gate, singleton stage machine, and an allowlisted atomic.envwriter (#120). - Setup wizard Telegram connection flow:
POST /api/setup/telegram/tokenvalidates a pasted bot token via getMe,POST /api/setup/telegram/discoverfinds the operator's group via getUpdates, and the/setuppage now guides both steps instead of only reporting state.
Security
- Setup group discovery requires a wizard-issued challenge code in the group message. Telegram bot usernames are public and anyone can add a bot to their own group, so accepting any group message would let an attacker who messages the bot during the setup window land their own user id in the default-deny
TELEGRAM_ALLOWED_CHAT_IDSallowlist. - Bot tokens are never echoed in responses, logs, or chained exception tracebacks.
Upgrading from v0.1.0 — this release renames the project, so enrolled hosts need action:
- Re-run
librectl enroll— the Ed25519 connector key does not migrate from~/.config/openremote-control/. - Swap
ORC_*→LCTL_*inlibrecontrol-stack.env. bootout/bootstraplaunchd for the newcom.librecontrol.*labels.- Rebuild the sidecar image — it is now tagged
librecontrol-messaging-gateway:docker compose -f deploy/app/docker-compose.yml build.
Full changelog: v0.1.0...v0.2.0