Skip to content

Latest commit

 

History

History
489 lines (266 loc) · 37.5 KB

File metadata and controls

489 lines (266 loc) · 37.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Built-in web search design handbook. Technical guide for the in-app search pipeline: decision stages, engines, language parity, conversation page reuse, security, and UI. See docs/built-in-web-search.md. User-facing egress copy: docs/search-privacy.md (renamed from search-disclosure.md).
  • Built-in web search. Keyless search on the bundled engine: Auto search (Settings → Behavior, default on) may open the web when a plain turn needs live facts; /search forces a look-up. Pipeline includes intent verticals, scraped engines, citation audit, progressive search status in chat, and SSRF-safe outbound HTTP. See docs/built-in-web-search.md, docs/configurations.md, and docs/search-eval.md. (#312)
  • Unified trace recorder. Records every chat conversation (including built-in web-search turns) as JSON-Lines under app_data_dir/traces/chat/<conversation_id>.jsonl. Off by default; toggle from Settings or set [debug] trace_enabled = true in config.toml.

Changed

  • BREAKING: Renamed [debug] search_trace_enabled to trace_enabled (now covers chat and web-search events in the same chat-domain traces). Rename the field in your config.toml after upgrading. Trace file layout is traces/chat/<conversation_id>.jsonl.
  • Inference providers. Thuki now reaches models through a typed provider list instead of a single hardcoded Ollama endpoint. The [inference] section gains active_provider and a [[inference.providers]] array; each provider keeps its own selected model. Fresh installs default to the bundled Built-in (Thuki) engine, with Ollama available as an optional provider. Existing Ollama users are migrated automatically: a legacy flat ollama_url becomes the Ollama provider's base_url, and the previously selected model is carried over, so nothing changes for them. Settings gains a Providers section (editable Ollama URL with a non-local-server warning, per-provider model picker).
  • The internal inference command/hook/error model were renamed to be engine-agnostic: ask_ollamaask_model, the useOllama hook → useModel, and OllamaError/OllamaErrorKindEngineError/EngineErrorKind (the NotRunning variant is now EngineUnreachable). External callers that invoked ask_ollama directly must update to ask_model.
  • The ask_model and capture_full_screen_command Tauri commands now require a conversationId: String argument (and ask_model additionally requires isFirstTurn: bool and slashCommand: Option<String>). The frontend's useModel hook generates a stable trace id per session and threads it transparently. External callers that invoked these commands directly must update their invoke() calls. A new fire-and-forget record_conversation_end command lets the frontend signal end-of-conversation (used by useModel.reset() and useModel.loadMessages()) so the chat-domain trace file gets a clean closing line.
  • BREAKING: Renamed the [model] section in config.toml to [inference] and reshaped it from a single ollama_url string into the providers schema described above. There is no backward-compatibility shim for the section name: if you had a custom [model] section, rename it to [inference] after upgrading; a flat ollama_url inside [inference] is migrated automatically.
  • Active model selection is now strictly Option-typed end to end: when nothing is installed and nothing is persisted, Thuki refuses to dispatch requests and surfaces a "Pick a model" prompt instead of falling back to a hardcoded slug. The previous DEFAULT_MODEL_NAME constant has been removed.

0.16.2 (2026-07-21)

Bug Fixes

  • prompt: stop base system prompt forcing language guesses on all providers (#350) (bfaa8f9)

0.16.1 (2026-07-18)

Bug Fixes

  • models: remember per-model memory-fit override (#339) (245e185)

0.16.0 (2026-07-18)

Features

  • built-in web search with auto-search, citation audit, and progressive trace (#312) (7972b31)
  • ci: ship Thuki Nightly as side-by-side signed install (#336) (3810dd1)
  • conversation-wide search evidence reuse (#330) (1fe32a4)
  • cut ForceWeb search latency and harden answer quality (#324) (51d2c1f)
  • history: auto-save chats with retention and free chats (#331) (057b089)
  • move Diagnostics to Behavior tab with trace retention and folder actions (#325) (70d68ac)
  • search language parity across retrieval and answers (#326) (9005d44)
  • search resilience and citation a11y (#327) (e8e2fd7)
  • search trust and lawfulness package (#323) (151adf6)
  • settings: Changelog tab with full release history (#328) (fd909fe)

Bug Fixes

  • ci: make engine-gate throughput report-only instead of a blocking floor (#321) (07f1ca8)
  • disclose when a requested web search can't reach the web or finds nothing (#314) (2a4d749)
  • models: gate browse installs to chat brains only (07e0b35)
  • models: gate Browse installs to chat brains only (#337) (07e0b35)
  • search: disclose when a requested web search is unreachable or finds nothing (2a4d749)
  • surface the 80% memory headroom rule in the model-fit warning (#322) (a9d5bb4)
  • wire Auto search learn URL to disclosure blog post (#335) (01a99e2)

0.15.9 (2026-07-10)

Bug Fixes

  • harden memory, download, and crash-recovery guardrails (#306) (4f6ef08)

0.15.8 (2026-07-04)

Bug Fixes

  • define missing background theme token for Streamdown table menus (#292) (6100c5d)
  • redesign history panel search field and active row indicator (#294) (4252217)

0.15.7 (2026-07-02)

Bug Fixes

  • cancel in-flight generation when starting a new session (#289) (da432fa)
  • skip false starting-up copy when engine is already loaded (#291) (047824c)

0.15.6 (2026-07-01)

Bug Fixes

  • show cold-start loading label during engine warmup (#287) (bf75c42)

0.15.5 (2026-07-01)

Bug Fixes

  • context: detect clipboard fallback copy by content, not by change (#285) (89ae62a)

0.15.4 (2026-06-30)

Bug Fixes

  • windows: make Settings and What's New standard single-Space windows (#283) (0196729)

0.15.3 (2026-06-30)

Bug Fixes

  • ui: hide Dock icon on Settings close and refocus without recentering (#280) (ff6e44c)
  • window: hide Dock icon on Settings close and refocus without recentering (ff6e44c)

0.15.2 (2026-06-30)

Features

  • models: clickable Browse-all quant filenames + non-blocking model delete (#271) (b68c663)

Bug Fixes

  • window: dock icon + normal layering for Settings and onboarding (#273) (a439e5e)

Miscellaneous Chores

0.15.1 (2026-06-30)

Bug Fixes

  • ci: cap engine build parallelism by RAM to avoid OOM stalls (#270) (6904cb2)
  • ci: cap engine build parallelism by RAM to avoid OOM stalls on CI runners (6904cb2)
  • ci: fetch llama-server sidecar before lint in release job (0824f2c)
  • ci: fetch llama-server sidecar before lint in release publish job (#261) (0824f2c)
  • downloads: RAM-fit starter swap, non-blocking sends, cross-window pause/discard sync (#269) (faf681c)
  • engine: support macOS 13.4+ for the built-in engine (#266) (8226773)
  • models: update UI for multi-part (split) GGUF models (#267) (3c0c1de)

0.15.0 (2026-06-29)

Features

  • built-in engine onboarding, model downloads, Settings providers, and default flip (#219) (171a6a3)
  • bundled engine runner and model library (#217) (faa82ca)
  • models: in-app model library with Discover browser and Staff Picks (#237) (23b32ef)
  • models: sync live download progress across windows (#250) (4e14d66)
  • onboarding: built-in engine upgrade announcement and onboarding/picker polish (#251) (cfc0c62)
  • onboarding: optional email capture to help shape Thuki (#254) (b5c6f5c)
  • onboarding: surface-aware download strip and model-library intro fact (#252) (f6240bd)
  • OpenAI-compatible /v1 client and provider routing (#218) (25fe634)
  • restore the Providers setting reverted by #208 (#215) (5a5310f)
  • settings: subtle model-name links with hover reveal (#255) (bcfaa78)
  • settings: subtle model-name links with hover reveal; italic founder name (bcfaa78)

Bug Fixes

  • ad-hoc sign local macOS builds so TCC grants apply (#229) (5c3a2df)
  • fetch llama-server sidecar before lint in nightly release (#235) (d039999)
  • gate overlay activation during onboarding to prevent window collapse (#233) (b111b1c)
  • onboarding permission loop on local macOS builds (#230) (5c3a2df)
  • persist onboarding progress so relaunch can't bounce permissions (#229) (a0ecbbb)
  • prompt: stop model from emitting slash commands as replies (#243) (fa08c8c)
  • regain overlay focus after defocus via hover-activate tracking area (#234) (dec7535)
  • trim the system prompt and refresh non-customized prompts on load (#239) (395c77b)

Reverts

  • restore onboarding permission-revocation detection (#231) (#232) (1f8a121)

0.14.3 (2026-06-09)

Bug Fixes

  • emit terminal Done when the model stream ends without a done marker (#212) (df09b2a)

0.14.2 (2026-06-08)

Bug Fixes

  • make /rewrite preserve formatting, structure, and verbatim content (#207) (d3d2edb)

0.14.1 (2026-06-07)

Bug Fixes

  • show all versions between installed and latest in What's New (#203) (792b098)

0.14.0 (2026-06-07)

Features

  • allow drafting messages while response is streaming in AskBarView (#200) (108e1eb)
  • migrate AskBar input to Lexical to fix WKWebView caret drift (#202) (adafe47)
  • pre-load conversation list before opening ask-bar history drawer (#199) (5ac73e0)
  • redesign /rewrite for a natural, casual voice (#201) (c66519a)
  • write /rewrite and /refine results back into the source app (#197) (03a8fce)

0.13.1 (2026-05-26)

Bug Fixes

  • screenshot: capture display containing Thuki window on multi-monitor setups (#191) (611dff1)

0.13.0 (2026-05-25)

Features

  • export chat session to Markdown and clipboard (#189) (e8eeed0)

0.12.0 (2026-05-22)

Features

  • minimize: collapse the chat to a floating mascot with edge-aware restore (#187) (23507c0)

0.11.3 (2026-05-18)

Bug Fixes

  • updater: embed full release changelog in updater manifest (#182) (6462266)

0.11.2 (2026-05-18)

Bug Fixes

  • math: escape currency dollars so they aren't parsed as LaTeX math (#180) (90faee1)

0.11.1 (2026-05-16)

UI

  • updater: redesign the What's New window to match the Settings panel (#177) (9f80719)

0.11.0 (2026-05-16)

Features

  • updater: What's New update window with explicit actions; open Settings on current Space (#174) (0243c4b)

0.10.0 (2026-05-15)

Features

  • settings: user-configurable typography controls for chat and input (#172) (03e523c)

0.9.1 (2026-05-13)

Bug Fixes

  • ui: replace Inter and Source Serif 4 with Nunito as sole typeface (#167) (fec2c49)

0.9.0 (2026-05-12)

Features

  • commands: add /explain slash command with /screen and image support (#159) (b78e9b3)
  • commands: add /extract slash command with Vision OCR text extraction (#160) (aafe2fc)
  • commands: unified slash command dispatch + OCR utility commands (#164) (22fc98f)
  • markdown: add KaTeX math rendering via Streamdown plugin API (#156) (579a93b)

Bug Fixes

  • config: restore default system prompt on upgrade for uncustomized configs (#158) (43e0386)

0.8.5 (2026-05-08)

Bug Fixes

  • permissions: clear stale TCC entries on upgrade and grant click (#153) (f6d9ca2)

0.8.4 (2026-05-07)

Bug Fixes

  • updater: relaunch after TCC reset so System Settings can re-register Thuki (#151) (27dc003)
  • updater: relaunch after TCC reset to refresh tccd PID tracking (27dc003)

0.8.3 (2026-05-07)

Bug Fixes

  • updater: clear snoozes when a new version becomes available (#149) (c672409)

0.8.2 (2026-05-07)

Bug Fixes

  • updater: timestamp on errors and footer in chat mode (#147) (92a2e15)

0.8.1 (2026-05-07)

Bug Fixes

  • settings: redesign About Updates as hero card with check animation (#145) (b4190e1)

0.8.0 (2026-05-07)

Features

  • trace: unified per-conversation forensic recorder for chat + search (#139) (76f9180)
  • updater: in-app auto-update via signed GitHub releases (#144) (7e5b833)

Bug Fixes

  • ui: adopt Source Serif 4 for AI prose reading register (#140) (5adc86d)

0.7.1 (2026-05-04)

Bug Fixes

  • settings: repair keep-warm minutes input UX (#127) (38b506c)

0.7.0 (2026-05-04)

Features

  • add utility slash commands (#93) (98a3a19)
  • ci: add floating nightly release workflow (#109) (c213235)
  • config: make max_images user-tunable with a cap of 20 (#121) (4e1b3af)
  • config: migrate runtime configuration from env vars to TOML (#102) (20abeb0)
  • config: user-tunable context window with log-scale slider (#120) (1c18ddf)
  • continuity: cross-model history sanitization and capability-aware filtering (#107) (c976d63)
  • in-app model picker with hardened selection pipeline (#103) (d6cf4fb)
  • introduce agentic search pipeline with live trace streaming (#100) (445534f)
  • model-picker: add larger-models nudge hint (#118) (6c0df18)
  • search: add forensic trace recorder (#126) (e1d5997)
  • sync slash command docs and prompt metadata (#101) (7501d60)
  • tray: left-click opens Thuki, right-click shows menu (#123) (81f133e)
  • ui: add tip bar with contextual usage tips (#119) (ed9b250)

Bug Fixes

  • chat: prevent source-row clicks from opening URL twice (#104) (e1d2cdf)
  • ci: set VITE_GIT_COMMIT_SHA on tauri build step not frontend step (#111) (ed80d15)
  • search: correct Setup Guide anchor in sandbox-offline card (#112) (29f2c1f)
  • search: harden judge fallback and config allowlist (#125) (cf82a95)
  • settings: allow text selection in settings panel (#122) (5c552cb)
  • settings: eliminate Dock icon by converting settings window to NSPanel (#117) (217fa00)

0.6.1 (2026-04-14)

Bug Fixes

  • intercept drops at root level and add max-images UX feedback (#90) (c304af8)

0.6.0 (2026-04-14)

Features

  • add /think command with thinking mode UI (#85) (59f7333)

0.5.2 (2026-04-12)

Bug Fixes

  • enlarge close button hit area to fix unreliable click (#82) (a829858)

0.5.1 (2026-04-10)

Bug Fixes

  • cancel active streaming on overlay hide and app quit (#73) (077893a)
  • preserve scroll position when streaming finishes (#70) (4254ea2)
  • replace anchor system with simple screen-bottom growth detection (#74) (d59119d)

0.5.0 (2026-04-08)

Features

  • friendly error UI for Ollama not running / model not found (#61) (6426ea2)
  • improve context awareness and image handling for better multimodal understanding (7f64352)
  • onboarding flow with permission-gated stage machine (#65) (35497cb)
  • overhaul system prompt and move to dedicated file (#64) (c831c66)
  • upgrade to Gemma4 and add runtime model configuration (#63) (5138eac)

Bug Fixes

  • remove Input Monitoring and suppress native permission popups (#68) (89f06b8)
  • restore cross-app hotkey via HID tap + active tap options (#66) (8c7f2cd)

0.4.0 (2026-04-07)

Features

  • onboarding screen for macOS permission setup (#54) (d42ae2a)

Bug Fixes

  • revert Cargo.lock sync commit to plain git push (#52) (904cdf4)

0.3.0 (2026-04-06)

Features

  • show AskBar automatically on app launch (#48) (66c994c)

Bug Fixes

  • add Signed-off-by to release-please and Cargo.lock sync commits (#45) (2943f20)
  • move signoff to top-level in release-please config (#47) (5a7d076)
  • sync Cargo.lock on release PRs via release workflow (#43) (18f49a4)
  • use GitHub API for Cargo.lock commit to get Verified badge (#50) (cf09593)

0.2.1 (2026-04-05)

Bug Fixes

  • resolve production screenshot bugs (CSP blob URLs, black screen) (#41) (39da9e8)
  • sync Cargo.lock to reflect 0.2.0 version bump (ca17e83)

0.2.0 (2026-04-05)

Features

  • add /screen slash command with tab-completion and screen capture (#35) (354403a)

Bug Fixes

  • macOS distribution improvements (signing, DMG installer, permissions) (#36) (72b503c)

0.1.0 - 2026-04-05

Added

  • Floating overlay activated by double-tapping the Control key from any app
  • Streaming chat powered by locally running Ollama models
  • Multi-turn conversation with full context retention
  • Conversation history with SQLite persistence; revisit and continue past sessions
  • Image and screenshot input: paste or drag images directly into the chat
  • Docker sandbox with capability dropping, read-only model volume, and localhost-only networking
  • macOS NSPanel integration for fullscreen-app overlay
  • Tray icon with show/hide and quit controls
  • Automatic window resizing driven by content height
  • Markdown rendering via Streamdown with XSS protection
  • Cancel in-flight generation with a stop button
  • History panel with search, save/unsave, and conversation switching