github Kareadita/Kavita v0.7.2
v0.7.2 - Reading Lists, CBL Support, OPDS Flattening and More!

latest releases: v0.8.3.2, v0.8.3, v0.8.2...
18 months ago

v0.7.2 is finally here and it brings not only a ton of bugfixes, but also some really important additions for Comic collectors. The theme of this release is Stability and Reading Lists, but as you know, along the way new ideas spark.

Let's start with some big hitters:

CBL & Reading List Enhancements
Kavita now has support for Bulk CBL Import and has drastically cleaned up the reading list experience, esp if you have more than 100 chapters in a reading list. First of all, virtualization for reading lists, a range year to understand the years in which the reading list spans, all characters will be shown on reading list detail page, and some cleanup on the styling. Next is CBL import, which is a reading list format that allows easy sharing. Kavita can handle multiple at a time and uses a wizard to process each and every list, prompting you when there are issues to reduce having to delete the list and restart. If CBLs are something you haven't heard of, check out Diesel's lists here.

Epub Reader
The Epub reader got some love this release with Vertical reading support. If you're a fan of reading up and down, you now can! Thanks to @CKolle for taking this effort up, not only do we have Vertical reading support, the code around orienting and aligning images in the reader has been spruced up and should result in a much better experience all around.

Base URL Support
This has been a big ask since day one and we now have it. Thanks to @gmahomarf for helping me get it done and others for helping test it in many different situations. Please note that Base Url is not supported in Docker environments with a non-root user, due to permissions limitations. If this interests you, please raise a PR with a fix.

All in all, there is a ton of polish and performance improvements in this release. Next release will be some time off, I have something big prepared but it will take quite some time to get implemented and polished. I look forward to it landing as I'm sure everyone will enjoy this feature. I also want to give a shout out to the community for following through and raising a ton of issues. As we can all see, it has helped me close them out.

Note: We now have a themes repository. If you are maintaining your own or want to share it with others, please raise a PR for inclusion.

Please update KavitaEmail to latest if you are running your own version. Docker users will need to setup from scratch due to removal of Environment variables

NOTE: If covers don't show, do a hard refresh so new UI code is working

Added

  • Added: Added the ability to import CBL files into Kavita via reading list page or side nav. Kavita uses a multi-step process to ensure you aren't wasting your time on the import. Kavita can handle multiple cbls being imported in one go.
  • Added: Added noindex to prevent SEO from indexing user's sites.
  • Added: (epub reader) Vertical reading mode support added to the web-based book reader. This feature is particularly useful for reading genres like Japanese light novels. (Thanks @CKolle)
  • Added: Edit Reading Lists now allows selection of cover image from existing items
  • Added: Updated Kavita's OPDS-PS implementation to v1.2 to align with upcoming Panels enhancements
  • Added: Added a new Login role which allows you to log in. Admins can now disable accounts by removing the role from user accounts.
  • Added: Series detail page will now show a progress bar under the series image to give a hint to how far completed the series is to being read.
  • Added: New user setting to collapse series that have relationships in the library view. This means if you have Batman and Batman the Sequel linked, only Batman will show on library page.
  • Added: (epub reader) If a page only contains a single image. It gets positioned to the center in column mode
  • Added: (epub reader) Added a check for if the current page only contains a single image. Happens during loading as to not have the image pop in place.
  • Added: Base Url support. This will not work if using Docker with non-root setup. (Thanks @gmahomarf )
  • Added: Added ability to read from incognito from the main series detail button
  • Added: Reading Lists can now have Starting Month/Year and Ending Month/Year. You can use the UI to set it, but during processing of reading list it will be recalculated and set if calculation output is valid. These fields are aimed at showing you a span of a reading list run.
  • Added: CBL Import of upcoming fields (StartYear, StartMonth, EndYear, EndMonth) mapping to the fields above. When importing via CBL, the CBL will take precedence over any calculations. Will not stick if another item added/removed from the list afterwards.
  • Added: New API which allows getting thumbnails (cover image size) for pages within a pdf or archive/image media
  • Added: If CBL has a Summary tag, it will now set the summary in Kavita (this is a proposed enhancement to CBL format)
  • Added: Added parsing support for Series Chapter 001 Volume 001
  • Added: Added ability to override Kavita's XFrameOptions via appsetting.json XFrameOptions key. This is useful for Organizer setups without having to strip from the header.
  • Added: Added rate limiting for a few APIs
  • Added: There is now a donate button on the side nav for all users.
  • Added: Added the ability to create reading lists from ComicInfo StoryArc and AlternativeSeries. The implementation matches Komga to ensure consistent experience for users. Comma-separated values are supported in StoryArc and AlternativeSeries and will build pairs for ordering.
  • Added: Plugin/Authenticate will now return a refresh token with the payload
  • Added: Added ability to emulate comic book with single renderer. This only shows on spread (wide) images
  • Added: New API endpoint to allow scanning all libraries at once
  • Added: All Login dtos now have the active KavitaVersion to make external apps able to handle what version of the API they are connecting with.

