Skip to content

Releases: chadleeshaw/curator

v1.3.5

Choose a tag to compare

@github-actions github-actions released this 03 Mar 04:34

What's Changed

  • fix: security hardening, deadlock fix, and correctness improvements (82e5493)

Docker Image

docker pull ghcr.io/chadleeshaw/curator:v1.3.5

Full Changelog: v1.3.4...v1.3.5

Full Changelog: v1.3.4...v1.3.5

v1.3.4

Choose a tag to compare

@github-actions github-actions released this 02 Mar 16:28
910b837

What's Changed

  • Shorten card issue count labels to prevent text wrapping (#25) (910b837)
  • chore: bump version to 1.3.4 (ffbf91c)
  • fix: toast notification system, search provider test connection, UI polish, and Playwright tests (9fceaec)

Docker Image

docker pull ghcr.io/chadleeshaw/curator:v1.3.4

Full Changelog: v1.3.3...v1.3.4

What's Changed

  • Shorten card issue count labels to prevent text wrapping by @chadleeshaw in #25

Full Changelog: v1.3.3...v1.3.4

v1.3.3

Choose a tag to compare

@github-actions github-actions released this 28 Feb 23:49

What's Changed

  • chore: bump version to 1.3.3 (367571d)
  • fix: load sidebar thumbnails via authenticated fetch with IntersectionObserver (96f9d8c)
  • fix: use APIClient.authenticatedFetch instead of nonexistent APIClient.fetch (2af9bac)
  • fix: fetch PDF/comic pages with auth header to fix missing authentication error (6b0b252)
  • fix: remove auth from cover GET endpoint so browser img tags load correctly (dbaff6f)
  • test: update fixtures for auth overrides and SSE ticket mechanism (4c1f5ad)
  • fix: add ESLint glob, worker teardown, cache eviction, and blob URL cleanup (c85e324)
  • fix: resolve N+1 queries with batch-fetched counts in tracking list (c7e72ae)
  • security: add CSRF middleware, request size limits, and error hardening (d821f06)
  • security: fix XSS vulnerabilities by escaping innerHTML assignments (29fe0d1)
  • security: replace SSE token-in-URL with one-time ticket mechanism (548e206)
  • security: add authentication to all API endpoints (1dc5938)

Docker Image

docker pull ghcr.io/chadleeshaw/curator:v1.3.3

Full Changelog: v1.3.2...v1.3.3

Full Changelog: v1.3.2...v1.3.3

v1.3.2

Choose a tag to compare

@chadleeshaw chadleeshaw released this 28 Feb 18:27

What's Changed

  • chore: bump package.json version to 1.3.2 (0a4b7a7)
  • fix: replace emoji with SVG icons and fix UI layout issues (5f81af2)
  • fix: improve mobile card grid layout and spacing consistency (2c78a3e)

Docker Image

docker pull ghcr.io/chadleeshaw/curator:v1.3.2

Full Changelog: v1.3.1...v1.3.2

v1.3.1

Choose a tag to compare

@chadleeshaw chadleeshaw released this 27 Feb 23:41

What's Changed

  • style: add icons for category, language, country, and issues on tracking cards (ae1d677)
  • style: update icons to layers motif and refresh screenshots for v1.3.1 (510b895)

Docker Image

docker pull ghcr.io/chadleeshaw/curator:v1.3.1

Full Changelog: v1.3.0...v1.3.1

v1.3.0

Choose a tag to compare

@chadleeshaw chadleeshaw released this 27 Feb 23:09

What's Changed

  • style: set card grid minimum to 174px for consistent 6-column layout (a9a0820)
  • smaller cards (f2b99d1)
  • refactor: Material Design 3 UI overhaul (#24) (36bcae3)
  • style: remove redundant local imports in test_medium_severity_fixes (d247fd0)
  • fix: follow HTTP redirects when fetching NZB content from Prowlarr/Newsnab (a9c8f00)
  • style: apply Black formatting and fix orphaned docstring (9d1f99d)
  • fix: percent-encode filenames in IA download URLs to handle # and special chars (e0671e1)
  • fix comments (3d065fd)
  • style: apply Black formatting (bf553bf)
  • fix: suppress false-positive dedup warning for bare-number issue titles (d768cfa)
  • style: apply Black formatting to production code files (9f265c4)
  • fix: add user_id=1 to all user-scoped model INSERTs and fix CSRF samesite (709588e)
  • fix: resolve all CI lint warnings in pylint and eslint (9f03cdb)
  • fix: name foreign key constraints in migration 002 for SQLite batch mode (c9eb0e8)
  • feat: multi-user auth with admin controls, migrations, and security hardening (#23) (3a42817)

Docker Image

docker pull ghcr.io/chadleeshaw/curator:v1.3.0

Full Changelog: v1.2.0...v1.3.0

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 24 Feb 21:32

What's Changed

  • style: apply Black formatting to test_ocr_benchmarks.py (5186a86)
  • chore: fix package.json metadata and bump version to 1.2.0 (24415ea)
  • test: remove benchmarks for preprocessing techniques not used in production (8b3cf3d)
  • refactor: remove unused BaseReader abstract class (5c07666)
  • chore: upgrade fastapi, uvicorn, python-multipart, aiofiles dependencies (2165be9)
  • docs: add Torznab search provider and qBittorrent download client documentation (78b29f3)
  • Dead Code Clean Up (#22) (c7ec7b9)
  • fix: resolve bulk download hang by queuing issues instead of submitting synchronously (965e70c)
  • fix: improve issue parsing, search grouping, and language/country defaults (a05918a)
  • fix: resolve 20 UI bugs and add mobile zoom panning in page reader (d1ee88a)
  • fix: resolve bulk downloader bugs in backend and UI (8c679b1)
  • fix: prevent volume/issue dedup key collisions for unparseable titles (a40e23c)
  • fix: correct status field for library-matched provider results (eb6e390)
  • fix ui search to show all in library (80e2385)
  • fix: apply code review fixes for SSE notify callback implementation (afd6527)
  • fix: wire SSE live updates to correct tab ID and refresh open modals (8ced496)
  • feat: add IA download resume and SSE real-time queue updates (402ac0d)
  • fix: inject correct BUILD_VERSION into Docker image on branch builds (7fdec08)
  • fix: don't cache version when git fails and falls back to package.json (97058d4)
  • chore: bump package.json version to 1.1.0 (24dff38)
  • fix: persist extra_metadata changes and consolidate delete transaction (d49773a)
  • fix: suppress collection filter when query itself contains a collection word (619f573)
  • Merge branch 'claude/code-review-TcXQw' into main (aa7523c)
  • fix: address remaining code review findings from session two (1dc142b)
  • fix: add pending and processing filters to OCR queue modal (5ef0230)
  • fix: remove redundant assignment and correct type annotations (514df99)
  • fix: address remaining code review findings (2d2f3cf)
  • fix: address code review findings in qBittorrent and Torznab implementation (d40e172)
  • feat: add Torznab to settings UI provider type dropdown (c784679)
  • style: apply Black formatting to pylint-cleanup files (7b2c8fb)
  • fix: align submit() parameter names with base interface (b3016aa)
  • style: apply Black formatting to new and modified files (2717eb9)
  • feat: add qBittorrent client and Torznab search provider (adc3641)
  • fix: correct DownloadSubmission query and enum usage in bulk delete (8129d56)
  • increase max workers (255100a)
  • fix: correct periodical re-evaluation bug and improve test quality (036b806)
  • docs: update AGENTS.md with download/ subdirectory and canonical submission path (1b6dda6)
  • refactor: remove submit_download bypass path and dead download_selected_editions code (6276c2b)
  • fix: harden matching and deduplication logic (7f0408e)
  • fix: harden database, download manager, and importer against security and concurrency bugs (b191703)
  • refactor: named constants, deduplicate helpers, promote deferred imports (d3077ac)
  • refactor: move constants to core, remove dead code, fix stale imports (8ee9fce)
  • refactor: rename magazine identifiers to periodical throughout codebase (2dfefd7)
  • fix: handle naive datetimes in UTCDateTime type for backward compatibility (12afd2c)
  • fix blocking scheduled tasks fix UTC time in db use library for async tasks (30ce33c)

Docker Image

docker pull ghcr.io/chadleeshaw/curator:v1.2.0

Full Changelog: v1.1.0...v1.2.0

What's Changed

Full Changelog: v1.1.0...v1.2.0

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Feb 01:01

Changelog

v1.1.0 (Unreleased)

New Features

Internet Archive Integration

Free access to millions of magazines, comics, and newspapers from archive.org.

  • Native Internet Archive search provider with collection filtering
  • Built-in HTTP download client (no external download manager needed)
  • Support for PDF, EPUB, ZIP, and GZIP archive formats
  • Automatic extraction of periodicals from collection archives
  • Prioritized in search results when available
  • Optional authentication for restricted items
  • Direct downloads without NZB client

Configure in config.yaml:

search_providers:
  - type: internet_archive
    name: Internet Archive
    enabled: true
    priority: 1
    collections:
      - magazines
      - periodicals
      - comics

Stacks

Organize periodicals into custom collections.

  • Create named stacks (e.g., "Sci-Fi Magazines", "Vintage Comics")
  • Add periodicals or tracking items to stacks
  • View stack-specific library and tracking pages
  • Custom stack covers and descriptions
  • Category filtering and sorting
  • Bulk operations within stacks
  • Stack membership tracking

Use cases:

  • Group related periodicals by theme or era
  • Organize reading lists
  • Separate personal vs. shared collections
  • Track series across multiple periodical titles

Volume Support

Full volume number parsing and display throughout the application.

  • Extract volume numbers from filenames and metadata
  • Display volumes in search results and library
  • Sort by volume in addition to date and issue
  • Support for bare volume shorthand (e.g., "v12")
  • Volume-aware issue discovery and tracking
  • Improved matching for multi-volume series

Bulk Operations

Perform actions on multiple periodicals at once.

  • Bulk move to different categories
  • Bulk delete periodicals
  • Bulk regenerate cover images
  • Bulk download from search results
  • Bulk add to stacks
  • Operations work within stack context

Enhanced Cover Processing

Improved cover image extraction and display.

  • Landscape PDF covers automatically cropped to right half
  • Custom cover upload per periodical
  • Regenerate cover images on demand
  • Better thumbnail generation performance
  • Cover cleanup scheduler removes orphaned images

Special Editions

Better handling of special edition periodicals.

  • Parse special edition markers from titles
  • Display special edition status in UI
  • Track special editions separately or with regular issues
  • Improved matching for variant covers and editions

Improvements

Search & Discovery

  • Cache-aware search optimization reduces provider API calls
  • Improved fuzzy matching with caching for performance
  • Country and language filtering in search results
  • Better in-library detection to prevent duplicate downloads
  • Enhanced deduplication across providers
  • Issue discovery improvements for tracked periodicals

Parsing & Metadata

  • Enhanced title parsing with better special character handling
  • Improved date extraction from filenames and metadata
  • Better handling of volumes in titles
  • Refined special edition detection
  • More robust country and language parsing
  • Support for more date formats and patterns

Performance

  • OCR processing speed improvements:
    • DPI reduction for faster processing
    • Image resizing before OCR
    • Parallel PNG generation
  • Optimized fuzzy matching with result caching
  • Reduced memory usage in OCR pipeline
  • Better handling of large collections

UI/UX

  • Mobile-responsive layout improvements
  • Better tracking page mobile layout
  • Improved sort options (by date, volume, issue, latest)
  • Enhanced download queue UI
  • Better breadcrumb navigation with title case
  • Collapsible sections for better organization
  • Month grouping fixes in library view
  • Improved variant terminology and display

Rate Limiting & Caching

  • Provider-aware retry logic
  • Better rate limit detection and handling
  • Cache system refactoring for reliability
  • Feed sync optimization for RSS providers
  • Reduced API calls with intelligent caching

Download Management

  • Routing based on provider type (Internet Archive vs. NZB)
  • Better handling of non-regular files in cleanup
  • Improved download progress tracking
  • Category-aware download organization
  • Support for direct HTTP downloads alongside NZB

Bug Fixes

  • Fixed infinite import loops with non-regular files
  • Fixed timezone handling across codebase
  • Fixed month matching in partial filename parsing
  • Fixed search filter application
  • Fixed stack membership for special editions
  • Fixed NZB category handling
  • Fixed periodical sort ordering
  • Fixed cache busting issues
  • Fixed stale data errors in UI
  • Fixed test connection for NZB clients
  • Changed country mismatch from blocking to penalty-based matching
  • Fixed video files with extensions in titles bypassing filters
  • Replaced deprecated datetime.utcnow() with utc_now()
  • Fixed missing all_providers_rate_limited property
  • Fixed database migration for legacy provider names

Configuration Changes

  • Added download_clients.internet_archive section for IA downloads
  • Added collections and file_formats to Internet Archive provider config
  • Expanded provider priority system (lower number = higher priority)
  • Added optional IA authentication (username, password)
  • More detailed rate limiting controls per provider
  • Enhanced OCR configuration options

Development

  • Removed verbose agent prompts from .github/prompts/
  • Updated CI/CD pipeline
  • Black formatter version update
  • Enhanced test coverage for new features
  • Performance benchmarking for OCR and API
  • Code review and refactoring improvements

Full Changelog: v1.0.0...v1.1.0

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Feb 00:02

What's Changed

  • change expansion log add cache db migration (47883bb)
  • fix sorting in tracking move location of restart button (e9cc89a)
  • fix: use static prefix for SHA tags to avoid invalid tag format (8895894)
  • Release v1.0.0 (42611bd)
  • init (55bba1c)

Docker Image

docker pull ghcr.io/chadleeshaw/curator:v1.0.0

Full Changelog: ...v1.0.0

What's Changed

Full Changelog: https://github.com/chadleeshaw/curator/commits/v1.0.0