- Bulk Import page: filename pattern parsing, shared metadata, duplicate detection (volume-aware), batch upload with progress - Following page: track external author URLs; authors table; sidebar counter - Incomplete view: non-archived books with publication_status ≠ Complete - Status: added Temporary Hold, renamed Hiatus → Long-Term Hold; statusBadgeHtml() helper - Status/want-to-read badges: dark fill + ring for readability on any cover colour - Disk usage warning in sidebar (amber/red thresholds) - Bulk delete batched via POST /library/bulk-delete - CBR: magic bytes format detection + py7zr 7-zip support; unrar → proprietary unrar v6 - Performance: IntersectionObserver lazy covers, ETag 304, single DOM pass, json_agg tags - Duplicate detection in library and Convert page warning - All books Grid/List toggle; star ratings; reader text colour presets; bookmarks - Docs: TECHNICAL.md and changelog updated Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 lines
270 B
Plaintext
16 lines
270 B
Plaintext
fastapi==0.115.5
|
|
uvicorn[standard]==0.32.1
|
|
httpx==0.27.2
|
|
beautifulsoup4==4.12.3
|
|
lxml==5.3.0
|
|
python-multipart==0.0.12
|
|
psycopg2-binary==2.9.10
|
|
jinja2==3.1.4
|
|
Pillow==11.0.0
|
|
pymupdf==1.24.0
|
|
rarfile==4.2
|
|
py7zr==0.22.0
|
|
dropbox==12.0.2
|
|
apscheduler==3.10.4
|
|
cryptography==44.0.1
|