DeepTutor v1.0.2 Release Notes
Release Date: 2026.04.11
Highlights
Search Consolidation Simplification & SearXNG Fallback
Removed the explicit consolidation_type parameter — consolidation now runs automatically for any provider that doesn't return its own answer. A new generic fallback formatter handles providers (e.g. SearXNG) that lack a dedicated Jinja2 template, fixing the "no template consolidation available" error. The CONSOLIDATION_TYPES constant and related config fields have been removed.
Provider Switch Fix
Settings page now always overwrites base_url when the user selects a different provider, instead of only filling it when the field was previously empty. This prevents stale base URLs from persisting across provider changes.
Explicit Runtime Config in Test Runner
ConfigTestRunner now builds LLM, Embedding, and Search configs directly from the resolved runtime catalog instead of relying on the global config cache, ensuring test runs always reflect the current active selection.
Frontend Resource Leak Fixes
- Added
AbortControllercleanup across all Playground testers (ToolExecutor, DeepQuestionTester, DeepResearchTester, CapabilityTester) and the SaveToNotebookModal, preventing orphaned fetch requests on unmount or re-execution. - Introduced a
MAX_CACHED_SESSIONS = 20eviction policy in UnifiedChatContext to prevent unbounded session memory growth. - WebSocket runners and retry timers are now properly cleaned up on provider unmount.
- Fixed auto-scroll throttle timer leak by returning a cleanup function from the throttle effect.
Docker Build Fix
- Fixed
setTimeoutreturn type mismatch (numbervsNodeJS.Timeout) in UnifiedChatContext that caused the frontend compilation to fail during Docker multi-platform builds.
What's Changed
- fix: add auto-fallback for search providers without templates by @OlegSob-glitch in #286
- v1.0.2 by @pancacake in #287
New Contributors
- @OlegSob-glitch made their first contribution in #286
Full Changelog: v1.0.1...v1.0.2