Skip to content

Releases: linuxserver/docker-kavita

v0.7.10.2-ls12

30 Oct 23:06
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

Sorry for the second hotfix. The first one didn't take.

Fixed

  • Fixed: Seriously fixed the invite user flow this time
  • Fixed: Fixed a lack of an error being presented to the UI when inviting a user failed

v0.7.10.1-ls11

29 Oct 20:06
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

Unfortunately in the last release, the fix that I made to smart filters did not take and part of the encoder/decoder broke. This hotfix fixes it, however, you will likely have to manually fix every filter. I really apologize for this, but the underlying issue escaped over a month of testing and the fix was minor but impacting.

In other news, I worked with Dani this weekend from the Panels team and built a few APIs for them to hook in and report progress to Kavita via the API. This new Panels should be coming in the coming week.

Added

  • Added: Added APIs for Panels to synchronize progress. This means as of this version, OPDS-PS with Panels explicitly will not automatically track progress.

Changed

  • Changed: Added a saveProgress flag as optional on page streaming links for other apps if they want to suppress the progress saving feature.

Fixed

  • Fixed: Fixed: Fixed a bug from v0.7.10 that caused smart filters to fail to load/save due to encoding issues.
  • Fixed: Fixed a bug where side nav wasn't properly using the correct name for rendering

v0.7.10-ls10

28 Oct 18:02
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

Another release so soon? Unfortunately, a critical bug was found from v0.7.9 which prevented inviting new users to Kavita servers which means I had to cut the release short. This release is mainly bug fixes, but there is one new feature for you, which so far from testing is pretty cool.

This release adds a new feature called Next Estimated Chapter. By using the underlying volumes and chapters in a Series and when Kavita Scanned them, as long as there is enough information and the Series is On Going or Ended, Kavita will calculate when the next chapter/volume should be available to read. The dates are of course estimated and from testing and a lot of math, I believe I've accounted for the different acquisition methods to predict a pretty close date. I am also exploring potentially expanding this to provide more accurate dates from external metadata via Kavita+.

This release also adds some changes to how Kavita talks to the DB to help with some contention. Please raise an issue if you're suddenly seeing issues in day to day use.

I will likely continue v0.7.11 with more bugfixes, as I've let them build up due to building out such big features.

Note: There was a build pipeline issue and docker users on the Stable were shipped an early version of the Next Expected Chapter. This release has completely different code

Added

  • Added: Added a button in Tasks to bust locale cache, which can sometimes get stuck
  • Added: Added a new chapter/volume card (list view not implemented yet) for Series that are On Going or Ended, that uses the delta times between each chapter being added to estimate when the next chapter should be available on the server.

Changed

  • Changed: When testing email service, when successful, it will return the version number back to you. Email version will not show when using default mailer.
  • Changed: Tweaked the pooling for DB Connections. This should reduce database is locked and other contention issues.
  • Changed: Don't create a scrobbling event when there is literally no reading progress
  • Changed: Favicons on series detail all now have a bit of rounding
  • Changed: Epub marc:relators will now map illustrator to Inker instead of Letterer
  • Changed: When you are no longer authenticated in the UI, Kavita no longer pops a toasts and just redirects you
  • Changed: Email flows will now check the email to see if it's in a valid format. If not, it will skip any email code and let you know that due to not having a valid-looking email, no email is sent and check the logs.
  • Changed: Tweaked the wording for invite user modal.
  • Changed: After inviting a user, the invite modal will hide the instructions from the pre-invite step.
  • Changed: (Kavita+) If scrobbling a series that is already completed in AniList and Kavita is not completed, Kavita+ will no longer update the status to in progress.
  • Changed: Updated Translations

Fixed

  • Fixed: Fixed a bug where a Ended series could get flagged as Completed Publication Status
  • Fixed: Fixed an issue where sorting by Last Read progress could incorrectly order the series if another user had recently read that Series.
  • that Series.
  • Fixed: Fixed an issue where Smart Filters that had a value with a space would resume as a Smart Filter with +, thus breaking the filter.
  • Fixed: Fixed an issue where table of contents in dark mode in the pdf reader wouldn't be readable
  • Fixed: Fixed a bug where the filter wouldn't reflect the correct sorting icon when loading a smart filter
  • Fixed: Fixed an issue where email links could generate with // in them
  • Fixed: Don't allow the scanner to accept any themes with a space in their filename
  • Fixed: When saving an email url, ensure ending / is removed
  • Fixed: Fixed a parsing issue on non-English systems where ComicInfo had a , instead of a .
  • Fixed: Fixed a bug where Series last read date could be updated just by opening a chapter in the reader
  • Fixed: Fixed an annoying issue where non-English OS Locale's could have weird grouping with chapters that are not whole numbers
  • Fixed: Fixed an issue where favicons that have a url starting with www. wasn't properly saving to directory
  • Fixed: Fixed a bug where notification in events widget when there was a problem reading epub word count didn't show the filename like it should have. Same issue with when a Series has an issue, the series name wasn't being shown.
  • Fixed: Fixed a bug where side nav wasn't refreshing automatically when a user renamed a library
  • Fixed: Fixed a bug where the typeahead in Series Metadata would blank out the field when adding 2 new tags in one go
  • Fixed: Fixed an issue in cover chooser for a volume where the first try it wouldn't save the cover image
  • Fixed: Fixed a bug where the redirection after needing manual authentication wasn't working
  • Fixed: Some users complained that locale was missing when saving preferences from the reader.
  • Fixed: Fixed an edge case where a series of only volumes and a special, the special would be chosen for Series Metadata
  • Fixed: Fixed a critical issue where new users weren't able to be created due to a constraint with default streams.
  • Fixed: Fixed some bad series name parsing with pure Korean filenames.
  • Fixed: Fixed up some minor styling issues on the admin dashboard.

