Skip to content

v0.7.3 - The Quality of Life Update

Compare
Choose a tag to compare
@majora2007 majora2007 released this 07 Jun 12:54
· 998 commits to develop since this release

v0.7.3 is here and quite quickly from the last release. v0.7.3 was originally designed to be a release where I would bring a really awesome set of features I've been dreaming about, but unfortunately, I hit challenge after challenge each step of the way. Instead of making the community wait months for me to solve all the challenges with them, I decided to release early and keep working on them slowly in the background. With that in mind, you will still see some nice additions to Kavita in this release and a heck of a lot of polish all around. Let's get into it.

Web Links
This is something I am most excited about and have been really enjoying, especially for something coming in v0.7.4. Web links are external websites that have some relation to a series, like an AniList entry, a Plex entry, etc. A series can have many different weblinks and Kavita will attempt to download a favicon for the website, else fallback to Kavita's own icon (you can raise a PR and submit one yourself).

image

Streamlined EncodeAs
Kavita has offered the ability to save covers and bookmarks in WebP or the default png for quite some versions, but in Kavita v0.7.3, we added AVIF support. What if users wanted to save their media in AVIF instead of WebP? This release, we redesigned the encoding process so you have full control over what is used. (Note: You MUST update the Save As Encoding if you were previously using WebP. This update will not carry that over for you.)

Media Errors
This is one I took inspiration from Komga, but have you ever had Kavita not pickup on a file and wondered why? Did you not want to search through the logs to figure it out? Well now, you can just go to Admin -> Media and see a list of all issues present during a scan (and even when you open Epubs for reading). This is extremely helpful and should help those with massive collections find what Kavita doesn't process.

