1.0.0 (2025-08-08)
Bug Fixes
- add context to error messages in source loading flow (8aaf4a0)
- add more context error messages to server startup (b4142d2)
- address CodeRabbit review comments (0734fda)
- allow
select/segmentsetting definitions to not havetitles(71ac4fa) - backend: setup loopback interface on Kobo devices (ab7f149)
- chapter_downloader: accept invalid certificates (a826bf1)
- chapter_downloader: error if the image download request didn't succeed (5956de1)
- chapter_storage: add persisted chapter size to error message (cf172a5)
- check for internet connection before performing requests on the source (0f73924)
- crash caused by wrong plugin path (573410b)
- crash in library view (1646224)
- create
database.dbfile before attempting to read settings (20eee23) - create home/sources/downloads folders if they do not exist (d3c66e5)
- dev build fixes (64bcd14)
- disable colors on server/uds_http_request logs (5483f87)
- do not show "No download is in progress" when cancelling downloads (48833f9)
- do not store/remove object references (d9a539d)
- do not update on major bumps (70779be)
- don't rely on
initandonExit/onRestartKOReader events (882addd) - don't skip chapters when going to next chapter without connection (b0acf7f)
- download all chapters in reverse source order and fixes (2f26082)
- error out when chapter has no pages to download (35de49f)
- fix finding next chapters by source order (b73a91c)
- handle chapters without a
chapter_numberproperly (4d1126c) - has_internet_connection: change Cloudflare DNS IP (91b636c), closes #21
- hide "Go back to Rakuyomi" menu entry when opening reader from file manager (933662b)
- improve error message when source list is invalid (817f47e)
- make
rustupfetch the right toolchain (bb58d54) - make
settings.jsonparser more lenient (4b08674) - MangaReader: correctly handle ReaderUI's close event (79fa4de)
- migration previously applied but has been modified (044d18e)
- move manga_state table to separate migration (5b954ce)
- net: fix HTML parsing of responses (87b85a0)
- only write chapter file if it was successfully downloaded (b592c9d)
- parse
segmentsetting definition (8e7c299) - properly abort on
env.abort(45394c8) - properly delete mangas from library (64bf17c)
- properly encode
manga_idonBackend.addMangaToLibrary(0281e08) - remote-install: fix path concatenation on SSH commands (173bce8)
- remove
dbg!call (72bfcb7) - remove chapters from the database that are missing on source (a2e388d)
- remove context menu on empty views (d2de46b)
- remove some
dbg!calls (04ba522) - remove some unnecessary logs (c495a86)
- remove unused line (beec3cb)
- rename Menu methods to *MenuChoice in MangaSearchResults (0cfec84)
- resolve weebcentral source compatibility (#173) (e5aaead)
- sanitize chapter filenames (010db51)
- show chapter as downloaded after downloading single chapter (0f67cc5)
- store manga order on cached chapter informations (304678c)
- store temporary file in
downloadsfolde (7c3fdc2) - stream download into update ZIP (79fe421)
- support
linksetting definition (d71be64) - switch createDownloadUnreadChaptersJob to unix socket (26fa8fd)
- update available sources listing when installing a source (1d07130)
- use
pollto check for available data before reading (cf3a881) - use hash of
ChapterIdfields for chapter filename (18710a8) - warnings and some bugs (2f59290)
- workaround issue with Guya-based sources (18d59b0)
Features
fetch_manga_chapterusecase, skip downloading manga if it was already downloaded (15b1f05)- add "offline mode" message when offline (447cc0d)
- add
aarch64build (a429600) - add
chapter_downloaderbenchmark (eae6ddb) - add
devscript (530f850) - add
kindlehfbuild (52cdac2) - add
koreader-with-pluginoutput (cef862d) - add
storage_pathto settings (bc3a859) - add
storage_size_limitto the settings page (12c74cd) - add cancellation token support to
fetch_all_manga_chaptersusecase (28408b7) - add chapter storage limit size and evict old chapters from storage (ebdf6ee)
- add continue reading context menu option in library view (6c8ade6)
- add empty views for some pages (0e04373)
- add metadata to downloaded chapters (bc7355b)
- add OTA updates (b15c02e)
- add plugin settings page (93b4c20)
- add scanlator filtering UI for chapter listings (310daa4)
- add source settings configuration (e96907e)
- add storage path to settings page (deabd58)
- add unread chapters count to library/search results (ba4bbe9)
- add version number to server binary (0245dfe)
- allow downloading all chapters from a manga (e58fdaf)
- allow downloading unread chapters in batch (18875ec)
- allow source to modify image requests (b4b6a03)
- allow sources to read settings from settings file (e29670f)
- allow uninstalling sources (c61c7a8)
- backend/chapters: allow configuring the sorting mode (c95bf5a)
- backend/search_mangas: cancel searches after 15 seconds (41ea682)
- bail out when
settings.jsonis missing and improve logs (723ddfb) - basic CI (a39008d)
- basic error handling for offline mode common issues (f1df226)
- better error logging when WASM function returns a
Result(31bd152) - build for Kindle PW2+ devices using Nix (968056a)
- cache manga/chapter information on database (9018178)
- cancel download all chapters (79a180b)
- chapter_downloader: add more context to error messages (c1a9d6a)
- concurrent manga searches (3acdb86)
- display available/installed sources ordered by name (6e5c0f8)
- download chapter pages concurrently (3b2f9d1)
- frontend: show ellipsis on menu items with context actions (d1fde17)
- generate settings schema (a6107e1)
- go back to chapter listing after last page (0fe22ec)
- go to next chapter after reading last page (df588f2)
- hold to delete manga from library (fe007f5)
- ignore .envrc files (91bc7c2)
- implement library view and add to library (90e74c1)
- improve logic to find the next chapter (b9c34d3)
- initial multiple sources support (c31fff4)
- log error responses and
env.print/abort(05afd87) - mark chapters as read on end of book (7743f9c)
- order manga search results by name (4e84338)
- persist scanlator preferences per manga (c256bdc)
- preload next chapter (ec4dbd5)
- return back to
ChapterListingandMangaSearchResults(2bb0156) - return to library view from search results (fa75f0e)
- settings: add
languagessetting (a173f26) - show "offline mode" dialog when opening rakuyomi (ffb4b3e)
- show dialog with error logs when server fails to start (5ac4a81)
- show downloaded/read chapters on chapter listing (e7d6278)
- show progress on download all chapters operation (49bbed5)
- show source name in library view (5f86f33)
- source management (3a29b27)
- store build name in
BUILD_INFO.json(061e004) - support reading the source's default settings (1a7f629)
- use
wasmiinstead ofwasmtime(6e9b039) - use binary caches in local environment (0dd64f5)
- use HTTP server to communicate with frontend (aab1ec1)
- use Unix domain sockets for communication with the backend (022d1ff)
- wasm_imports/html: support
base_uriandattrwithabs:prefix (76ee0fe)
Performance Improvements
- avoid cloning
references_to_descriptor(a34c404) - avoid cloning from the WASM store where possible (fb2982a)
- avoid creating errors ahead of time (e7dedc8)
- backend/wasm: bump
wasmifor better performance (15b2fee) - database: optimize
upsert_cached_chapters_informationscall (a975c3e) - deserialize JSON directly into
Value, useBTreeMapfor lower memory overhead (4e64dec) - do not compress manga pages when saving to cbz (12c5300)
- reduce memory usage when parsing HTML (308dfb6)
- store projections of values whenever possible (78effa9)
- wasm_imports/json: use
into_iterwhen mapping types (ba40afe) - wasm_imports: avoid cloning arrays/objects on modification if possible (1e1c660)