Removed

  • Removed: Removed a bunch of migrations from v0.7.2 through v0.7.6

v0.7.9-ls9

20 Oct 13:12
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

v0.7.9 is here and brings along with it major changes in the customization that Kavita provides it's users out of the box. This has been something I've been wanting to work on for over a year now, but as with all things, finding time and balancing new features and their order doesn't always go as planned.

This release brings 3 major customization features: Dashboard, Side Nav, and External Sources plus Series Preview for Kavita+ users. These features are for all users, not just admins. Let's dive in.

Dashboard

Have you ever wanted On Deck to work differently? Do you not need Newly Added series on your dashboard or perhaps want a filtered list of series easily available? This feature is for you. As of this release, you can first build a custom filter and save it as a Smart Filter. This is a live filter that can be modified at any time and will reflect everywhere it's binded. From the Home Side Nav item, click the actionable dots and then Customize. You can now turn the visibility on/off of Kavita provided Streams, add your own smart filters to your Dashboard and even reorder everything.

Side Nav

Not only do we have a customized dashboard, but the side nav got some love as well. If you're a large comic collector, you'll know that the best practice is to split your series into libraries by Publisher (to avoid collision on the same series name released in different years). This can be frustrating as that leaves you with over 200 different libraries and adds so much clutter on your screen.

This new feature changes that. First, only 10 items will ever render by default with a More button to show more items under the fold, taking inspiration from YouTube and Plex. Then, like with Dashboard customization, you can reorder, bind smart filters, or turn on/off the visibility of some libraries. Bulk selection tools are available to help those users with many libraries.

image

External Sources

External sources plays on the Side Nav customization by allowing you to setup a link on your side nav that upon being clicked will open your friend's server up already authenticated as you. This is just the start, after rolling this out to our nightly users discussion sparked and in the future I will be adding the ability to allow searching media in your friend's server directly from your own instance (Kavita+ only).

Series Preview (Kavita+)

For those that have Kavita+, they are likely very familiar with the Recommendations tab. When looking at recommendations, you will see your own Series that you own and external ones (if you are an admin). The problem is, it's a bit annoying clicking on each external series, switching tabs, reading about it, then coming back to Kavita. So I fixed that. Now, a drawer will open and bring that metadata to you, making it quick for you to read about the series right from within Kavita.

image

This release has been pretty large in terms of the features and refactoring that had to be done to bring these features to you all. Just the side nav rework took 6k lines of code to do :/ I'm extremely pleased with how my vision came to fruition and look forward to seeing the customizations you all create. The next release should be the last of the v0.7.x series of releases and is the last foundational piece that has to happen before I can do any work on the mobile app.

Important Announcements

  • With Smart Filters released, I want to see what creations you can come up with. Join us in by taking a pic of your smart filter creations and sharing them with the community here. If you find something missing to let you express yourself, please raise a thread in our new feature-requests channel.
  • This is the last call to voice your opinion on if Image-based series are removed as a feature from Kavita. Please add your voice here if you need this functionality, otherwise, upvote the original post if you don't need or agree with removal.
  • The wiki for once is up to date with information around these new features. Check out how customizations work or how the reworked metadata filtering from last release works.
  • Note: All docker images have been moved to jvmilazz0/kavita, jvmilazz0/kavitaemail. Please make sure you switch over to this repository going forward

