DeepTutor v1.1.0 Release Notes
Release Date: 2026.04.15
Highlights
LaTeX Block Math Parsing Overhaul
Rewrote the normalizeEditorMdInlineMath pipeline to correctly handle loose block math — content wrapped in single $ delimiters on separate lines (e.g. $\n\\frac{a}{b}\n$). A new looksLikeLatexBlock heuristic scans the enclosed lines for LaTeX-specific tokens (\\command, \\\\, _, ^, &) and promotes the delimiters to $$…$$ when appropriate, while leaving non-LaTeX dollar-sign usage untouched. Also tightened the one-line $$…$$ regex to require a trailing $ anchor, preventing over-eager matching.
LLM Diagnostic Probe — agents.yaml Configuration
Moved the LLM probe max_tokens setting from the LLM_TEST_MAX_TOKENS environment variable to diagnostics.llm_probe.max_tokens in agents.yaml, aligning it with the existing agent-parameter system. The env-var approach and its Docker/.env.example entries have been removed in favour of the unified config loader (get_agent_params("llm_probe")).
Extra Headers Forwarding in LLM Factory
Both llm_complete and llm_stream now accept caller-supplied extra_headers via kwargs and merge them with provider-level headers, instead of silently dropping or double-passing them. This fixes a TypeError: multiple values for keyword argument 'extra_headers' crash when agents (e.g. NotebookSummarizeAgent) forwarded custom gateway headers.
SaveToNotebookModal UUID Fix
The modal now fetches notebooks from /api/v1/notebook/list (UUID-based) instead of listCategories() (integer category IDs from the legacy question-notebook API). This resolves issue #301 where Co-Writer and other non-quiz saves silently failed because numeric category IDs never matched any notebook UUID.
Docker + Local LLM Guidance
Added a prominent documentation block to .env.example, .env.example_CN, docker-compose.yml, and docker-compose.ghcr.yml explaining host.docker.internal usage when the LLM/embedding server runs on the host machine — covering macOS/Windows Docker Desktop and Linux LAN-IP / --network=host alternatives.
Test Suite Expansion
Added 5 new test modules (153 + 107 + 114 + 193 + 102 lines) covering LaTeX delimiter conversion and block-math promotion (web/tests/latex.test.ts), notebook router UUID validation (tests/api/test_main_notebook_router.py), NotebookSummarizeAgent extra-headers forwarding (tests/agents/notebook/), LLM probe agents.yaml integration (tests/services/config/test_llm_probe_config.py), and extra_headers dedup/merge in the LLM factory (tests/services/llm/test_factory_provider_exec.py).
Community Contributions
- @DarkGenius — Make LLM probe
max_tokensconfigurable (#321) - @sagnikonly — Improve robust parsing for LaTeX block math (#323)
Full Changelog: v1.1.0-beta...v1.1.0