0.9.3 — Course learning and bilingual UI
0.9.3 — Course learning, bilingual UI, and review fixes
Since 0.4.3, this release adds folder-based courses, configurable single-choice, multiple-choice, true/false, and short-answer questions, knowledge-point planning, daily study tasks, chapter assessments, and review scheduling. Objective questions are graded locally against answers fixed when the question is created.
Model responses can use a persistent local cache. Agent traces record requests, cache hits, local grading, and failures in the configured vault folder, with a seven-day export. English is the default interface language; Simplified Chinese can be selected in settings. Existing notes, answers, and saved history are preserved.
Settings now provide searchable definitions for Obsidian 1.13+. The native settings tab and the in-view settings modal share the same controls, with English and Simplified Chinese labels. The deprecated settings display override has been removed.
Draft timers and text-area focus restoration use the view's owning window and document. Styles no longer use !important, including reduced-motion rules. Course and trace enumeration starts from the configured folder; the note picker still lists vault Markdown paths for source selection.
A GitHub Actions workflow builds and attests runtime files and creates a draft release for matching version tags. Release assets built by this workflow carry GitHub build provenance. Local builds and previously published assets do not gain proof automatically.
This remains a pre-release. iPhone testing, the seven-day trial, actual-provider quality review, and complete multi-device learning-state synchronization remain open.
Validation: 90 automated tests, bundle and upgrade smoke checks, and 28 isolated Obsidian scenarios passed with 34 fixture HTTP requests. Native settings were tested in an actual Obsidian settings popout, including indexed definitions and English/Chinese switching. Package checks and public-content scans passed. Mobile layouts were emulated, not tested on an iPhone.