Added

  • Added: Added the ability to save metadata filters into a Smart Filter. This is a dynamic query that can be bound to your dashboard.
  • Added: All users can now customize their own dashboard and re-order the streams Kavita provides out of the box, turn them on/off, and bind your Smart Filters to your dashboard.
  • Added: You can now re-order, turn on/off libraries, system default side nav items and add your own smart filters and external sources (see below) to the side nav.
  • Added: Added the ability to link to external sources (aka server's your friends may host). These can then be bound to your Sidenav and provide a one click to that server which will auto login.
  • Added: New API (plugin/version) which can use the api key to get the current Kavita install version.
  • Added: Added WantToRead filter so SmartFilters can be created that utilize want to read status in creative ways.
  • Added: OPDS now has a dedicated section for SmartFilters
  • Added: Added a new Sort By for Reading Progress
  • Added: Added a new Filter Field (and Input type) to select Series based on Last Read time of the user. This new field uses a date picker so you can build filters like: Series that haven't been read since 1/1/2023 that have over 80% progress on ordered by most progress to least aka a 'Finish it Off list'
  • Added: (Kavita+) Added an up-sell to 1 year per some users requests. New payment link set.
  • Added: Kavita+ users can now preview local and external series with more metadata by clicking a recommendation card. This new drawer will allow users to get a quick glance of information. You can still open the new browser tab from the drawer or directly from the card. As data is cached in Kavita+ API, it may take some time for extended details to propagate.
  • Added: Plugin Authenticate and Version APIs will now capture unauthorized rejections and log out to config/logs/security.log. APIs that perform this logging are documented.
  • Added: (Kavita+) Users can now add a local recommendation to their Want to Read list directly from the Series Preview drawer
  • Added: (Kavita+) When previewing a local series from Recommendations tab, if the local series is lacking metadata (at least summary and genres need to be present), then external metadata will be used.
  • Added: When a user logs in, log their IP

Changed

  • Changed: OPDS will now mimic applicable ordering and streams from your Dashboard. Note: More In Genre and Recently Updated are not supported. Likewise, OPDS All Libraries will now order in the order of your Side Nav.
  • Changed: Selected options from filter's typeahead wont show as an option anymore.
  • Changed: Some filter fields will now show the unit on the UI to help users understand how it functions
  • Changed: Kavita now logs extra information and in different conditions when a login fails
  • Changed: Ignore #recycle directories, which is a special folder on Synology
  • Changed: Floats are allowed for reading progress inputs
  • Changed: Added a note about folder watching waiting 10 mins to trigger in library settings
  • Changed: When a book does not contain a volume number or have volume in the filename, consider it standalone and as such, mark it as Completed Publication Status.
  • Changed: Side Nav now only shows Home + 10 other items. Other items are found behind the More fold.
  • Changed: Allow API key/OPDS url component to toggle show/hide instead of the previous just showing.
  • Changed: Updated underlying PDF library to latest
  • Changed: Filter fields are now sorted alphabetically
  • Changed: Giant Size format from ComicInfo will now be treated as a special
  • Changed: (Kavita+) Review's will now be rejected from creating a scrobble event if they wont meet AniList's criteria. This will be changed in future if more scrobble providers are added.

Fixed

  • Fixed: Fixed stats tab acting up from injection in Stable
  • Fixed: Floating point tolerance for reading percentage when using Read Progress Filter
  • Fixed: Fixed a bug where some OS don't support all locales by default. For those, catch any exceptions and default to the raw language code.
  • Fixed: Summary wasn't being sent to the backend for filtering
  • Fixed: Fixed a bug where non-admins could see Scan on the library actionables (but not actually invoke it)
  • Fixed: Fixed a bug where tablet viewports couldn't open the metadata filter
  • Fixed: Fixed up a lot of the css around the filters.
  • Fixed: Fixed up a bug where filter would un-collapse even though we were using a drawer.
  • Fixed: Fixed an issue where the manga reader could get delayed when rendering the next page due to slow network activity because it was waiting for the last prefetch page to load instead of moving to the prefetched page immediately.
  • Fixed: Fixed external rating tooltip not showing the title of Google Books
  • Fixed: Fixed a bad parser case where volume num could get parsed as chapter num.
  • Fixed: Fixed up a lot of missing localization strings
  • Fixed: Fixed a bug where Not Contains on Tags and People wasn't behaving correctly (Thanks @CianH for the PR)
  • Fixed: Fixed a bug where images in the release...
Read more

v0.7.8-ls8

10 Oct 09:04
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

Another major feature has been reworked as I lay down those foundational changes you may hear me talk about. Kavita now has a brand new filtering system to enable users to really poke and prod their media. This was a huge undertaking ensuring a flexible system could be built and allow new features to be added upon it.

image

This new filtering allows for you to not only reproduce what was already there, but expand and AND your statements together. I originally sought out building a recursive system, but unfortunately I kept hitting difficulties in coding the UI, that I decided to simplify. I can always enhance later if needed. You will noticed many different combinations and new fields. I've added quite a few new fields, but if you have creative ideas, please do raise a feature request for them. I'm interested in expanding the filters even further to allow you to craft some unique filters.

In this update, I also spruced up the OPDS implementations thanks to some nice feature hub requests that got me thinking. I personally don't use OPDS, but I think for those that do, you'll notice it's a much better experience. No more formats at the end of the series names (as we put that in the description) and series descriptions are actually sending (they have been hooked up, but weren't being set, oops). While I was fixing those, I added new feeds for want to read, to make the experience the best it can be. If you've heard about the OPDS2 work, Kavita will be adding it as well. I've been involved in the discussions with Readium about the spec along with Komga, Codex, and Panels.

Lastly, localization has seen major progress. The community has really stepped up and as of me writing these release notes, Kavita is fully translated to Korean, Chinese (Simplified), and basically Italian (1 word...). Many other languages have over 80% strings translated. I've also fixed a ton of missed strings throughout the app. Thank you so much to those that have added their own languages. It's really cool seeing the application translated.

That wraps the big features. As I've been mentioning many times in these release notes, my focus for the v0.7.x releases are major foundational changes that I need so I can start the mobile apps for Kavita. I've unfortunately been struck by the Return to Office plague and due to this, have much less time to work on Kavita, so updates may slow (plus I have yet another holiday this month).

Added

  • Added: From Reading list, you can now click on a character tag and open a pre-filtered search screen.
  • Added: OPDS feeds now include a new section for Want to Read series
  • Added: Admins now have the ability to change the cover image size. The options are: Default (320x455), Medium (640x909), Large (900x1277), Extra Large (1265x1795) (Thanks @Ark1369)
  • Added: User day breakdown stat graph is now visible on a user stats page
  • Added: Added an id for komf userscript to help it inject into Kavita's UI without relying on strings, given localization.
  • Added: You can now filter by Path, which is the highest folder for a Series.
  • Added: You can now filter by filepath, which is the full path of a file, including extension. This is much slower than Path, but still useable.
  • Added: You can now filter by Series Summary (to help you find series with missing metadata)
  • Added: New filter comparison called Must Contains which does just that, ensures that the values provided are in every series.
  • Added: Added ability to delete single collections from card actions.

