# Changelog All notable changes to this project will be documented in this file. ## Beta 2 (v0.2.0) - Web UI overhaul: fixed header, single-scroll layout, auto pin-to-bottom, infinite scroll history - Channel selector moved into menubar brand; commit hash shown subtly - SSE realtime updates and JSON APIs for info, channels, tail, history, stream - Link cards: robust OG/Twitter parsing, X (Twitter) oEmbed embeds, YouTube oEmbed, direct image previews - On-demand link summaries with caching; inline actions (🌚/🌝, ▾) and collapse/expand - Dedicated link-only LLM prompt; improved fetch headers; readability extraction; image-to-vision support - Mention detection/rate limiting/quiet hours retained and refined - Store: case-insensitive channel queries, msgid de-dup, WAL, history paging - Metrics: messages ingested, notifications sent, pruned, connection gauge - Docker: multi-arch build, healthcheck; version/commit/build injected - Numerous bug fixes (template rendering, static assets path, scroll duplicates, initial bottom snap) ## Beta 1 (initial release) - soju-specific raw connector with event playback and CHATHISTORY fallback - Message storage (SQLite, WAL), msgid de-dup, retention job - Mentions with tuning (quiet hours, rate limiting, allow/deny, urgent keywords) - Pushover notifications - OpenAI summarization: concise natural summaries, link-following, multi-line grouping - HTTP: /healthz, /ready, /tail, /trigger, /metrics (connected gauge and counters) - Structured JSON logs (slog) - Docker: distroless, built-in healthcheck, version/commit injected ## Unreleased - Additional notifiers (ntfy, Telegram) - Long-form HTML digest rendering - Admin endpoints (e.g., /join)