Changed

  • Changed: Updated to .NET 7
  • Changed: Enabled nullability analysis in the application. This lets developers catch more edge cases easier
  • Changed: Prompt the user when they are about to delete multiple series via bulk actions
  • Changed: When skipping over folders in a scan, inform the UI event widget
  • Changed: Adjusted the folder watcher to turn off folder watching if too many restarts get triggered
  • Changed: Don't scan .@_thumb directory on QNAP systems
  • Changed: Some time displays in hours will now show days or minutes. This is mainly on the stats page to give an easier way to understand the data.
  • Changed: When hovering over the jumpbar, it will now show how many series for that letter.
  • Changed: User Management account now merges Pending users with other members. Users will still show if they are pending via a badge and different options will be present. This will allow admin's to change a pending user's roles and library access at any time. Side effect is legacy accounts that existed prior to email requirement can now be managed.
  • Changed: After editing a series metadata, run cleanup code for tags, people, and genres to ensure unused entities are removed instead of waiting for a nightly job
  • Changed: (epub reader) Previously the preserveAspectRatio got ignored due to lacking max-width. Meaning that whether an image's aspectRatio gets changed is decided by the book. Because of this, most cover image's aspect ratio would not be preserved. This is now not the case.
  • Changed: When inviting a user, the email is attempted to send on a background thread to not block the UI for up to 30 seconds (
  • Changed: Reading History for user now users average hour read rather than reading events to bring more meaningful data
  • Changed: Many reports of numbers (like 2000 series) are now comma separated
  • Changed: Reading list page will now show all characters from the underlying chapters
  • Changed: Reading list detail page will now restrict drag-and-drop reordering if there are more than 100 items. In this case, virtualization will be used and the reorder numbers in Page Settings can be used instead.
  • Changed: Updated a link on theme manager to point to the new github repo for themes
  • Changed: Kavita will now cleanup reading lists with no items at night
  • Changed: Don't allow nightly cleanup to run if we are currently running a media conversion (like webp conversion)
  • Changed: Added back the online user indicator on manage users page
  • Changed: Updated many inputs to be more friendly on mobile
  • Changed: More aggressively lock to prevent race conditions when editing People, Genres, Tags in Scan loop.
  • Changed: All widget events will now show the title (browser tooltip) to read the cutoff words
  • Changed: Further flattened the OPDS structure so now after a series you have all the items then the acquire links. Max depth is 2 from a series (plus acquire link) (Thanks @therobbiedavis for driving this home)
  • Changed: Optimized the Size property in OPDS acquire links to use pre-computed size to avoid an I/O operation
  • Changed: Sped up Age Rating rendering on the UI
  • Changed: All image access requires an ApiKey in the url
  • Changed: Updated a ton of dependencies including PDF.js to 3.x branch
  • Changed: Tightened up spacing on login page
  • Changed: Disabled IpAddresses and Port controls on server settings for docker users
  • Changed: OPDS queries all use pagination, instead of just some of them
  • Changed: When testing email service, an actual email will send to the user when email service is custom (Requires KavitaEmail v0.1.15.0)
  • Changed: Font Swapping enabled to improve first load
  • Changed: When typing a series name, min, or max filter, press enter to apply metadata filters.
  • Changed: Cleaned up the documentation around MaxCount and TotalCount in Series info
  • Changed: Slight memory consumption savings in Manga reader under bookmark mode.
  • Changed: Moved the bookmarks directory setting to Media tab
  • Changed: Reading list page is now in alphabetical order

Fixed

  • Fixed: Fixed a bug where custom file uploads for entities wouldn't save in webP.
  • Fixed: Fixed a bug where cover chooser base64 to image would fail to write webp files.
  • Fixed: Fixed a bug where convert to webP covers wasn't taking care of Series, Volumes, Reading Lists, Collections, and Libraries.
  • Fixed: Fixed a bug where clearing metadata filter of series name didn't clear the actual field.
  • Fixed: Fixed an issue where setting the localizedSeries on an existing Series could cause duplication or other strange issues
  • Fixed: Fixed a bug where clicking on a genre or tag from server stats wouldn't load all series page in a filtered state
  • Fixed: Fixed a bug where some epubs would report more pages than actual. Fixed by switching to reading order based count rather than raw HTML files
  • Fixed: Checking for updates is now fixed
  • Fixed: Fixed average reading time per week on user stats page
  • Fixed: Slider knobs on firefox should be the primary color, not just on Chrome
  • Fixed: Fixed our api site not being able to hit Kavita instances due to a CORS exception
  • Fixed: Fixed clicking on first page number in progess bar on epub reader's menu not jumping to beginning of the epub
  • Fixed: Fixed a bug where on phone viewports and fit to width, a lot of blank space could show under the image
  • Fixed: Fixed a bug where emulate book mode wasn't fully extending to the bottom of the screen
  • Fixed: Fixed lots of code in the typeahead to make it more stable
  • Fixed: Removed calls to a nonexistent api on manage users page
  • Fixed: Fixed a bug in refresh token to make it more reliable with refreshing and handling invalid tokens. Adjusted when we refresh the token to be longer before expiration.
  • Fixed: Fixed a bug where some images would report the wrong MIME type
  • Fixed: Fixed a bug where continue point would fail to get if a chapter had a range (ie 1-11) inside a volume (volume 1).
  • Fixed: Fixed an issue where an image might be cut off in fit to height in manga reader
  • Fixed: Fixed a sizing issue on page splitting in manga reader
  • Fixed: Fixed a minor issue where search bar when focused would be too big
  • Fixed: Fixed alignment on download icon for download indicators in cards that was slightly offset
  • Fixed: Include progress information on Want To Read API
  • Fixed: Fixed an issue where alert styles were missing
  • Fixed: Fixed an issue where when OPDS was disabled, user preferences page wouldn't alert the user.
  • Fixed: Fixed a regression where confirm-email was validating for a real email, when it's not required
  • Fixed: Fixed fit to height not properly aligning the image in manga reader
  • Fixed: Fixed a bug where epub 3.2 tags were being ignored for series grouping
  • Fixed: Fixed a long standing bug where PublicationStatus wasn't being set correctly in some conditions where it should have
  • Fixed: Fixed bookmark mode not having access to critical page dimensions for the reader. Fetching bookmark info api now returns dimensions by default.
  • Fixed: Fixed pagination scaling code for different fitting options in manga reader
  • Fixed: Fixed missing code to persist page split in manga reader
  • Fixed: Fixed library last scan being stored in UTC, but expected server time
  • Fixed: Fixed a bug where after a series is scanned, generate covers for series didn't respect webp cover generation setting
  • Fixed: Fixed an edge case in finding next/prev chapter when there were only volumes with the same chapter number across all files.
  • Fixed: Fixed theme color on site manifest not being black
  • Fixed: Fixed a bug where reading list item didn't have a not read badge.
  • Fixed: Fixed a bug where resetting to default theme when a theme was deleted was throwing an exception and failing.
  • Fixed: Fixed up a case where getVolume repo method always assumed there was a volume by that Id. (komf)

Breaking API Changes

  • All image access requires an ApiKey with the query parameter in the url. Tachiyomi, Paperback (Kavya), and CDisplayEx have updates to address this. This is backwards compatible. Old servers will ignore the key.

Don't miss a new Kavita release

NewReleases is sending notifications on new releases.