Changed

  • Changed: Revamped how metadata filtering works to allow custom combinations, searching for information on nested properties, etc.
  • Changed: OPDS Series names will no longer show (Format) in the series name. It will be displayed in the summary field instead along with the summary if one is set.
  • Changed: If the language tag isn't properly set, then series detail wont show it anymore.
  • Changed: Changed the HTTP Cache for all-languages API
  • Changed: API key and OPDS url are now hidden by default. You can still copy from them or you can unhide if you want to manually copy.
  • Changed: Merged images (collections and reading lists) now work differently. If there is only 1 image to select, it will use that image. If there are 2, they will be side by side, 3 will be two on top and one centered below, 4 will the the existing. This will ensure there is always a cover to view.
  • Changed: Cover image on reading list detail page will now show as it's always available. Collection page still has the restraint of requiring a summary to show the cover image.
  • Changed: Folder watching will now appropriately ignore changes that occur in blacklisted folders
  • Changed: Rating tooltip and stars are bigger on mobile
  • Changed: (Kavita+) Scrobble token validity checks are removed before writing a scrobble event to the DB
  • Changed: (Kavita+) Added a lot more logging to Scrobbling operations to help debug issues, in case users are having them.
  • Changed: (Performance) Optimized the license check code so that users without any license entered would still take advantage of the cache layer.
  • Changed: (Performance) 10x speed improvement for checking if a library allowed scrobbling when opening up series detail page
  • Changed: (Kavita+) Reviews are now mixed to show a better spectrum. You will always get the first and last 2 and a selection from the middle. This should help you get a fuller picture if the series is a good read for you.
  • Changed: The Epub reader now has much better handling of highlighting when text is underneath the tap to paginate area. You can now highlight under it naturally. (Thanks @gmahomarf for driving this)
  • Changed: (Performance) Removed single DB calls in many APIs.
  • Changed: Updated transloco library which fixes older iOS browsers not being able to load Kavita
  • Changed: Don't fully fail series metadata update if we can't cleanup due to another DB operation happening. This should help komf users that are hitting the api in short succession from having high CPU usage or long response times
  • Changed: New languages for localization

Fixed

  • Fixed: Fixed a bug where OPDS Feeds for Libraries, Collections, and Reading lists were not sending the image back in the XML
  • Fixed: Fixed a bug where Series summary wasn't being sent over OPDS
  • Fixed: Fixed a lot of localization keys
  • Fixed: Fixed up Kavita rating on Series detail page not starting at the same place as other sections
  • Fixed: Fixed reading list page being laggy when scrolling
  • Fixed: Fixed a potential bug where series name could be taken from a chapter that isn't the first ordered (very unlikely) for epubs.
  • Fixed: Fixed a bug where Volume 1.5 could be selected for series-level metadata over Volume 1.
  • Fixed: Fixed a bug where expanding chapters on list item view would adjust spacing in a weird way
  • Fixed: Fixed an annoying, harmless DB error when reconnecting signalR event streams, that said the entity has changed since.
  • Fixed: Fixed paper background on epub reader not loading under base url
  • Fixed: Makes Kavita and the entrypoint script executable, which removes the need to do that on every startup of the container, additionally is one step closer (still needs other changes) to potentially make the docker image run as rootless.
  • Fixed: Fixed a bug where a user adds their own favicon and the check fails due to not stripping www.

API

  • Changed: (API) The following APIs have a v2 counterpart with the existing being deprecated. I will support them for a few releases until enough of user base updates their installs:
    series/on-deck
    series/recently-added
    series/recently-updated
    series/ (post one)
    series/all
    want-to-read/
    reader/bookmarks

Known Issues

  • Server Stats tab is broken. It requires selecting then refreshing your browser

v0.7.8-ls7

19 Sep 09:02
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

Another major feature has been reworked as I lay down those foundational changes you may hear me talk about. Kavita now has a brand new filtering system to enable users to really poke and prod their media. This was a huge undertaking ensuring a flexible system could be built and allow new features to be added upon it.

image

This new filtering allows for you to not only reproduce what was already there, but expand and AND your statements together. I originally sought out building a recursive system, but unfortunately I kept hitting difficulties in coding the UI, that I decided to simplify. I can always enhance later if needed. You will noticed many different combinations and new fields. I've added quite a few new fields, but if you have creative ideas, please do raise a feature request for them. I'm interested in expanding the filters even further to allow you to craft some unique filters.

In this update, I also spruced up the OPDS implementations thanks to some nice feature hub requests that got me thinking. I personally don't use OPDS, but I think for those that do, you'll notice it's a much better experience. No more formats at the end of the series names (as we put that in the description) and series descriptions are actually sending (they have been hooked up, but weren't being set, oops). While I was fixing those, I added new feeds for want to read, to make the experience the best it can be. If you've heard about the OPDS2 work, Kavita will be adding it as well. I've been involved in the discussions with Readium about the spec along with Komga, Codex, and Panels.

Lastly, localization has seen major progress. The community has really stepped up and as of me writing these release notes, Kavita is fully translated to Korean, Chinese (Simplified), and basically Italian (1 word...). Many other languages have over 80% strings translated. I've also fixed a ton of missed strings throughout the app. Thank you so much to those that have added their own languages. It's really cool seeing the application translated.

