Highlights: LaTeX rendering in chat, per-type bulk chat-context controls, Turkish UI, a security fix, and a batch of ingestion/search reliability fixes.
Upgrade note: this release adds database migration 15 (a flexible
configobject on thecredentialtable), applied automatically on API startup.
🔒 Security
- Bumped Starlette → 1.2.1 and FastAPI → 0.136.3 to address CVE-2026-48710 ("BadHost") (#859)
✨ Added
- LaTeX math rendering in chat — inline
$...$and display$$...$$via KaTeX (#606) - Bulk chat-context actions in the Sources and Notes column headers — sources: insights only / full content / exclude all; notes: include / exclude all — translated across all 14 locales (#223)
- Turkish (tr-TR) localization (#871)
NEXT_PUBLIC_API_TIMEOUT_MSto configure the frontend API request timeout (#880)
🔧 Changed
- Prominent "Retry processing" button on failed source cards (#726)
- Docker base image → Debian trixie + Node.js 22.x (#914)
🐛 Fixed
- Sources that fail to ingest are now marked
failed(so the retry button actually appears) instead of being saved ascompletedwith the extraction error as their body (#726) - Podcast generation now uses the notebook's real content via
Notebook.get_context()(#864) PUTprofile handlers usemodel_dump(exclude_unset=True)so partial updates don't wipe unset fields (#860)- OpenRouter embedding modality is now exposed (#842)
POST /sources/{id}/retry: no longer returns400for every source (#861), and no longer500from a double-prefixed command idGET /sources/{id}returns404(not500) for a missing or deleted source- Text search falls back to vector search on a
search::highlight"position overflow" (#648) POST /api/searchrejects a non-positivelimitwith422(#863)- Ollama
num_ctxoverride is now persisted via a flexibleconfigobject (migration 15) (#875) - Worker drains legacy embedding jobs via command aliases (#695, #876)
- Updated AI provider configuration docs (#873)
⚡ Performance
- Memoized the notebook source list and stopped polling completed sources (#503)
📚 Docs
- Code of Conduct (#856), local quickstart + worker step (#900),
export_docs.pyTable of Contents (#865)
📦 Dependencies
- Multiple dependency bumps, including cryptography 46→48, langchain 1.2→1.3, langchain-anthropic, aiohttp, tornado, and frontend dev dependencies.
🙌 Contributors
Thanks to everyone who shipped a PR in this release: @aaronjmars, @doganreis, @Federicorao, @fboudra, @krataratha, @ltianyi992, @mvanhorn, @royfrancis, @zichen0116, and @lfnovo.
Full Changelog: v1.9.0...v1.10.0