github tachibana-shin/rakuyomi v1.0.0

latest releases: v1.31.0, v1.30.0, v1.29.1...
9 months ago

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/segment setting definitions to not have titles (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.db file 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 init and onExit/onRestart KOReader 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_number properly (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 rustup fetch the right toolchain (bb58d54)
  • make settings.json parser 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 segment setting definition (8e7c299)
  • properly abort on env.abort (45394c8)
  • properly delete mangas from library (64bf17c)
  • properly encode manga_id on Backend.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 downloads folde (7c3fdc2)
  • stream download into update ZIP (79fe421)
  • support link setting definition (d71be64)
  • switch createDownloadUnreadChaptersJob to unix socket (26fa8fd)
  • update available sources listing when installing a source (1d07130)
  • use poll to check for available data before reading (cf3a881)
  • use hash of ChapterId fields for chapter filename (18710a8)
  • warnings and some bugs (2f59290)
  • workaround issue with Guya-based sources (18d59b0)

Features

  • fetch_manga_chapter usecase, skip downloading manga if it was already downloaded (15b1f05)
  • add "offline mode" message when offline (447cc0d)
  • add aarch64 build (a429600)
  • add chapter_downloader benchmark (eae6ddb)
  • add dev script (530f850)
  • add kindlehf build (52cdac2)
  • add koreader-with-plugin output (cef862d)
  • add storage_path to settings (bc3a859)
  • add storage_size_limit to the settings page (12c74cd)
  • add cancellation token support to fetch_all_manga_chapters usecase (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.json is 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 ChapterListing and MangaSearchResults (2bb0156)
  • return to library view from search results (fa75f0e)
  • settings: add languages setting (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 wasmi instead of wasmtime (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_uri and attr with abs: 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 wasmi for better performance (15b2fee)
  • database: optimize upsert_cached_chapters_informations call (a975c3e)
  • deserialize JSON directly into Value, use BTreeMap for 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_iter when mapping types (ba40afe)
  • wasm_imports: avoid cloning arrays/objects on modification if possible (1e1c660)

Don't miss a new rakuyomi release

NewReleases is sending notifications on new releases.