EPUB Love
This release I also spent a lot of time working on the epub parser so that Kavita could support reading list and collection generation from epubs, much like we have with ComicInfo.xml. Tons of work went into table of content generation (when there isn't one in the epub file), link mapping, css support, etc. Overall the book reader should perform much better and have more true-to-the-book rendering.

Overall this release is full of quality of life enhancements and polish. Next release I have something interesting in store. Thank you to all that have helped out in this release, especially those who gathered the many favicons. I appreciate all you do.

Added

  • Added: Kavita will now report basic information to the user on when media errors occur, like invalid structural metadata (epubs) or bad archives. This can be found in Admin -> Media tab. Please provide feedback so we can tweak the experience.
  • Added: Kavita can now create Collections from title-type='collection' tags and reading lists when accompanied by display-seq and a count > 0. See the wiki for updated documentation.
  • Added: Epubs can now use the refines=file-as to explicitly set sort title, which will override taking from belongs-to-collection or calibre:series
  • Added: Added basic ISBN search which will show the chapter
  • Added: Explicitly capture more people roles from Epubs. Now, translator, artist, publisher, editor, etc can all be extracted from refines tags.
  • Added: Added support for building reading lists and collections from Epubs
  • Added: Paper book reader theme
  • Added: Added the ability to import multiple comma separated links from the Web tag from ComicInfo.xml and view them on Chapter level details
  • Added: Added the ability to add multiple links at Series level and thus the ability to click them from within Kavita
  • Added: Weblinks can now fallback to Kavita hosted favicons (on our main site), thus enabling a way for the community to submit ones which Kavita cannot parse that will benefit all installs.
  • Added: Added ISBN support for Chapters in Kavita. This can be parsed from epubs (isbn) or ComicInfo.xml (GTIN from 2.1 Spec). For GTIN, note that ISBN-10 are not supported. Valid ISBNs only will be saved, invalids will be rejected.
  • Added: Kavita now supports AVIF (8-bit only) out of the box. 10-bit will not work.
  • Added: You can now use AVIF for saving Kavita managed files (covers, bookmarks, favicons)

Changed

  • Changed: Removed an additional ComicInfo read when comicinfo is null when trying to load. But we've already done it once earlier, so there really isn't any point.
  • Changed: How we check if a container is docker or not has been streamlined and hopefully more reliable (This fixes saving server settings for Unraid issues)
  • Changed: Expanded Table of Contents generation (aka where Kavita tries to generate a simple one with epub doesn't have one) to also check for navigation.xhtml as well as toc.xhtml.
  • Changed: Updated EpubReader to v3.3.0 which adds Epub 3.3 support
  • Changed: Added more page hacks when invalid keys are used in the epub when rewriting anchors
  • Changed: Updated the app to Angular 16. No user facing changes.
  • Changed: Strip more forms of comments (especially ones that shouldn't be in CSS files) from CSS before parsing/inlining in epub reader
  • Changed: Handle if ExCSS throws an exception during inlining and attempt to fallback to scoping css instead of inlining.
  • Changed: When there are duplicate files that make up a volume, show the count on series detail page, like we do with chapters
  • Changed: Authentication now expires after 2 days. Refresh tokens will attempt to keep user logged in by refreshing authentication every 10 minutes.
  • Changed: Removed old migrations for Kavita startup. Only migrations from v0.72 onwards are present.
  • Changed: Disable login button when a login is in-progress. This can help prevent lock out.
  • Changed: (API) Added NoContent responses when APIs don't find entities
  • Changed: Reading list page refreshes after updating info in the modal
  • Changed: Updated initial install default keys to be 256 bits for the encryption. You may be logged out and have to reauthenticate or change your token key to "super secret unguessable key" and restart (which will allow Kavita to regenerate the key for you). This is in config/appsettings.json
  • Changed: Modified the docker entrypoint script to copy in the appsettings.json config rather than manually write a new one via echo
  • Changed: When rounding bytes to human readable (ie 2MB), if there is a decimal that is not .0, show it
  • Changed: (BREAKING CHANGE) Save Bookmarks/Covers as WebP has been removed. There is a new setting called Encode Media As. This will allow you to select PNG, WebP, and AVIF. All Kavita managed media (bookmarks, covers, favicons) will use that globally. You cannot convert from WebP/AVIF back to PNG. For covers, you will have to regenerate them. Bookmarks and favicons cannot be changed back. (favicons can be deleted manually by admin and regenerated naturally)
  • Changed: Streamlined tasks for convert to offer just a single task that does everything.
  • Changed: Moved to using pre-calculated extension for sending stats rather than doing it on the fly
  • Changed: When adding a rating for a series for the first time, don't prompt to write a review.
  • Changed: Refresh tokens will now reauthenticate every 10 mins to ideally never let a user have to log out
  • Changed: Expanded the range of time in which a version update check can occur
  • Changed: Reading list page refreshes after updating info in the modal

Fixed

  • Fixed: Added better fallback implementation for building table of contents based on the many different ways epubs are packed and referenced.
  • Fixed: Fixed docker users unable to save settings
  • Fixed: Fixed a bug in mappings (keys/files) to pages that caused some links not to map appropriately.
  • Fixed: Fixed a bug where continue reading was wrong in an edge case scenario
  • Fixed: Fixed another edge case where continue reading opened the wrong chapter
  • Fixed: Fixed an issue where jumpbar would be disabled when it shouldn't, like on bookmarks page
  • Fixed: Fixed processing logic error that if StoryArcNumber is empty, then multiple StoryArc's are not processed (similar would occur if multiple StoryArcNumber's are present for a single StoryArc).
  • Fixed: Fixed inclusion of spaces in multiple StoryArc's due to ', ' as a common CSV format.
  • Fixed: Fixed a bug where an empty space could throw an error when creating a library.
  • Fixed: Fixed a bug where spreads could stretch on PC
  • Fixed: Fixed a bug where reading list dates couldn't be cleared out
  • Fixed: Fixed an issue where create library wouldn't take into account advanced settings
  • Fixed: Fixed an issue where selection of the first chapter of a series to pull series-level metadata could fail in cases where you had Volume 2 and Chapter 1, Volume 2 would be selected.
  • Fixed: Fixed a bug which caused refresh token to always return invalid
  • Fixed: Fixed a bug where Kavita couldn't parse Series name when there was no volume/chapter keywords and a chapter range (ie Series 001-003)
  • Fixed: Encode filenames before sending them to the UI for downloading to prevent non-english characters being replaced by underscore
  • Fixed: Added support to parse ComicInfo.xml when they have empty single tags
  • Fixed: Fixed a bug where spreads could stretch on PC in manga reader
  • Fixed: Fixed a bug where reading list dates couldn't be cleared out
  • Fixed: Fixed an issue where create library wouldn't take into account advanced settings
  • Fixed: Fixed an issue where selection of the first chapter of a series to pull series-level metadata could fail in cases where you had Volume 2 and Chapter 1, Volume 2 would be selected.
  • Fixed: Fixed a bug where scan series wouldn't trigger word count analysis nor cover generation.
  • Fixed: Fixed a bug where reading list ending month wouldn't render correctly
  • Fixed: Fixed a slight offset in reading list item not read badge
  • Fixed: Fixed a bug where reading list month wasn't rendering correctly