What's Changed
- chore: post-release hygiene (Dependabot signaling coverage, CI note, pin) by @SecureCloudGroup in #11
- fix(web): in-app Help deep links resolve to the right section + heading by @SecureCloudGroup in #14
- build(deps): bump python from 3.12-slim to 3.14-slim in /signaling in the docker group across 1 directory by @dependabot[bot] in #12
- chore: hold typescript/vite majors in Dependabot until the toolchain catches up by @SecureCloudGroup in #15
- chore: freeze the whole Vite/SvelteKit toolchain majors in Dependabot by @SecureCloudGroup in #17
- ci: run the web job on node 22 (matches local .nvmrc) by @SecureCloudGroup in #19
- chore(web): bump marked 12->18 + @types/node (verified, no bundle drift) by @SecureCloudGroup in #20
- chore(web): upgrade Vite 7 -> 8 (Rolldown), unblocked by node 22 by @SecureCloudGroup in #21
- chore: add .dockerignore — keep the vault + secrets out of image builds by @SecureCloudGroup in #22
- fix(email): Gmail OAuth over HTTPS via a loopback redirect helper by @SecureCloudGroup in #23
- feat(schedules): Output/Create/Items tabs + PWA parity (Phase 1/3) by @SecureCloudGroup in #24
- feat(routing): dedicated Agent-tasks model route + cold-load timeout fix by @SecureCloudGroup in #25
- feat(tools): Chat can read + manage schedules (approval-gated agent tools) by @SecureCloudGroup in #26
- feat(chat): dedicated "Scheduled updates" feed for fired schedule output by @SecureCloudGroup in #27
- fix(chat): put scheduled output in the chat window (remove the tab) by @SecureCloudGroup in #28
- fix(kb): Chat can keyword-search any saved document, not just the semantic index by @SecureCloudGroup in #29
- fix(kb): don't title a PDF upload with a stale .DOCX filename from its metadata by @SecureCloudGroup in #30
- test(kb): thorough end-to-end PDF ingest + indexing + search validation by @SecureCloudGroup in #31
- fix(kb): reindex waits out a cold local embed model (don't fail the first try) by @SecureCloudGroup in #32
- fix(gateway): serialize local-model calls — fix oMLX "model is busy" chat failures by @SecureCloudGroup in #33
- feat(chat): read_document tool — read a whole document, not just a snippet by @SecureCloudGroup in #34
- feat(chat): read, list & summarize documents of any length + context-sized result cap by @SecureCloudGroup in #35
- feat(chat): save_note — write a note/summary back to knowledge from chat by @SecureCloudGroup in #36
- feat(chat): render assistant markdown instead of raw
###and**by @SecureCloudGroup in #37 - feat(kb): correct, honest & fast knowledge search (BM25 + vectors, in-memory index) by @SecureCloudGroup in #38
- build(release): prebuilt multi-arch images on ghcr + a pull-based compose by @SecureCloudGroup in #46
- Restore KB + Vaults work (provenance, citations, office ingest, bulk, vaults, vault UI) by @SecureCloudGroup in #48
- Restore launcher + fix ghcr image-publish (lowercase) by @SecureCloudGroup in #49
Full Changelog: v0.1.0...v0.4.0