That wraps the big features. As I've been mentioning many times in these release notes, my focus for the v0.7.x releases are major foundational changes that I need so I can start the mobile apps for Kavita. I've unfortunately been struck by the Return to Office plague and due to this, have much less time to work on Kavita, so updates may slow (plus I have yet another holiday this month).

Added

  • Added: From Reading list, you can now click on a character tag and open a pre-filtered search screen.
  • Added: OPDS feeds now include a new section for Want to Read series
  • Added: Admins now have the ability to change the cover image size. The options are: Default (320x455), Medium (640x909), Large (900x1277), Extra Large (1265x1795) (Thanks @Ark1369)
  • Added: User day breakdown stat graph is now visible on a user stats page
  • Added: Added an id for komf userscript to help it inject into Kavita's UI without relying on strings, given localization.
  • Added: You can now filter by Path, which is the highest folder for a Series.
  • Added: You can now filter by filepath, which is the full path of a file, including extension. This is much slower than Path, but still useable.
  • Added: You can now filter by Series Summary (to help you find series with missing metadata)
  • Added: New filter comparison called Must Contains which does just that, ensures that the values provided are in every series.
  • Added: Added ability to delete single collections from card actions.

Changed

  • Changed: Revamped how metadata filtering works to allow custom combinations, searching for information on nested properties, etc.
  • Changed: OPDS Series names will no longer show (Format) in the series name. It will be displayed in the summary field instead along with the summary if one is set.
  • Changed: If the language tag isn't properly set, then series detail wont show it anymore.
  • Changed: Changed the HTTP Cache for all-languages API
  • Changed: API key and OPDS url are now hidden by default. You can still copy from them or you can unhide if you want to manually copy.
  • Changed: Merged images (collections and reading lists) now work differently. If there is only 1 image to select, it will use that image. If there are 2, they will be side by side, 3 will be two on top and one centered below, 4 will the the existing. This will ensure there is always a cover to view.
  • Changed: Cover image on reading list detail page will now show as it's always available. Collection page still has the restraint of requiring a summary to show the cover image.
  • Changed: Folder watching will now appropriately ignore changes that occur in blacklisted folders
  • Changed: Rating tooltip and stars are bigger on mobile
  • Changed: (Kavita+) Scrobble token validity checks are removed before writing a scrobble event to the DB
  • Changed: (Kavita+) Added a lot more logging to Scrobbling operations to help debug issues, in case users are having them.
  • Changed: (Performance) Optimized the license check code so that users without any license entered would still take advantage of the cache layer.
  • Changed: (Performance) 10x speed improvement for checking if a library allowed scrobbling when opening up series detail page
  • Changed: (Kavita+) Reviews are now mixed to show a better spectrum. You will always get the first and last 2 and a selection from the middle. This should help you get a fuller picture if the series is a good read for you.
  • Changed: The Epub reader now has much better handling of highlighting when text is underneath the tap to paginate area. You can now highlight under it naturally. (Thanks @gmahomarf for driving this)
  • Changed: (Performance) Removed single DB calls in many APIs.
  • Changed: Updated transloco library which fixes older iOS browsers not being able to load Kavita
  • Changed: Don't fully fail series metadata update if we can't cleanup due to another DB operation happening. This should help komf users that are hitting the api in short succession from having high CPU usage or long response times
  • Changed: New languages for localization

Fixed

  • Fixed: Fixed a bug where OPDS Feeds for Libraries, Collections, and Reading lists were not sending the image back in the XML
  • Fixed: Fixed a bug where Series summary wasn't being sent over OPDS
  • Fixed: Fixed a lot of localization keys
  • Fixed: Fixed up Kavita rating on Series detail page not starting at the same place as other sections
  • Fixed: Fixed reading list page being laggy when scrolling
  • Fixed: Fixed a potential bug where series name could be taken from a chapter that isn't the first ordered (very unlikely) for epubs.
  • Fixed: Fixed a bug where Volume 1.5 could be selected for series-level metadata over Volume 1.
  • Fixed: Fixed a bug where expanding chapters on list item view would adjust spacing in a weird way
  • Fixed: Fixed an annoying, harmless DB error when reconnecting signalR event streams, that said the entity has changed since.
  • Fixed: Fixed paper background on epub reader not loading under base url
  • Fixed: Makes Kavita and the entrypoint script executable, which removes the need to do that on every startup of the container, additionally is one step closer (still needs other changes) to potentially make the docker image run as rootless.
  • Fixed: Fixed a bug where a user adds their own favicon and the check fails due to not stripping www.

API

  • Changed: (API) The following APIs have a v2 counterpart with the existing being deprecated. I will support them for a few releases until enough of user base updates their installs:
    series/on-deck
    series/recently-added
    series/recently-updated
    series/ (post one)
    series/all
    want-to-read/
    reader/bookmarks

Known Issues

  • Server Stats tab is broken. It requires selecting then refreshing your browser

v0.7.8-ls6

03 Sep 16:05
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

Another major feature has been reworked as I lay down those foundational changes you may hear me talk about. Kavita now has a brand new filtering system to enable users to really poke and prod their media. This was a huge undertaking ensuring a flexible system could be built and allow new features to be added upon it.

image

