AIOps Bot Platform
Console

Changelog

Notable changes to the control plane, grouped by version.

All notable changes to this project are documented here.

The format follows Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Fixed

  • Raised the Next.js middleware request-body cap (proxyClientMaxBodySize) to 100MB. Agent chat-completion requests replay full session histories with base64 screenshots and exceed the 10MB default, which silently truncated bodies and surfaced as Invalid JSON body 400s on /api/projects/{id}/chat/completions.
  • vLLM router load-balancing now falls back to SGLang Prometheus names (sglang:num_running_reqs, sglang:num_queue_reqs) when the vLLM running/waiting gauges are missing, so SGLang backends are scored by real queue depth instead of always looking idle.

0.4.0 - 2026-09-10

Added

  • Daily usage log purge cron (scripts/cron/purge-old-usage.ts, 01:00): deletes token_usage_log and projects_llm_usage_log rows older than 31 days in batches. Manual trigger: GET /api/cron/purge-old-usage.
  • Copy as curl on /admin/vllm-backends: icon button builds a hello-world POST {apiBase}/chat/completions command with the live API key from the backend's env var so admins can paste it into a shell. The button spinner paints immediately while the key is fetched.
  • Red bell on Skills / Agents in the top nav when a repository you added failed its last sync or needs a new token. Same cue on project Skills and Agent packs in the sidebar when a linked repo needs attention, and on the Skills Repositories tab (banner plus the affected cards).
  • Pie chart on a selected run in /projects/{id}/traces showing where LLM and tool time went (grouped by model / tool name; nested wrappers omitted).
  • Selected-run timeline shows LLM and tool avg / p95 call durations.
  • Ready-made frontend UIs you can download from the dashboard (/api/download-frontend-boilerplate): the web chat app (github.ibm.com/copilot/local-agent-frontend) and the Electron desktop app (github.ibm.com/copilot/Bot-Platform-Desktop). Docs cover .env, which bot-agent features each UI supports, and the Launch-an-agent guide ends with connecting that runtime to a UI.
  • Common-flows guide for inviting a teammate to a project (project admin only, pick an email and role).
  • Common-flows guide for adding a project secret (project admin only).
  • Common-flows guide for installing a skill: registry or bring-your-own GitHub repo, then catalog-only / all-agents / specific-agent delivery.
  • Common-flows guide for adding a custom LLM (Bob or your endpoint; prefer a project secret — see Add a project secret).
  • Test Connection on add/edit MCP dialogs (HTTP Streamable only) lists tools from the remote server before saving.

Changed

  • Tracing and metrics on project settings, traces, and metrics pages share one enable toggle. Flipping it writes both tracingEnabled and metricsEnabled. Traces and metrics pages show that toggle only while collection is off; turn it off again from project settings.
  • Run timeline span inspector sits under Conversations (the leftover left-column space). Tool calls show parsed arguments — bash command, browser URL, cron schedule, delegate task — instead of a raw attributes JSON blob.
  • Common flows moved from the top-nav ? icon to a labeled Help Flows item in the main nav (and the mobile menu).

Fixed

  • Project pages no longer grow a blank outer scrollbar under nested lists (traces conversations/runs). Padding lives inside the content column so min-h-full cannot add empty scroll.
  • Traces uses a single page scroller like metrics and skills: conversation, run, waterfall, and span-inspector lists no longer nest their own vertical scrollbars. Selecting a run scrolls only the project main pane, so scrollIntoView cannot open a second document scrollbar.
  • ETI Vault app token 403 after ~32 days idle: periodic token renew cron plus deploy-eti/vault-rotate-app-token.sh. Deploy env-drift no longer treats colocated *.test.ts env refs or optional FRONTEND_BOILERPLATE_DIST as required.

0.3.0 - 2026-09-03

