✨ What's New
🚀 New
- Speech SDK Integration: Added
speech-sdkas a fifth built-in TTS provider backed by@speech-sdk/core. This enables direct connection to providers like ElevenLabs, Cartesia, Deepgram, Google, Inworld, and more using your own API credentials (resolves #117, PR #118 by @btpod). - Enhanced Worker Monitoring: Implemented detailed periodic idle status logging and reason-based activity tracking inside the compute worker to simplify troubleshooting of idle and disconnect states.
⚡ Improved
- Modular Monorepo Architecture: Decoupled the database schema, migrations, and initialization code into a separate
@openreader/databasepackage, and isolated the compute worker (packages/compute-worker) with a defined OpenAPI contract, decoupling PDF parsing/rendering and Whisper alignment from the Next.js API server bundle (PR #122). - Path Resolution & Docker Support: Standardized workspace root resolution for database migrations, bootstrap scripts, and
docstorefile storage, and added unified Docker Compose configurations (local-slim,local-full) and setup guides (resolves #120, PR #122).
🐛 Fixed
- Viewport Resize Highlight Restoration: Restored PDF text highlights dynamically after a viewport resize event, maintaining stable progress and visual positioning (resolves #119, PR #123).
- Logout Session Management: Prevented unwanted anonymous sessions from being generated during the logout redirect flow, protecting user preferences and global settings.
Full Changelog: v4.2.2...v4.3.0