v2.1.0
Added
- set per-agent avatars in ensureManagedAgentMatrixIdentity (1527350)
- set the service bot avatar during bootstrapAccounts (3f4e1ff)
- set the alert room avatar during bootstrapRoom (f894084)
- add avatar provisioning primitives (8a2c379)
- honor caller-provided slug on authenticated enrollment (2064389)
- resolve latest release tag for sovereign-node update (618ae94)
Fixed
- rotate stale bot-instance allowedUsers to current homeserver (a2b5777)
- satisfy lint in matrix refactor (0208ba8)
- rotate stale alertRoom when caller carries explicit roomId (ecbbf83)
- rotate stale alertRoom in legacy mail-sentinel builder too (859f915)
- rotate stale bot-instance alertRoom to current install (97c8df0)
- skip bundled-matrix container data from recursive chown (8c1218f)
- also synthesize instance.matrix.alertRoom in no-instance path (b648392)
- synthesize instance.config from configDefaults when no bot instance (76b43cc)
- persist partial agent matrix identity on install failure (a9d820d)
- persist agent.matrix before room-membership calls (23c886f)
- default ExecaExecRunner stdin to "ignore" + cap OpenClaw retries (8bf3801)
- add json() to mock Response for resolveLatestReleaseRef tests (f51eaef)
- preserve bundled updates during relay migration (43c6ca9)
Changed
- extract lib-runner.sh (install runner, runtime readiness, summarisers, post-install steps) (20105d1)
- extract lib-wizard.sh (resolve_action, run_install_wizard, prepare_request_file dispatch) (e675c64)
- drop unused run_runtime_readiness_step + stale doc (d36a37f)
- extract lib-request-file.sh (request JSON IO, defaults migration, secret writing, review) (5593e5c)
- extract lib-matrix-urls.sh (URL/QR/TLS helpers + onboarding guidance printer) (5724fc8)
- extract lib-bot-catalog.sh (catalog loading, bot selection prompts) (9e9f13e)
- extract lib-build.sh (build, wrappers, systemd, hygiene, request template, install-state detection) (486ae29)
- extract lib-runtime-paths.sh (service account, runtime dirs, source sync, provenance) (25e9fda)
- extract lib-runtime-deps.sh (apt/docker/node bootstrap) (0bb5680)
- extract lib-prompt.sh (choice menus, confirm, value/secret prompts) (b2c87d1)
- extract lib-ui.sh (TTY detection, progress, step rendering) (02e9557)
- extract lib-os.sh (require_root, ensure_supported_os, apt lock wrappers) (540bf4f)
- extract lib-args.sh (parse_args, normalize_service_identity) (ef5ecef)
- extract lib-log.sh (log, die, usage) (10cfdcf)
- scaffold shell-library layout + baseline snapshot (5eee9b9)
- extract relay enrollment helpers (907de37)
- extract installer relay helpers (9645f1d)
- extract installer utility helpers (a252f8c)
- extract installer helper modules (4e5e061)
- extract Matrix onboarding page renderer (f452e5e)
Docs
- replace bali-compass example with project-sentinel in README (8a2e733)
- extract logo variations into docs/img/branding/ and add logo to README (5b88b5a)
- align installer update and Matrix contracts (42471f0)
- document bundled avatar provisioning (7da6243)
- document bundled Matrix avatar assets (c614a8a)
- document bundled avatar provisioning (81e0468)
- document bundled Matrix avatar assets (f325529)
- document bundled Matrix avatar assets (27077f6)
- refresh README screenshots from sovereign-ai-node.com (e6d0626)
- document legacy Mail Sentinel matrix repairs (c921613)
- align install and CLI guidance with current behavior (1ffea9d)
- clarify update command installer source (feafeff)
- add bali compass install example (e03606a)
Internal
- v2.1.0 (7e91447)
- bundle install.sh as release asset, retire raw.githubusercontent URL (212a51e)
- relax interactive-install assertion to match default-bot selection (9731403)
- interactive installer driver accepts default bot selection (18ed309)
- empty commit to retrigger (c3f0ca7)
- re-trigger checks after PR title rename (77e4c43)
- add release workflow and CHANGELOG (6b1ebc2)
- validate PR titles as Conventional Commits (2d11ada)
Other
Full changelog: v2.0.0...v2.1.0