Added

  • Run waterfall on /projects/{id}/traces: selecting a run shows every LLM and tool span on one timeline (nested subagent traces included). Toggle “All Spans” for agent/subagent rows; click a bar for attributes. Drag a time window on the overview strip to zoom a long run. Corner timestamps, run start/end guides, and elapsed-time summary sit on the selected run.
  • Agent tracing & metrics: traces/spans/metrics/metrics_latest schema, a batched non-blocking trace writer, span recording in /api/runtime/chat (grouped by x-conversation-id / x-run-id / x-trace-id), POST /api/runtime/traces so bot-agent can report agent/tool/subagent run structure, and new dashboards at /projects/{id}/traces (summary, conversation picker, run timeline, span waterfall) and /projects/{id}/metrics (latest metrics + trends), all URL-deep-linkable.
  • Per-project tracing/metrics flags (project.tracing_enabled, project.metrics_enabled), default off for new and existing projects. Toggles live in project settings and on the traces/metrics pages. When off, /api/runtime/traces and the chat proxy skip the write buffer (cached via TimedCacheMap) so disabled projects create no database write load.
  • Common-flows guide for adding a stdio or HTTP MCP server to a project.

Changed

  • Bot-agent dashboard downloads now serve the latest GitHub Release from github.ibm.com/copilot/bot-agent (via GITHUB_IBM_ACCESS_TOKEN) instead of a manually managed BOT_AGENT_DIST folder, and show that version in the UI.
  • Changelog now lives at content/docs/changelog.mdx and is published under Getting Started at /docs/changelog.
  • Schema workflow docs now require npm run db:generate then npm run db:migrate; do not use drizzle-kit push.

Removed

  • Legacy observability system: chat_call_capture, daily usage rollups and their crons, consolidation/aggregation library, observability/stats dashboards, and the mirrored /api/cli usage endpoints. Token-usage logging, rate limits, and LLM failover are retained.

Fixed

  • Project list/table three-dot action menu is no longer clipped by the overflow container; the dropdown now portals above the list.
  • IaaS Vault app token 403 after ~32 days idle: periodic token renew cron plus deploy-iaas/vault-rotate-app-token.sh so deploys do not need a full Vault re-bootstrap.
  • Production builds no longer fetch Geist, JetBrains Mono, or Material Symbols from Google Fonts. Fonts are self-hosted with next/font/local so firewalled hosts can build without reaching fonts.googleapis.com.
  • IaaS production type-check no longer fails on traces Recharts labelFormatter (it now returns a string).
  • Deep-linked conversation/run filters on traces apply on first load (React Strict Mode was cancelling the deferred load).

0.2.0 - 2026-08-31

Added

  • Project MCP servers UI, shared service, and /api/cli/projects/{id}/mcp routes for managing workspace *.mcp.config.json files (not local.mcp.config.json). Docs: content/docs/mcp.mdx.

Fixed

  • Blue-green deploy no longer dies at npm install when registry.npmjs.org is firewalled. If the registry is unreachable, deploy keeps the existing node_modules instead of failing with ETARGET on versions not in the local npm cache (for example adm-zip@0.6.0).

0.1.0 - 2026-08-31

First tagged release of the bot-admin-server control plane. Version 0.1.0 matches package.json and is the starting point for GitHub Releases.

Added

  • IBM W3 ID OIDC sign-in via Better Auth, with new_user, whitelisted_user, and admin roles, pre-approved emails, and an append-only admin audit log.
  • Project dashboard: members, invitations, agents, files/workspaces, skills, secrets, vault config, custom LLM backends, API keys, and settings.
  • Shared service layer used by both the web app and the Go CLI (/api/cli/**).
  • Device OAuth (RFC 8628) for CLI login and live-DB role checks on every CLI request.
  • Runtime API for bot-agent: session exchange/refresh, LLM chat proxy (SSE), model catalog, and workspace zip delivery.
  • IBM-wide skills registry with GitHub sync, project install, and agent deployment.
  • Agents marketplace for pre-built subagent packages and project install.
  • Platform Vault plus per-project Bring-Your-Own HashiCorp Vault secrets.
  • BYO LLM API key overrides keyed by project, conversation, and model.
  • Sticky per-conversation failover onto a cheaper model after a dropped stream.
  • Observability dashboards, usage tracking, health endpoints, and Slack alerts.
  • Blue-green deploy kits for the ETI and IaaS hosts.
  • Interactive common-flows guide for launching an agent.
  • SemVer in package.json, this changelog, and npm run release to publish source archives to GitHub Releases.

Security

  • Dependabot upgrades for Next.js 16.3.1 and adm-zip 0.6.x.