-
v26.04.07.2 Stable
released this
2026-04-07 08:40:03 -04:00 | 515 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 | 519 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 | 527 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 | 534 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 | 654 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 | 658 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 | 668 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
-
v26.03.27.2 Stable
released this
2026-03-27 17:23:59 -04:00 | 687 commits to main since this releaseWhat's new
cancelledtask status — tasks can now be marked cancelled via the LLM/MCP; previously this caused a 500. Includes a DB migration to extend thetask_statusenum and 400 validation guards on task create/update routes.
Downloads
-
v26.03.27.1 Stable
released this
2026-03-27 00:12:42 -04:00 | 689 commits to main since this releaseWhat's new
- News story cards in briefing — each RSS item now renders as a card with source, linked headline, snippet, and 👍/👎 reactions (previously reactions were bare "Story N" buttons with no article context)
- Fix MCP fable_update_task —
PATCH /api/tasks/:idwas returning 405; route now accepts both PUT and PATCH - Backend DRY pass —
parse_pagination()helper across routes;_enrich_shares()and_deduplicate_by_permission()in sharing service - Frontend DRY pass — shared milestone color palette,
useBackgroundRefreshcomposable,_loadTabContent()in SettingsView, typed API key helpers
Downloads
-
v26.03.26.2 Stable
released this
2026-03-26 19:22:30 -04:00 | 696 commits to main since this release- Fix missing
onUnmountedimport inBriefingView.vue(CI typecheck failure)
Downloads
- Fix missing