-
v26.04.08.2 Stable
released this
2026-04-08 11:40:25 -04:00 | 877 commits to main since this releaseWhat's Changed
Knowledge View Consolidation
- Tasks integrated into Knowledge view as a fifth card type with status, priority, and due date
/notesand/taskslist routes deprecated — redirect to Knowledge (/)- New-note button toggles to reveal type options (Task, Person, Place, List)
- "Tasks" removed from header navigation
Modern Fable Visual Identity
- Deep violet (
#7c3aed) + muted gold (#d4a017) palette replaces indigo - Pill-grouped nav tabs with violet glow on active; brand shortened to "Fabled" in Fraunces italic
- Card type DNA: gradient top bars (note/task/list), corner accents (person/place), violet hover bloom
- Fraunces italic as "narrator voice" for sidebar labels and empty states
- Amber for all temporal data (due dates, timestamps, event times)
- Scroll edge fades, ornamental section dividers, glow buttons, status dot pulse
Downloads
-
v26.04.08.1 Stable
released this
2026-04-08 08:37:41 -04:00 | 889 commits to main since this releaseWhat's Changed
- fix(voice): Resume AudioContext after creation so silence detection actually fires — browsers start it suspended, causing the auto-stop to never trigger
Downloads
-
v26.04.07.3 Stable
released this
2026-04-07 20:43:26 -04:00 | 891 commits to main since this releaseWhat's Changed
- Discuss button fix: Full article content fetched via trafilatura for both briefing and chat discuss paths
- Push notifications: Fixed VAPID key format (PEM → base64url DER); added "Regenerate VAPID Keys" button in Settings → Notifications
- Chat titles: Rewrote title generator to only use user messages — no more JSON fragments, special tokens, or system prompt leakage
- Project inference: System prompt now explicitly forbids inferring project names on task/note creation
- Background model: Default bumped from qwen2.5:0.5b to qwen2.5:3b for reliable title/summary generation
- Voice STT: Whisper receives conversation context as initial_prompt to reduce mishearings
- Voice UI: Mic button integrated into ChatInputBar with click-to-toggle + silence detection; VoiceOverlay removed
- Voice reactivity: Status re-checked on tab focus and after saving voice settings; mic visible on HTTP with graceful error
Downloads
-
v26.04.07.2 Stable
released this
2026-04-07 08:40:03 -04:00 | 898 commits to main since this releaseWhat's Changed
- Discuss button fix: Full article content is now fetched via trafilatura when clicking Discuss in the briefing view or News screen — fixes the model discussing the wrong/empty article
- Push notifications fix: VAPID key was stored in the wrong format (PEM instead of base64url DER), causing all push sends to fail silently. Fixed key generation; existing installs can recover using the new "Regenerate VAPID Keys" button in Settings → Notifications
Downloads
-
v26.04.07.1 Stable
released this
2026-04-06 22:40:53 -04:00 | 902 commits to main since this releaseWhat's Changed
Voice & Audio
- Web voice overlay: click-to-toggle with silence detection and animated amplitude bars
- Streaming TTS wired into Chat, Briefing, and Workspace views
- Kokoro voice blending — blend builder UI + weighted tensor synthesis
- Automatic Kokoro offline mode + daily update check
- Voice S2S — faster-whisper STT, Kokoro TTS, PTT overlay
Chat & UI
- ChatPanel unification — all views (Chat, Briefing, Workspace, Home, Knowledge) use shared component
- Streaming bubble and input bar extracted as reusable components
- Listen mode with volume knob; persisted across views via localStorage
- Live card refresh and interactive checkboxes in list note viewer
Knowledge & Research
- Knowledge view: entity types (People, Places, Lists), two-tier pagination
- Research pipeline rewrite: multi-note outline + parallel section synthesis + index note
- Read article tool + full article fetching via trafilatura
Calendar & Events
- Recurring event expansion, CalDAV pull sync, past search, reminders
- Month/year picker popover; event popover on calendar grid
Briefing
- Article Discuss endpoint with synthetic tool exchange
- Structured user profile with LLM-learned preferences
- Briefing pipeline rewrite to conversational prose
- Slot gating + morning work-day gate; SSO account guard
Settings & Performance
- Timezone field in General tab; background model picker with KV cache warning
- Adaptive num_ctx tiers; KV cache prefix reuse and priming on startup/model change
- Background task routing to dedicated model to preserve KV cache
- Conditional thinking classifier
LLM Tool Fixes
- Prevent model from inferring project names on create_task / create_note
- Confirmed guard for deletes; update_person/place, get/update_profile, calculate tools
- News nav link added to AppHeader
Bug Fixes
- Many audit-pass fixes across projects, tasks, chat, events, knowledge, and briefing
Downloads
-
v26.04.06.2 Stable
released this
2026-04-06 18:22:27 -04:00 | 910 commits to main since this releaseWhat's Changed
- News nav link — Added News to the AppHeader navigation
- Generation metrics — Token counts, thinking rounds, and timing logged after each generation
- Interactive checkboxes — List note viewer now renders checkboxes as interactive toggles
- CI fix — Stop CI runner from filling disk between builds
- Registry fix — Disabled provenance attestation for Forgejo registry compatibility
- fable-mcp — Fixed SSE streaming error handling; bumped timeout for long-running tool calls
Downloads
-
v26.04.06.1 Stable
released this
2026-04-05 22:21:20 -04:00 | 917 commits to main since this releaseWhat's new
Article reading
- New
read_articletool — paste a URL into chat and the assistant fetches and reads the full article text - Removed RSS article content cap (was 50,000 chars) — no more truncated articles
- Fix: conversation history now correctly replays tool calls so article context survives follow-up questions
- Briefing "Discuss" button injects full article content before launching generation
Quick capture refactor
- Replaced the old intent router with native Ollama tool-calling — same pipeline as main chat
- Thinking is now auto-decided by the classifier instead of being hard-disabled
- ~460 lines of
intent.pydeleted
Settings consistency pass
- Timezone field — new section in General settings with a text input and a Detect button (auto-fills from browser)
- Saving timezone now immediately live-patches the briefing scheduler without requiring a config re-save
- Briefing tab — "Firing in timezone" hint shows the stored timezone value instead of the live browser API
- Account tab — SSO users now see an informational banner instead of email/password forms they can't use
- Briefing tab — redundant Office Days section removed (work days are configured in Profile)
- Scheduler — slot toggles now actually control which jobs are scheduled (previously decorative)
- Scheduler — morning slot skips non-work days based on
profile.work_schedule.days
Bug fix
- Fixed
ImportErroron startup caused by a stale reference toCONTENT_MAX_CHARSin the RSS backfill function
Downloads
- New
-
v26.03.29.1 Stable
released this
2026-03-29 15:40:45 -04:00 | 1037 commits to main since this releaseWhat's new
Security fixes
- SSRF: block private/internal URLs in image cache fetch, RSS feed add, and CalDAV URL setting
- Auth:
GET /api/images/<id>now requires authentication (was unauthenticated) - Auth: Ollama model pull and delete restricted to admin users only
- Info disclosure: email addresses removed from
/api/users/searchresponse - OAuth: account auto-linking skipped when provider does not set
email_verified: true - Config: startup fails with a clear error when
SECRET_KEYis default andSECURE_COOKIES=true - Rate limiting: startup warning added when
TRUST_PROXY_HEADERSis not set behind a proxy - XSS: tightened DOMPurify config —
src/altremoved from global attribute allowlist
MCP bug fixes
fable_add_task_log: was posting{"body": ...}— API expects{"content": ...}; all log entries now save correctlyfable_create_project:statusparameter was silently discarded; projects can now be created withstatus="archived"fable_create_milestone:statusparameter was silently discarded; milestones can now be created withstatus="done"
Downloads
-
v26.03.28.2 Stable
released this
2026-03-28 14:03:11 -04:00 | 1041 commits to main since this releaseWhat's new
- Fix: weather column — briefing weather now returns properly formatted card data; was showing raw cache rows
- Fix: temp unit label — °C/°F label now correctly reflects the saved preference (was always showing °C)
- Fix: news column and
/newsview empty — resolved asyncpgAmbiguousParameterErroron NULL feed filter; articles with nopublished_atnow fall back tofetched_atinstead of being silently excluded - Fix: version badge contrast — app version in settings footer is now legible in both light and dark modes
- Fix: gitignore —
docs/superpowers/,docs/plans/,docs/specs/excluded and de-tracked from repo - Feat:
add_rss_feedLLM tool — users can add RSS feeds to their briefing by asking the assistant - Feat: fable-mcp auto-version bump — Claude Code PreToolUse hook auto-increments the fable-mcp patch version on every commit that touches
fable-mcp/
Downloads
-
v26.03.28.1 Stable
released this
2026-03-28 01:38:35 -04:00 | 1051 commits to main since this releaseWhat's new
- Briefing view redesign — 3-column layout (weather · chat · news). Weather and news panels load independently; news shows the last 2 days of articles from all feeds with 👍/👎 reactions.
/newsarchive view — browse 90 days of RSS articles with feed filter, load-more pagination, topic pills, and reactions.- RSS article retention extended to 90 days (was 14).
- Deep article Q&A in briefing chat — follow-up questions in the briefing conversation can reference the full content of source articles.
- Task enhancements —
cancelledstatus,started_at/completed_attimestamps auto-set on status transitions,recurrence_rulefield with a new RecurrenceEditor UI component. - Fix: migration 0031 — corrected a broken
ALTER TYPE task_statusSQL; status column is plain TEXT so migration is now a no-op.
Downloads