--- name: "SmartCovers" guid: "82eef869-3f18-4678-968d-06efc10b60cf" version: "7.5.1.0" targetAbi: "10.11.0.0" framework: "net9.0" overview: "Cover extraction for books, audiobooks, comics, and music — with online fallback via Open Library & Google Books" description: > Cover provider for Jellyfin libraries. Renders PDF first pages via built-in PDFium, searches EPUB archives for cover images, extracts the first page from CBZ/CBR comic archives, and extracts embedded artwork from audio files via ffmpeg. When local extraction fails, automatically fetches covers from Open Library and Google Books as a last resort. No external tools required for PDF, EPUB or comic extraction. Supports folder-based audiobooks, sidecar images, and handles mislabeled codec tags in ID3. category: "General" owner: "GeiserX" artifacts: - "SmartCovers.dll" - "PDFtoImage.lib" - "THIRD-PARTY-NOTICES.md" # Jellyfin loads ONLY the assemblies listed here and skips every other *.dll in # the plugin folder (including the bundled native pdfium.dll, which would # otherwise throw BadImageFormatException and disable the plugin). The canonical # copy of this whitelist is written into the zip's meta.json by the CI # "Create plugin package" step; this entry keeps the build descriptor consistent. assemblies: - "SmartCovers.dll" changelog: > v7.5.0: Tracks take their book folder's poster; ISBN-first lookup; Anna's Archive names, EPUB OPF title/author and track tags; Open Library free-text search for translated titles; optional Google Books API key; optional drawn title and author cover; nightly task logs why each book is still blank. v6.0.0: Renamed to SmartCovers (Jellyfin branding compliance). v5.0.0: Renamed to Jelly Covers. New namespace, config page with native Jellyfin components, per-library enable/disable toggle, dashboard sidebar entry. v4.0.0: Online cover fetching via Open Library and Google Books. v3.0.0: Audiobook cover extraction via ffmpeg raw stream copy.