# Develop Changelog This file tracks changes on the `develop` line. `changelog.md` can later be used for release summaries. ## 2026-03-22 - Added blueprint/technical documentation structure in `docs/`. - Completed router split and bootstrap structure (`main.py`, routers, migrations, DB pool). - Expanded media support to EPUB/PDF/CBR/CBZ in import and scan flows. - Expanded Home UI with: - import dropzone for EPUB/PDF/CBR/CBZ - search functionality - alignment matching Library (search top-right, dropzone below) - Updated Library import texts and drag/drop filtering for multi-format support. - Expanded Library `New` view with: - `Grid`/`List` toggle - column visibility filter in `List` - multi-select + bulk `Remove from New` - selection only in `List` mode - `Shift+click` range selection on checkboxes - Added route: `POST /library/new/mark-reviewed` (bulk set `needs_review=false`). - Improved library performance: - `/api/library` fast-path (no full rescan on every page load) - optional `rescan=true` / `include_file_info=true` - SQL optimizations in `list_library_json()` - additional DB indexes for scale - Restored `/api/home` full dataset output: - `continue_reading` - `shorts_unread` - `novels_unread` - `shorts_read` - `novels_read` - Explicitly filtered series books out of Home sections. - Corrected Home read ordering: `shorts_read` and `novels_read` now show oldest first (`ORDER BY MAX(read_at) ASC`). - Restored Statistics page by returning the full `/api/stats` payload required for charts, favorites, top books, and reading history. - Improved backup implementation: - Dropbox token stored encrypted in DB - Dropbox backup root configurable via web UI and stored encrypted in DB - versioned snapshots + object-store deduplication in Dropbox (`library_snapshots` / `library_objects`) - configurable snapshot retention (`snapshots to keep`) via backup settings - object pruning based on retained snapshots - scheduled backup (enable + interval in hours) - backup runs as a background process, so page navigation does not block execution - stale running state recovery after restart/crash (old running logs marked interrupted/error) - dry-run support in the new flow - Updated Docker image with `postgresql-client` for `pg_dump`. - Multiple test builds pushed to `gitea.oskamp.info/ivooskamp/novela:dev`.