v2.0.3

plait-board/drawnixv2.0.3Sep 26, 2026by CREDO23

Upgrading?

AI Summary

This release introduces a major architectural shift by replacing Ollama with llama.cpp and consolidating the model catalog to support chat, image, and audio models. It also features a significant UI overhaul, localization for Japanese and German, and enhanced system stability.

Key Highlights

  • Replaced Ollama runtime with bundled llama.cpp
  • Unified model catalog for chat, image, and audio
  • Migrated UI from Radix UI to Base UI
  • Added Japanese and German language support
  • Integrated thinking models and podcast generation

Breaking Changes

  • Version migration from 1.x to 2.x
  • Replacement of Ollama with llama.cpp runtime

New Features

  • llama.cpp warm loads and per-layer KV pricing
  • Image models served from local catalog
  • Kokoro podcast voice as default
  • macOS Help menu, window restore, and update check
  • Thinking model reasoning display

Full Release Notes

## What's Changed
* fix(sunset): gate sunset mode on cloud deployment and keep PATs working through the wind-down by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1815
* Release 2.0.2: move Latest to 2.x, bridge legacy updaters, permalink downloads by @MODSetter in https://github.com/MODSetter/SurfSense/pull/1816
* [Docs|Plugins] Plan the plugin system by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1817
* feat(local): replace Ollama with a bundled llama.cpp runtime, a curated GGUF catalog, and a hardware-aware fit estimator by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1819
* feat(llm): llama.cpp runtime: warm loads, per-layer KV pricing, one Hugging Face consent, manifest order over ranks by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1820
* [Docs|Models] Plan the model catalog by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1899
* [Docs|Models] Mark what the model catalog replaces by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1900
* refactor(llm): one model catalog, starting with the remote side by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1901
* feat(llm): rework the local model catalog around pinned builds and one row shape by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1902
* feat(local-ui): rebuild model settings as per-type sections with local and server models grouped together by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1904
* [LLM|Models] Serve image models from the local catalog by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1903
* feat(local): run sd-server in dev and give image models chat's download states by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1905
* feat(local-ui): add chat and image model steps to onboarding, with server dialogs and a logo loader by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1906
* [LLM|Audio] Voice podcasts on audio.cpp by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1907
* feat(local-ui): bring audio models in line with chat and image, and add an audio onboarding step by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1908
* [LLM|Models] Ship the local model manifest in the Studio worker by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1910
* [LLM|Audio] Ship Kokoro as the default podcast voice by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1909
* feat(local): translate the desktop app into Japanese and German, open without a broken chat model, and add a dev app identity by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1911
* feat(local): add the chat eval, judge its runs, and fix the compact chat prompt by @MODSetter in https://github.com/MODSetter/SurfSense/pull/1912
* feat(local): measure retrieval, then rank on both legs by @MODSetter in https://github.com/MODSetter/SurfSense/pull/1913
* fix(local): keep a word's combining marks when the keyword index splits text by @MODSetter in https://github.com/MODSetter/SurfSense/pull/1915
* fix(search): score every candidate on its own cosine by @MODSetter in https://github.com/MODSetter/SurfSense/pull/1916
* [LLM|Models] Add image editing, video and more image models by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1914
* ci: split CI into one workflow per product and keep only repo-wide checks shared by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1917
* fix(local): renumber the sd.cpp migration to 0018 by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1918
* feat(local): reorder onboarding and Settings model steps, and fix clipped UI in longer languages by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1919
* [LLM|Chat] Show a thinking model's reasoning while it answers by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1920
* [LLM|Studio] Stop the model on cancel and turn thinking off by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1921
* refactor(local-ui): move the desktop frontend from Radix UI to Base UI by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1922
* feat(local): podcast voice and language pickers, scroll-fade and checkbox polish by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1923
* feat(local): add an About section to settings and re-sync UI components to base-nova by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1924
* fix(local): make room for local image and podcast generation by @MODSetter in https://github.com/MODSetter/SurfSense/pull/1925
* feat(local): report issues with this session's log by @MODSetter in https://github.com/MODSetter/SurfSense/pull/1926
* feat(local): macOS Help menu, update check, window restore and thinking header redesign by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1927
* fix(local): fade dialogs out with their content, nest app-wide dialogs, hide servers for audio by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1929
* feat(local): make model installs jobs the API owns by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1930
* [Local|Packaging] Fail pnpm dist on a missing toolchain, with the install command by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1928
* fix(local): read the model manifests as UTF-8 on Windows by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/1931
* [Local|Release] Release desktop 2.0.3 by @CREDO23 in https://github.com/MODSetter/SurfSense/pull/1932


**Full Changelog**: https://github.com/MODSetter/SurfSense/compare/v2.0.2...v2.0.3

Related Repositories