This new filtering allows for you to not only reproduce what was already there, but expand and AND your statements together. I originally sought out building a recursive system, but unfortunately I kept hitting difficulties in coding the UI, that I decided to simplify. I can always enhance later if needed. You will noticed many different combinations and new fields. I've added quite a few new fields, but if you have creative ideas, please do raise a feature request for them. I'm interested in expanding the filters even further to allow you to craft some unique filters.

In this update, I also spruced up the OPDS implementations thanks to some nice feature hub requests that got me thinking. I personally don't use OPDS, but I think for those that do, you'll notice it's a much better experience. No more formats at the end of the series names (as we put that in the description) and series descriptions are actually sending (they have been hooked up, but weren't being set, oops). While I was fixing those, I added new feeds for want to read, to make the experience the best it can be. If you've heard about the OPDS2 work, Kavita will be adding it as well. I've been involved in the discussions with Readium about the spec along with Komga, Codex, and Panels.

Lastly, localization has seen major progress. The community has really stepped up and as of me writing these release notes, Kavita is fully translated to Korean, Chinese (Simplified), and basically Italian (1 word...). Many other languages have over 80% strings translated. I've also fixed a ton of missed strings throughout the app. Thank you so much to those that have added their own languages. It's really cool seeing the application translated.

That wraps the big features. As I've been mentioning many times in these release notes, my focus for the v0.7.x releases are major foundational changes that I need so I can start the mobile apps for Kavita. I've unfortunately been struck by the Return to Office plague and due to this, have much less time to work on Kavita, so updates may slow (plus I have yet another holiday this month).

Added

  • Added: From Reading list, you can now click on a character tag and open a pre-filtered search screen.
  • Added: OPDS feeds now include a new section for Want to Read series
  • Added: Admins now have the ability to change the cover image size. The options are: Default (320x455), Medium (640x909), Large (900x1277), Extra Large (1265x1795) (Thanks @Ark1369)
  • Added: User day breakdown stat graph is now visible on a user stats page
  • Added: Added an id for komf userscript to help it inject into Kavita's UI without relying on strings, given localization.
  • Added: You can now filter by Path, which is the highest folder for a Series.
  • Added: You can now filter by filepath, which is the full path of a file, including extension. This is much slower than Path, but still useable.
  • Added: You can now filter by Series Summary (to help you find series with missing metadata)
  • Added: New filter comparison called Must Contains which does just that, ensures that the values provided are in every series.
  • Added: Added ability to delete single collections from card actions.

Changed

  • Changed: Revamped how metadata filtering works to allow custom combinations, searching for information on nested properties, etc.
  • Changed: OPDS Series names will no longer show (Format) in the series name. It will be displayed in the summary field instead along with the summary if one is set.
  • Changed: If the language tag isn't properly set, then series detail wont show it anymore.
  • Changed: Changed the HTTP Cache for all-languages API
  • Changed: API key and OPDS url are now hidden by default. You can still copy from them or you can unhide if you want to manually copy.
  • Changed: Merged images (collections and reading lists) now work differently. If there is only 1 image to select, it will use that image. If there are 2, they will be side by side, 3 will be two on top and one centered below, 4 will the the existing. This will ensure there is always a cover to view.
  • Changed: Cover image on reading list detail page will now show as it's always available. Collection page still has the restraint of requiring a summary to show the cover image.
  • Changed: Folder watching will now appropriately ignore changes that occur in blacklisted folders
  • Changed: Rating tooltip and stars are bigger on mobile
  • Changed: (Kavita+) Scrobble token validity checks are removed before writing a scrobble event to the DB
  • Changed: (Kavita+) Added a lot more logging to Scrobbling operations to help debug issues, in case users are having them.
  • Changed: (Performance) Optimized the license check code so that users without any license entered would still take advantage of the cache layer.
  • Changed: (Performance) 10x speed improvement for checking if a library allowed scrobbling when opening up series detail page
  • Changed: (Kavita+) Reviews are now mixed to show a better spectrum. You will always get the first and last 2 and a selection from the middle. This should help you get a fuller picture if the series is a good read for you.
  • Changed: The Epub reader now has much better handling of highlighting when text is underneath the tap to paginate area. You can now highlight under it naturally. (Thanks @gmahomarf for driving this)
  • Changed: (Performance) Removed single DB calls in many APIs.
  • Changed: Updated transloco library which fixes older iOS browsers not being able to load Kavita
  • Changed: Don't fully fail series metadata update if we can't cleanup due to another DB operation happening. This should help komf users that are hitting the api in short succession from having high CPU usage or long response times
  • Changed: New languages for localization

Fixed

  • Fixed: Fixed a bug where OPDS Feeds for Libraries, Collections, and Reading lists were not sending the image back in the XML
  • Fixed: Fixed a bug where Series summary wasn't being sent over OPDS
  • Fixed: Fixed a lot of localization keys
  • Fixed: Fixed up Kavita rating on Series detail page not starting at the same place as other sections
  • Fixed: Fixed reading list page being laggy when scrolling
  • Fixed: Fixed a potential bug where series name could be taken from a chapter that isn't the first ordered (very unlikely) for epubs.
  • Fixed: Fixed a bug where Volume 1.5 could be selected for series-level metadata over Volume 1.
  • Fixed: Fixed a bug where expanding chapters on list item view would adjust spacing in a weird way
  • Fixed: Fixed an annoying, harmless DB error when reconnecting signalR event streams, that said the entity has changed since.
  • Fixed: Fixed paper background on epub reader not loading under base url
  • Fixed: Makes Kavita and the entrypoint script executable, which removes the need to do that on every startup of the container, additionally is one step closer (still needs other changes) to potentially make the docker image run as rootless.
  • Fixed: Fixed a bug where a user adds their own favicon and the check fails due to not stripping www.

