# Kavita v0.9.0 — v0.9.0 - Reading List Overhaul and Spring Cleaning
- Product: Kavita (https://whatsnew.fyi/product/kavita)
- Vendor: Kavita
- Date: 2026-04-30
- Version: v0.9.0
- Original notes: https://github.com/Kareadita/Kavita/releases/tag/v0.9.0
- Permalink: https://whatsnew.fyi/product/kavita/releases/v0.9.0
What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog.
Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'.
---
- **security** — Fixed security vulnerabilities and hardened API endpoints
- **fixed** — Fixed excessive database writes that were noticeable on non-SSD setups
- **fixed** — Fixed database is locked error by changing transaction creation and implementing extra waiting for concurrent writes
- **changed** — Redesigned Reading List screens to display more information
- **added** — Added ability to filter reading lists by multiple fields
- **added** — Added user-defined tags to reading lists that can also come from CBL v2 lists
- **added** — Made Smart Filters work with Reading Lists for binding to Side Nav and Dashboard
- **added** — Added ability to export reading lists as CBL v1 or v2 format
- **changed** — Rewrote CBL matching logic with multiple fallbacks to improve import accuracy
- **added** — Added ability to save matching decisions as Remap Rules for future CBL imports
- **added** — Added ability to browse and import lists from the CBL Repository directly in Kavita
- **added** — Added auto-update functionality for CBL lists
- **added** — Added CBL v2 support with tags
- **added** — Added multi-select and bulk download support for series, collections, chapters, and volumes
- **added** — Added persistent download queue with auto-processing across reloads
- **added** — Added download manager that marks previously synced items and provides retry and cancel support
- **added** — Reading session system now works with Mihon and Panels applications
- **added** — Added option to stay on older versions of Kavita without version update prompts
- **changed** — Implemented backoff system for version update modal dismissal
- **fixed** — Scanner now clears metadata fields when they are cleared in the underlying metadata file
- **fixed** — Genres and tags no longer normalize and merge during scanning
It seems almost like a hard rule that the 2nd release of the year is always a spring cleaning release and this time, we've really put the new knowledge we've built up back into Kavita to clean up old systems, rebuild foundations, and then deliver some massive improvements on top of it. This release is packed with nearly 200 change log items and overhauled 2 major UI systems that have already allowed some amazing enhancements.
##### Highlights
###### Performance and Security
This is first and foremost. Kavita had a few security issues brought against it and we've ensured that we fixed those issues (CVEs will be requested after the release) but also hardened more of the API to ensure no other issues. These issues are likely not going to be abused, but I would encourage everyone to update.
In addition, we fixed one oversight around how often Kavita was writing to the DB (noticeable on non-SSD setups) and fixed the database is locked error (mostly) by changing how transactions are created in Kavita and implementing some extra waiting when concurrent writes are occurring. For me, I was seeing them a lot in the webtoon reader (which also got some nice love) and now I don't.
###### Reading List
There is a lot to cover but the long story short is, I redesigned the screens to bring forward more information, I added the ability to filter against reading lists by a number of fields, I added tags which are user-defined (or can come from CBL v2 lists), and I made Smart Filters work with Reading Lists, so you can bind them to your Side Nav/Dashboard. You can also export them as CBL (v1/v2) if you want to apply some arbitrary sorting in another program then re-import them.
###### CBL ~~Import~~ Manager
This has been on my mind since I first saw the v2 CBL spec and that is an overhaul to the CBL Import flow. Here's what I did:
- Rewrote the matching logic with tons of fallbacks to always try to make the best match [wiki](https://wiki.kavitareader.com/guides/features/cbl-import/)
- Allow the importer to make decisions and save those decisions as Remap Rules for future imports (admin's can promote so all users get the benefit)
- Allow users to browse lists from the CBL Repo in Kavita and just import from there (or a file/url)
- Auto-update lists for the users
- And of course, v2 support (with tags)
Of course there is more to the story, but overall I feel like the Reading List and CBL Flow is in a great place.
###### Multi-download Support
This has been an item I've been wanting for 2 years now and I finally got to finish it off. You can now multi-select series, collections, chapters, volumes, whatever and Kavita will deconstruct down to the individual items, queue them up and process one by one. For me, a bit problem was FF on Android, I had to deal with a prompt on every download, but no more! The download manager is smart and remembers what you've downloaded and will show a mark on the card to let you know you've synced it to the device. We got retry and cancel support and just a ton of polish. I hope you'll enjoy this as much as me.
###### Misc
Mihon and Panels users rejoice, the
_[Truncated at 4000 characters — full notes: https://github.com/Kareadita/Kavita/releases/tag/v0.9.0]_