v0.10.0 Release Notes
NB: Major update. Esp. refactor of AI behavior and domains -- you are advised to manually back up as those are likely to break with this update.
New Features
Behavior System Overhaul
- Moved from hardcoded behaviors to file-based system (
.md/.txtfiles) - 5 Built-in behaviors: Mini (~220 tokens), Standard (~420 tokens), Full (~1150 tokens), Research Standard (~470 tokens), Translator Direct (~80 tokens)
- 25+ sample behaviors in
behaviors.sample/including provider-inspired styles (Claude, GPT, Gemini, Grok, DeepSeek, Perplexity) and specialized options (Scholarly, Religious, Creative, Translator) -- Test them by copying to behaviors/ folder - New Manage Behaviors UI (Settings → Advanced → Manage Behaviors)
- Per-action behavior overrides via
behavior_variantandbehavior_overridefields - Metadata support in behavior files (Source, Date, Notes, Tokens via
<!-- -->comments)
Domain System Overhaul
- Similar restructure to file-based system
- 1 Built-in domain: Critical Reader (~250 tokens) for analytical reading (sample domain)
- 8+ more sample domains in
domains.sample/: Classical Arabic, Classical Chinese, Contemplative Reading, Depth Reading, History of Ideas, Mediated Mind, Synthesis. Copy to domains/ folder to test - New Manage Domains UI (Settings → Advanced → Manage Domains)
API Key Management via UI
- New API Keys menu (Tools → KOAssistant → API Keys)
- Keys entered via UI override
apikeys.luafile-based keys - Keys displayed semi-blurred for security
- Status indicators:
[set]for GUI keys,(file)for file-based
Chat Viewer Enhancements
- Clickable links in AI responses with auto-linkify for plain URLs
- Link dialog: Copy, Show QR Code, Open in Browser, Add to Wallabag (matches KOReader native format)
- Settings icon (gear) in viewer title bar
- Font size adjustment (12-32pt spinner)
- Text alignment picker: Left, Justified, Right (RTL support)
- Quick tagging (#) button directly from chat viewer
- Square bracket escaping to prevent
[phonetic]text rendering as links
Enhanced AI Quick Settings
- Redesigned two-column layout
- New settings: Domain selector, Streaming toggle, Primary Language, Translation Language
- "More Settings..." button for full settings access
New Gesture Actions
- Domain selection gestures
- Behavior selection gestures
Skip Language Instruction
- New
skip_language_instructionfield for actions - Translate action now uses this to avoid conflicts with target language
Markdown Release Notes
- Update checker now renders release notes with proper markdown formatting
Improvements
- Larger reply input field in chat viewer
- Load Built-in selector in behavior manager (replaces separate Mini/Standard buttons)
- Metadata display for behaviors showing Source, Date, Notes from file comments
- Better behavior names shown in action details (friendly names instead of IDs)
- Test web UI now loads behaviors from
/api/behaviors(matches plugin behavior) - Improved README documentation with feature tables and setup guides
Bug Fixes
- Fixed behavior fallback logic when custom behaviors not found
- Fixed translation conflicts with primary language passing
- Fixed message requests in test/webui for actions with their own prompt templates
- Fixed hardcoded references to behaviors in system prompts
Developer Changes
- Pre-commit hook added (
git config core.hooksPath hooks/)- Luacheck linting for Lua errors
- Reminder for
_shadowing pattern (gettext bug prevention)
.luacheckrcconfiguration file for consistent linting- 111+ unit tests: 63 system prompts, 22 streaming, 26 loader tests
Translations
- Updated pt_BR (Portuguese/Brazilian) translations from Weblate
Migration Notes
ai_behavior_variantsetting replaced byselected_behaviorcustom_ai_behaviorstring replaced bycustom_behaviorsarray- User behaviors/domains now go in
behaviors/anddomains/folders (not tracked in git) - Copy desired files from
behaviors.sample/anddomains.sample/to user folders
Full Changelog: v0.9.1...v0.10.0