Files
Skald-Circle/CHANGELOG.md
T
Daniele 934726a75d
Nightly Build / build (push) Successful in 40s
fix(event-triage): never notify about a filtered event
Triage was applying the user's notification preferences correctly and then
calling notify() anyway, with the filtering itself as the summary ("filtered
as generic marketing per user preferences") — the interruption the rule was
written to prevent, delivered with an explanation attached.

Nothing in the prompt said that notify() *is* the interruption, so using it as
a record of the decision looked coherent. Say it plainly instead, in the three
places the model passes through: notify delivers immediately and has no silent
variant, a rule that filters a category means no call at all, and a summary
that mentions filtering is the tell that the rule is about to be broken. The
tool description carries the same statement at the call site.
2026-08-20 22:37:15 +01:00

73 lines
4.1 KiB
Markdown

# Changelog
All notable changes to Skald Circle are recorded here, newest first.
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versions
are the workspace `Cargo.toml` version — the one `ci/verify-version.sh` checks before a
release PR may merge — and a section is closed at the commit that bumps it.
## [Unreleased]
### Added
- Several conversations per source: open extra chats with `+`, and the tab bar you left
open is restored at your next login, on any device.
- A background task now reports back into the chat that started it instead of only the
Inbox, and a chat shows the tasks still running under it.
- Skills reworked for the multi-user model: a shared tree plus a per-member one, with a
generated index injected into the agent's prompt.
- The agent is told what its sandbox can actually run, from a probe of its own container.
- Event triage can be tuned per person: a check interval that overrides the instance one,
and notification preferences read from `user-memory/notifications.md`.
- The assistant now remembers how you like emails and documents written — preferred
wording, openings, sign-offs, formal vs. informal, per-recipient exceptions — as a short
section of your private `user.md`, and applies it to later drafts.
- File viewer: syntax highlighting for code files and for code blocks in the chat, a
hover copy button on those blocks, and history browsing for a file under git.
- Project explorer: download a folder as a streaming ZIP.
- Collapsible icon-only sidebar on desktop.
- DeepInfra, as a declarative LLM provider.
- The project coordinator offers to keep a history of a project.
- An agent can ask which connectors it holds instead of guessing.
### Changed
- Runtime image `v4`: Debian 13 base, plus the shared libraries a headless Chromium needs.
- Unencrypted users are unlocked and their runtimes started at boot, so Telegram, cron and
the background agents work after a restart without anyone opening the web app first.
- PDFs render through pdf.js instead of an iframe.
### Fixed
- The server keeps running after you log out of the box; the install / update / uninstall
scripts were hardened alongside it.
- Skald survives a restart of the Docker daemon.
- A user database gets the owner schema re-applied when it is opened.
- An approval bypass applies to the tool it was granted for, not to its whole connector.
- Connectors: an admin can use the ones they implicitly hold, per-user ones appear in the
security-group picker, one whose process died is brought back, a global one's
dependencies are installed where they are needed, and the prompt's connector list is
rebuilt when the set changes.
- Telegram: pairing codes are no longer burned on the way out nor handed out unrecorded,
and `send_attachment` resolves paths in the user's own workspace.
- The notification home is stored in the owner's database instead of the registry, where
it silently dropped every batch it built.
- Event triage no longer notifies you *about* the messages your preferences told it to
filter — a filtered event now produces silence rather than a notification explaining
that it was filtered.
- LLM calls send the provider's model id on the wire rather than the local alias, and
catalog capabilities resolve for reasoning-mode queries.
- `get_ast_outline` runs in the caller's workspace, gives a markdown heading a section
range instead of a single line, and shows a proper name and icon on its chat card.
- The re-login dialog no longer hijacks the login screen, the new-chat `+` menu is visible
and clickable, and the session-detail page stays live instead of freezing on a snapshot.
- A silently dead agent WebSocket is detected and redialled.
- A generated image lands in your own workspace instead of a server folder nobody could
reach, so the assistant can finally send it to you on Telegram, open it in the viewer,
or work on it with a command. It still shows inline in the web chat, its file is named
after the prompt, and it is now readable only by the person who asked for it.
---
Releases up to and including `0.2.0` predate this file; `git log` is the record for them.