API

  • Changed: (API) The following APIs have a v2 counterpart with the existing being deprecated. I will support them for a few releases until enough of user base updates their installs:
    series/on-deck
    series/recently-added
    series/recently-updated
    series/ (post one)
    series/all
    want-to-read/
    reader/bookmarks

v0.7.7-ls5

29 Aug 09:02
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

This release is a milestone for me as it marks the completion of everything I initially envisioned for Kavita when I first launched the project and gained my first user feedback. Kavita has grown tremendously over the past few years of building it and has been shaped in ways I would have never known when I first set off to build the project. With all that said, I want to thank all our users for their continued support and ideas to shape the product and my wife, who allows for me to put so much of my time into this project. I have many things planned for the future and I look forward to your feedback.

Without further ado, localization has finally landed in Kavita! For those that read my changelogs, you'll know that last release I had already dropped 60 hours of work keying all the strings in the app. Since then, the community and I have added another 30. This has been a huge effort. Localization is no easy task and as of this launch, there is no 100% localized translations. Going forward, localizations will be released on nightly as they are ready and with the stables. Users can always manually pull the files if needed. If you want to help us translate Kavita into your language of choice, please check out our Weblate.

For those that have tried out Kavita+, I want to first thank you. I see very active traffic and everyone I have spoken to has provided great feedback. Please use of feature hub if you have ideas for Kavita or Kavita+. I have more plans for Kavita+ in the future, however, I have some critical Kavita features that need to get released before I can work on them.

Lastly Kavita is now officially on Linuxserver.io! A huge thanks to Aptalca and Linuxserver.io team for their collaboration in creating and releasing the docker image!

This is not a Kavita issue, but Panels has been made aware and fixed an issue in their code which prevented images to load from Kavita OPDS connections. This will be available on an upcoming release from Panels. Thank you @howdy-im-david for driving this effort.

Added

  • Added: Kavita now supports localization. A new language will only appear when both Frontend and Backend localization files exist. If a localization key is missing in a user's locale, English will be the fallback. Note: Some items are not yet localized.
  • Added: Epub books will now populate weblinks by joining dc:identifier tags with url: values.
  • Added: Added progress bars on the readme to help motivate users to get all the languages translated
  • Added: Added a new shield on the readme that shows how many active installs Kavita has (for those that have opted into Stats)

Changed

  • Changed: Updated all fonts to be woff2 which are faster to load and render
  • Changed: Many strings were unified, sometimes less verbose, sometimes more.
  • Changed: All dates are now sent in UTC and displayed in local timezone
  • Changed: Compact numbers (3.2K -> 3,200) are now respecting your locale (so Turkish users will see 3,2 B)
  • Changed: Last Added To -> Last Item Added to be more clear in Edit Series info section.
  • Changed: (Not user facing) Login page now accepts a user's apiKey and will auto login with that. This is for an upcoming feature.

Fixed

  • Fixed: Fixed character tags being empty in item list
  • Fixed: Fixed a bug where Scan series task wasn't properly updating underlying chapter metadata when it should have.
  • Fixed: Fixed a bug where downloads could trigger on lazy loaded module boundaries
  • Fixed: Fixed a bug where remove from on deck would should for all series cards when it shouldn't have
  • Fixed: Fixed a bug where virtualized reading list page (> 100 items) wasn't showing the correct order in the input box
  • Fixed: Fixed library detail page showing duplicate series during a scan
  • Fixed: (Kavita+) Fixed a case where when setting up initial rates for scrobbling, Kavita could print as if a user had rate limit
  • Fixed: Fixed a bug with reading lists where re-ordering via the input wouldn't respect order
  • Fixed: Fixed a bug with double slash in opds url

v0.7.7-ls4

22 Aug 08:57
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

This release is a milestone for me as it marks the completion of everything I initially envisioned for Kavita when I first launched the project and gained my first user feedback. Kavita has grown tremendously over the past few years of building it and has been shaped in ways I would have never known when I first set off to build the project. With all that said, I want to thank all our users for their continued support and ideas to shape the product and my wife, who allows for me to put so much of my time into this project. I have many things planned for the future and I look forward to your feedback.

Without further ado, localization has finally landed in Kavita! For those that read my changelogs, you'll know that last release I had already dropped 60 hours of work keying all the strings in the app. Since then, the community and I have added another 30. This has been a huge effort. Localization is no easy task and as of this launch, there is no 100% localized translations. Going forward, localizations will be released on nightly as they are ready and with the stables. Users can always manually pull the files if needed. If you want to help us translate Kavita into your language of choice, please check out our Weblate.

For those that have tried out Kavita+, I want to first thank you. I see very active traffic and everyone I have spoken to has provided great feedback. Please use of feature hub if you have ideas for Kavita or Kavita+. I have more plans for Kavita+ in the future, however, I have some critical Kavita features that need to get released before I can work on them.

Lastly Kavita is now officially on Linuxserver.io! A huge thanks to Aptalca and Linuxserver.io team for their collaboration in creating and releasing the docker image!

This is not a Kavita issue, but Panels has been made aware and fixed an issue in their code which prevented images to load from Kavita OPDS connections. This will be available on an upcoming release from Panels. Thank you @howdy-im-david for driving this effort.

