Skip to content

v0.2.0 — LibreControl

Latest

Choose a tag to compare

@Pher217 Pher217 released this 03 Aug 21:50
· 15 commits to main since this release
5717af1

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-host is now librectl; the MCP package orc-mcp is now librecontrol-mcp; all ORC_* environment variables are now LCTL_*; the config directory moved from ~/.config/openremote-control/ to ~/.config/librecontrol/. Enrolled hosts must re-run librectl enroll — the Ed25519 connector key does not migrate.
  • The Node sidecar package and its Docker image tag are now librecontrol-messaging-gateway (was orc-messaging-gateway); rebuild with docker 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 .env writer (#120).
  • Setup wizard Telegram connection flow: POST /api/setup/telegram/token validates a pasted bot token via getMe, POST /api/setup/telegram/discover finds the operator's group via getUpdates, and the /setup page 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_IDS allowlist.
  • 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:

  1. Re-run librectl enroll — the Ed25519 connector key does not migrate from ~/.config/openremote-control/.
  2. Swap ORC_* → LCTL_* in librecontrol-stack.env.
  3. bootout / bootstrap launchd for the new com.librecontrol.* labels.
  4. 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