ScuttleBot
docs: add CHANGELOG.md for v1.2.0 release
Commit
30d7e4ff6fbda45ef42441e280409f4c8e5f3bac9f6bb5ea7117b61e85a5cdf6
Parent
cefe27dfff59253…
1 file changed
+37
+37
| --- a/CHANGELOG.md | ||
| +++ b/CHANGELOG.md | ||
| @@ -0,0 +1,37 @@ | ||
| 1 | +# Changelog | |
| 2 | + | |
| 3 | +## v1.2.0 | |
| 4 | + | |
| 5 | +### Features | |
| 6 | + | |
| 7 | +- **Group addressing** — `@all`, `@worker`/`@observer`/`@operator` (by role), and `@prefix-*` (e.g. `@claude-*`, `@claude-kohakku-*`) group mentions in IRC channels. All matching agents receive the message as an interrupt. | |
| 8 | +- **Agent presence tracking** — `online`, `last_seen` fields on agents. Green/yellow/gray status dots in the UI. Configurable online timeout (Settings > Agent Policy). | |
| 9 | +- **Stale agent cleanup** — configurable `reap_after_days` in agent policy. Agents not seen in N days are automatically removed. Runs hourly. | |
| 10 | +- **Persist `last_seen` across restarts** — `last_seen` stored in SQLite, survives server restarts. Persisted at most once per minute to avoid disk thrashing. | |
| 11 | +- **Relay reconnection** — `relay-watchdog` sidecar monitors the server and sends SIGUSR1 to relays when the server restarts or the API is unreachable for 60s. All three relays (claude, codex, gemini) handle SIGUSR1 by tearing down IRC and reconnecting with fresh SASL credentials. | |
| 12 | +- **Per-repo channel config** — `.scuttlebot.yaml` in a project root auto-joins the project channel. Gitignored, relay reads it at startup. | |
| 13 | +- **TLS dual-listener** — Ergo config supports `tls_domain` + `tls_addr` for a public TLS IRC listener alongside the plaintext loopback for internal bots. | |
| 14 | +- **PATCH /v1/settings/policies** — partial policy updates without wiping other sections. | |
| 15 | +- **Configurable online timeout** — Settings > Agent Policy > online timeout (seconds). | |
| 16 | +- **LLM backend rename** — edit a backend's name in the AI tab (delete + create under the hood). | |
| 17 | +- **OpenClaw integration skill** — native IRC connection guide for OpenClaw agents. | |
| 18 | +- **Project setup skill** — standardized onboarding for new projects to the coordination backplane. | |
| 19 | +- **`relay-start.sh`** — wrapper script that starts watchdog + relay together. | |
| 20 | + | |
| 21 | +### UI | |
| 22 | + | |
| 23 | +- **Mobile responsive** — full `@media (max-width: 600px)` breakpoint. Scrollable nav, stacked grids, overlay chat panels, compact header. | |
| 24 | +- **Agent presence indicators** — green (online), yellow (idle), gray (offline), red (revoked) dots. Sorted online-first, with relative `last_seen` times. | |
| 25 | +- **Pagination + filtering** on agents tab — status filter (all/online/offline/revoked), text search, 25 per page. | |
| 26 | +- **Channel search** on channels tab. | |
| 27 | +- **Chat layout toggle** — inline (compact) vs columnar (traditional IRC) layout, persisted in localStorage. | |
| 28 | +- **Tighter chat spacing** — reduced padding, gaps, and line height globally. | |
| 29 | + | |
| 30 | +### Fixes | |
| 31 | + | |
| 32 | +- **Bridge channels** — normalize channel names with `#` prefix so the bridge actually joins configured channels. | |
| 33 | +- **Bot `splitHostPort`** — fix `fmt.Sscanf` parser in 5 bot packages; use `net.SplitHostPort` from stdlib. | |
| 34 | +- **Topology nil panic** — guard all topology API handlers against nil topology manager. | |
| 35 | +- **API fetch caching** — `cache: 'no-store'` on all UI API calls to prevent stale 301 redirect caching. | |
| 36 | +- **Aggressive IRC keepalive** — `PingDelay=30s`, `PingTimeout=30s` on all girc clients (relay + 11 bots). | |
| 37 | +- **SASL credential refresh** — relay clears stale credentials and re-registers on reconnect. |
| --- a/CHANGELOG.md | |
| +++ b/CHANGELOG.md | |
| @@ -0,0 +1,37 @@ | |
| --- a/CHANGELOG.md | |
| +++ b/CHANGELOG.md | |
| @@ -0,0 +1,37 @@ | |
| 1 | # Changelog |
| 2 | |
| 3 | ## v1.2.0 |
| 4 | |
| 5 | ### Features |
| 6 | |
| 7 | - **Group addressing** — `@all`, `@worker`/`@observer`/`@operator` (by role), and `@prefix-*` (e.g. `@claude-*`, `@claude-kohakku-*`) group mentions in IRC channels. All matching agents receive the message as an interrupt. |
| 8 | - **Agent presence tracking** — `online`, `last_seen` fields on agents. Green/yellow/gray status dots in the UI. Configurable online timeout (Settings > Agent Policy). |
| 9 | - **Stale agent cleanup** — configurable `reap_after_days` in agent policy. Agents not seen in N days are automatically removed. Runs hourly. |
| 10 | - **Persist `last_seen` across restarts** — `last_seen` stored in SQLite, survives server restarts. Persisted at most once per minute to avoid disk thrashing. |
| 11 | - **Relay reconnection** — `relay-watchdog` sidecar monitors the server and sends SIGUSR1 to relays when the server restarts or the API is unreachable for 60s. All three relays (claude, codex, gemini) handle SIGUSR1 by tearing down IRC and reconnecting with fresh SASL credentials. |
| 12 | - **Per-repo channel config** — `.scuttlebot.yaml` in a project root auto-joins the project channel. Gitignored, relay reads it at startup. |
| 13 | - **TLS dual-listener** — Ergo config supports `tls_domain` + `tls_addr` for a public TLS IRC listener alongside the plaintext loopback for internal bots. |
| 14 | - **PATCH /v1/settings/policies** — partial policy updates without wiping other sections. |
| 15 | - **Configurable online timeout** — Settings > Agent Policy > online timeout (seconds). |
| 16 | - **LLM backend rename** — edit a backend's name in the AI tab (delete + create under the hood). |
| 17 | - **OpenClaw integration skill** — native IRC connection guide for OpenClaw agents. |
| 18 | - **Project setup skill** — standardized onboarding for new projects to the coordination backplane. |
| 19 | - **`relay-start.sh`** — wrapper script that starts watchdog + relay together. |
| 20 | |
| 21 | ### UI |
| 22 | |
| 23 | - **Mobile responsive** — full `@media (max-width: 600px)` breakpoint. Scrollable nav, stacked grids, overlay chat panels, compact header. |
| 24 | - **Agent presence indicators** — green (online), yellow (idle), gray (offline), red (revoked) dots. Sorted online-first, with relative `last_seen` times. |
| 25 | - **Pagination + filtering** on agents tab — status filter (all/online/offline/revoked), text search, 25 per page. |
| 26 | - **Channel search** on channels tab. |
| 27 | - **Chat layout toggle** — inline (compact) vs columnar (traditional IRC) layout, persisted in localStorage. |
| 28 | - **Tighter chat spacing** — reduced padding, gaps, and line height globally. |
| 29 | |
| 30 | ### Fixes |
| 31 | |
| 32 | - **Bridge channels** — normalize channel names with `#` prefix so the bridge actually joins configured channels. |
| 33 | - **Bot `splitHostPort`** — fix `fmt.Sscanf` parser in 5 bot packages; use `net.SplitHostPort` from stdlib. |
| 34 | - **Topology nil panic** — guard all topology API handlers against nil topology manager. |
| 35 | - **API fetch caching** — `cache: 'no-store'` on all UI API calls to prevent stale 301 redirect caching. |
| 36 | - **Aggressive IRC keepalive** — `PingDelay=30s`, `PingTimeout=30s` on all girc clients (relay + 11 bots). |
| 37 | - **SASL credential refresh** — relay clears stale credentials and re-registers on reconnect. |