Added

  • Added: Kavita now supports localization. A new language will only appear when both Frontend and Backend localization files exist. If a localization key is missing in a user's locale, English will be the fallback. Note: Some items are not yet localized.
  • Added: Epub books will now populate weblinks by joining dc:identifier tags with url: values.
  • Added: Added progress bars on the readme to help motivate users to get all the languages translated
  • Added: Added a new shield on the readme that shows how many active installs Kavita has (for those that have opted into Stats)

Changed

  • Changed: Updated all fonts to be woff2 which are faster to load and render
  • Changed: Many strings were unified, sometimes less verbose, sometimes more.
  • Changed: All dates are now sent in UTC and displayed in local timezone
  • Changed: Compact numbers (3.2K -> 3,200) are now respecting your locale (so Turkish users will see 3,2 B)
  • Changed: Last Added To -> Last Item Added to be more clear in Edit Series info section.
  • Changed: (Not user facing) Login page now accepts a user's apiKey and will auto login with that. This is for an upcoming feature.

Fixed

  • Fixed: Fixed character tags being empty in item list
  • Fixed: Fixed a bug where Scan series task wasn't properly updating underlying chapter metadata when it should have.
  • Fixed: Fixed a bug where downloads could trigger on lazy loaded module boundaries
  • Fixed: Fixed a bug where remove from on deck would should for all series cards when it shouldn't have
  • Fixed: Fixed a bug where virtualized reading list page (> 100 items) wasn't showing the correct order in the input box
  • Fixed: Fixed library detail page showing duplicate series during a scan
  • Fixed: (Kavita+) Fixed a case where when setting up initial rates for scrobbling, Kavita could print as if a user had rate limit
  • Fixed: Fixed a bug with reading lists where re-ordering via the input wouldn't respect order
  • Fixed: Fixed a bug with double slash in opds url

v0.7.7-ls3

13 Aug 22:09
43c8a0f
Compare
Choose a tag to compare

LinuxServer Changes:

Fix app file perms to prevent high uid.

kavita Changes:

This release is a milestone for me as it marks the completion of everything I initially envisioned for Kavita when I first launched the project and gained my first user feedback. Kavita has grown tremendously over the past few years of building it and has been shaped in ways I would have never known when I first set off to build the project. With all that said, I want to thank all our users for their continued support and ideas to shape the product and my wife, who allows for me to put so much of my time into this project. I have many things planned for the future and I look forward to your feedback.

Without further ado, localization has finally landed in Kavita! For those that read my changelogs, you'll know that last release I had already dropped 60 hours of work keying all the strings in the app. Since then, the community and I have added another 30. This has been a huge effort. Localization is no easy task and as of this launch, there is no 100% localized translations. Going forward, localizations will be released on nightly as they are ready and with the stables. Users can always manually pull the files if needed. If you want to help us translate Kavita into your language of choice, please check out our Weblate.

For those that have tried out Kavita+, I want to first thank you. I see very active traffic and everyone I have spoken to has provided great feedback. Please use of feature hub if you have ideas for Kavita or Kavita+. I have more plans for Kavita+ in the future, however, I have some critical Kavita features that need to get released before I can work on them.

Lastly Kavita is now officially on Linuxserver.io! A huge thanks to Aptalca and Linuxserver.io team for their collaboration in creating and releasing the docker image!

This is not a Kavita issue, but Panels has been made aware and fixed an issue in their code which prevented images to load from Kavita OPDS connections. This will be available on an upcoming release from Panels. Thank you @howdy-im-david for driving this effort.

Added

  • Added: Kavita now supports localization. A new language will only appear when both Frontend and Backend localization files exist. If a localization key is missing in a user's locale, English will be the fallback. Note: Some items are not yet localized.
  • Added: Epub books will now populate weblinks by joining dc:identifier tags with url: values.
  • Added: Added progress bars on the readme to help motivate users to get all the languages translated
  • Added: Added a new shield on the readme that shows how many active installs Kavita has (for those that have opted into Stats)

Changed

  • Changed: Updated all fonts to be woff2 which are faster to load and render
  • Changed: Many strings were unified, sometimes less verbose, sometimes more.
  • Changed: All dates are now sent in UTC and displayed in local timezone
  • Changed: Compact numbers (3.2K -> 3,200) are now respecting your locale (so Turkish users will see 3,2 B)
  • Changed: Last Added To -> Last Item Added to be more clear in Edit Series info section.
  • Changed: (Not user facing) Login page now accepts a user's apiKey and will auto login with that. This is for an upcoming feature.

Fixed

  • Fixed: Fixed character tags being empty in item list
  • Fixed: Fixed a bug where Scan series task wasn't properly updating underlying chapter metadata when it should have.
  • Fixed: Fixed a bug where downloads could trigger on lazy loaded module boundaries
  • Fixed: Fixed a bug where remove from on deck would should for all series cards when it shouldn't have
  • Fixed: Fixed a bug where virtualized reading list page (> 100 items) wasn't showing the correct order in the input box
  • Fixed: Fixed library detail page showing duplicate series during a scan
  • Fixed: (Kavita+) Fixed a case where when setting up initial rates for scrobbling, Kavita could print as if a user had rate limit
  • Fixed: Fixed a bug with reading lists where re-ordering via the input wouldn't respect order
  • Fixed: Fixed a bug with double slash in opds url