Releases: linuxserver/docker-kavita
v0.7.11-ls16
LinuxServer Changes:
Fix app file perms to prevent high uid.
kavita Changes:
With this release, I've hit 3 years of developing Kavita. Originally starting out after using Ubooquity and feeling limited by the lack of metadata and other solutions not aligning with my sense of UX, I started this project as a personal project to not only have a simple reader and organizer like Plex, but also learn .NET. Fast forward to now and Kavita has grown to be a name brand product and my vision has drastically expanded from a simple self project to becoming the Plex of the reading world. After 3 years of building this project solo (with some help from a few users here and there), I would think it would be nearly complete, yet I find myself with more work than ever as the ideas keep flowing.
Before we jump into this release, let's take a look back at some of the major features I've released this year:
- User and Server Stats (160 hours)
- Double Page reader (100 hours)
- CBL & Reading List Improvements (40 hours)
- Vertical Reading support in Epub reader
- Base URL Support
- WebP and AVIF support
- Kavita+ (and the review overhaul that went along with it) (600+ hours)
- Dynamic covers for collections and reading lists (3 hours)
- Personal Bookmarks in the Epub reader (12 hours)
- Full app localization (80 hours)
- A complete filtering overhaul with deep customization on how you filter (300 hours)
- Smart Filters and customization of your side nav and Dashboard with those streams (300 hours)
This year has been huge in terms of delivering features to the users and also the transformation the underlying codebase has undergone to support these features. Overall, I've delivered 141 new features, 301 changes, and 277 fixes. It has been a tremendous year indeed and much appreciation needs to go to @DieselTech and @scare376 who are basically the only nightly testers to test releases before it hits stable and provide a ton of support in the discord.
I'm looking forward to next year where I will finally get to work on some much needed features, like a complete PDF overhaul, kobo sync support, the start of the mobile app, and some really cool Kavita+ ideas that I've been discussing in the discord (join if you want to give your opinion).
With that said, this last release I had to take a step back and focus on the polish. There were a few performance issues and styling issues that were starting to nag me and after delivering such a huge update, I needed something a bit easier to relax with. This release is focused on polishing the application and I think this first pass brings a lot of nice smoothing to the edges in the app. I have more planned that I will sprinkle in next year.
First up is the .kavitaignore, which is a file you can place within any directory and apply glob syntax patterns which will exclude files and folders. While this is really powerful, it is an advanced feature that many don't use and requires updating your filesystem. I took a hard look, opened an issue and collected feedback from a few users and decided, let's bubble up this feature to the UI. .kavitaignore will be removed next year in the v0.8.x series of releases and instead, admins can now use the File Type switches and the Exclude Patterns in the Library Settings modal. I believe this will lead to higher adoption.
Next is a minor feature that has huge feel--image loading. I overhauled the image loading code to be much smoother. Images fade in and the lazy loading is much more performant. You should immediately notice the difference. Along with this image loading, a lot of the readers got bugfixes and attention to close out some of the bugs that were reported.
Lastly, let's talk about Smart Filters. As we all know, I had to do a few hotfixes due to some code around the smart filters and unfortunately, there were still more bugs in the system. This release should have all the bugs worked out. The testers and I really ensured it's working well. I wrote a migration to try and reduce data loss, but you might find some filters are broken. This is the cost of writing over 10K lines of new code around one feature and only 2 users helping with testing (Seriously, we need help, please join our nightly testing channel and help out).
Aside from the encoding issues, I realized that not all Smart filters need to be binded to the side nav or dashboard. I ended up building quite a few utility filters to identify series that have missing metadata, series that I started reading but forgot about, etc. With this release, in the user settings dropdown (top right of screen), you can now view all your Smart Filters and load them quickly.
One last thing I want to call out for those that read all the changes. I did a ton of polishing on the Publication Status code for a series to make it smarter than before. Books with just one book or series that are just a single special will mark as Completed. Kavita will fallback much better for Series that have a total Count in how it matches against Volumes or Chapters. These will need a force scan to pickup, but I think overall, leads to a much better experience.
Added
- Added: You can now see your total progress in the series from within the manga/image reader.
- Added: Added a Smart Filters page so you can see all your filters and click to load them. The new page is accessed from your user settings (top right dropdown on nav). The smart filter will show red if the filter was not able to be migrated and needs to be recreated by you.
- Added: New Library Type for Image. This is a placeholder while I gather feedback to avoid a bug in non-image types. If you are a primary user of loose leaf image series, please try this out with a test library. This library type may be removed in the future without a data migration. This is exclusively here to gather feedback after solutioning Loose leaf image issues from the open discussion.
- Added: Epub's marc role of creator now maps to writer
- Added: Library Settings now has File types setting which allows you to turn on/off different types of file types from the scanner.
- Added: Library Settings now has an exclude patterns control which allows you to ignore folders or file patterns.
- Added: Added the ability to search for bookmarked series and open up the bookmark reader directly (this is image based bookmarks)
- Added: Added a nightly task (cleanup task) that will ensure all user's progress on a chapter is at max the chapter's pages, in the case it was replaced with one that has less pages.
Changed
- Changed: All filtering encode/decode code is now purely in the backend. There is no noticeable differences when interacting with the filter. This will avoid a lot of headache with the filtering system.
- Changed: All Series page will now render out the title of the smart filter if it's set instead of All Series.
- Changed: Manage users page in admin dashboard has a new look and feel
- Changed: Added a fade in and changed the way Kavita lazy loads images for a much better experience (large improvement on all series page as well)
- Changed: Icon buttons will now longer show an active state when focused
- Changed: Replaced the underlying library for Reading Day breakdown chart
- Changed: On Desktop, by default all series metadata will show (for series metadata). I'm looking for feedback from users.
- Changed: Series detail metadata (summary and tags) will now be expanded to a limit by default on desktop. I'm looking for feedback from users.
- Changed: Metadata filter now animates as it expands/collapses
- Changed: Optimized dashboard page to allow better stream loading so there is less jank
- Changed: Migrated to using a lighter way of loading lazy loaded modules
- Changed: Updated some logs so we can avoid a potential log injection
- Changed: Improved the webtoon reader to better find where you are after quickly scrolling.
- Changed: Next estimated chapter will not show the time anymore
- Changed: Card titles are now center aligned by default
- Changed: On cards, don't show the progress bar unless there is at least one page read
- Changed: Cover chooser no longer has an apply button. Upon adding or selecting a cover, it will instantly take effect.
- Changed: Made the jump bar transition instant which feels much better with the new image loading.
- Changed: Updated Angular to v17
- Changed: Next estimated chapter now looks much better
- Changed: Changed how loose-leaf images are parsed within Kavita to work much better and fallback to more natural grouping. They will now grab the series name from the folder name, use any in-between folders for extracting volume/chapter numbers and if none found, treat the image as a special. (Thank you to users that commented on the discussion issue)
- Changed: Next Estimated Chapter title is now shorthand and localized, in case your locale doesn't use ~ or it doesn't go before the date
- Changed: User settings tabs now defer load, meaning a probably very slight speed increase on slower networks
- Changed: Spruced up the Image Parser to handle more volume and chapter parsing from filenames when it's needed.
- Changed: .kavitaignore files have been deprecated and will log a warning to the logs whenever one is found. They will currently still function but be removed in the v0.8 release.
- Changed: On smaller viewports, modals will open in fullscreen.
- Changed: Next Chapter is now Upcoming to better indicate what the feature does
- Changed: epub reader now has a close book within the settings itself
- Changed: Major performance enhancements done to the update series metadata API which should help when Komf hammers the API when Kavita adds a large amount of n...
v0.7.10.2-ls15
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.2-ls14
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.2-ls13
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.2-ls12
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
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
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
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.
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.
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...
v0.7.8-ls8
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.
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
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.
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