Changeset 0.28.6 (#192)
This commit is contained in:
78
CHANGELOG.md
78
CHANGELOG.md
@@ -1,5 +1,83 @@
|
||||
# Changelog
|
||||
|
||||
## [0.28.6] — 2026-03-15
|
||||
|
||||
### Summary
|
||||
|
||||
Infrastructure release. Virtual scroll for long conversations, Helm chart
|
||||
for Kubernetes deployment, system task type (Go function registry replacing
|
||||
ad-hoc goroutines), admin broadcast notifications, server-side SSH key
|
||||
generation for git credentials, task webhook trigger UI, and model
|
||||
preference dedup fix.
|
||||
|
||||
KB auto-inject pipe filter deferred to v0.29.0 — will be built as the
|
||||
reference Go implementation of the server-side filter model alongside
|
||||
Starlark, ensuring the architecture is right and performant before
|
||||
user code runs in it.
|
||||
|
||||
### New
|
||||
|
||||
- **Virtual scroll** — viewport-windowed message rendering for long
|
||||
conversations (100+ messages). IntersectionObserver-based sentinel
|
||||
triggers prepend chunks of 40 as user scrolls up. DOM capped at ~80
|
||||
nodes regardless of conversation length. Streaming messages always
|
||||
rendered. Transparent fallback for short conversations.
|
||||
- **Helm chart** — `chart/` directory with full Kubernetes deployment.
|
||||
`helm install switchboard ./chart` replaces raw manifests. Configures
|
||||
backend + frontend deployments, services, ingress (Traefik), PVC,
|
||||
ConfigMap, Secret. All `config.go` env vars exposed as values.
|
||||
- **System task type** — `task_type: "system"` with Go function registry.
|
||||
Built-in functions: `session_cleanup`, `staleness_check`,
|
||||
`retention_sweep`, `health_prune`. Admin creates task, picks function
|
||||
from dropdown, sets cron schedule. Executor calls registered Go function
|
||||
instead of LLM. Replaces ad-hoc goroutine background jobs with visible,
|
||||
configurable, auditable tasks. Permanent track — not replaced by Starlark.
|
||||
`GET /admin/system-functions` returns available functions.
|
||||
- **Admin broadcast** — `POST /admin/notifications/broadcast` sends
|
||||
`system.announcement` notification to all active users via `NotifyMany`.
|
||||
Emits `system.broadcast` WebSocket event. Admin UI compose form with
|
||||
title, message, level selector (info/warning/critical).
|
||||
- **Git credential key generation** — `POST /git-credentials/generate`
|
||||
creates ED25519 SSH keypair server-side. Private key vault-encrypted,
|
||||
never exposed. Public key + SHA256 fingerprint returned for user to add
|
||||
to git host. Optional `persona_id` for per-persona commit attribution.
|
||||
`GET /git-credentials/:id/public-key` for clipboard copy. Settings UI
|
||||
section with generate, list, copy, delete.
|
||||
- **Task webhook trigger UI** — schedule selector gains "Webhook trigger"
|
||||
option. Trigger URL displayed with copy button after creation. Link
|
||||
button on webhook tasks in list view. `webhook_secret` field for HMAC
|
||||
signing. Task-to-task chaining documented (Task A webhook_url → Task B
|
||||
trigger URL).
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Model preferences NULL-in-UNIQUE** — `provider_config_id` column on
|
||||
`user_model_settings` changed to `NOT NULL`. The `UNIQUE(user_id,
|
||||
model_id, provider_config_id)` constraint silently allowed duplicates
|
||||
when the column was NULL. Handler already enforced `binding:"required"`
|
||||
— schema now matches.
|
||||
- **ICD runner shape** — `S.modelPreference` gains `provider_config_id`
|
||||
field (smoke tier shape assertion).
|
||||
|
||||
### Changed
|
||||
|
||||
- `ListActiveUserIDs` added to `UserStore` interface (PG + SQLite).
|
||||
- `NotifTypeAnnouncement` constant added to notification types.
|
||||
- Task model gains `system_function` field. Task stores updated
|
||||
(taskColumns, scanTask, Create) in both PG and SQLite.
|
||||
- ICD runner version bumped. New tests: model prefs (8), broadcast (3),
|
||||
git credentials (6), system tasks (4).
|
||||
|
||||
### Docs
|
||||
|
||||
- `notifications.md` — broadcast endpoint, `system.broadcast` WS event.
|
||||
- `admin.md` — broadcast cross-reference.
|
||||
- `workspaces.md` — `/generate`, `/public-key` endpoints, new fields.
|
||||
- `tasks.md` — system task type, function registry, chaining pattern,
|
||||
`GET /admin/system-functions`.
|
||||
|
||||
|
||||
|
||||
## [0.28.5] — 2026-03-14
|
||||
|
||||
### Summary
|
||||
|
||||
Reference in New Issue
Block a user