Skip to content

Releases: malaquiasdev/scanldr

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Jul 14:09
43b49c8

1.2.0 (2026-07-17)

Features

  • auth: auto-extract cf_clearance from the local browser (macOS/Chromium) (#203) (07216ac)
  • auth: capture a fresh cf_clearance via an undetected browser (patchright) (#209) (35125b5)

Bug Fixes

  • auth: non-Chrome UA prompt + open the CF-triggering URL (not home) (#206) (b98ef91)

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Jul 17:27
11720a4

1.1.0 (2026-07-16)

Features

  • auth: multi-step recovery guide when paste is not a cURL command (#104) (#158) (4a80ed4)
  • downloader: reassemble CDN vertically-tiled mangakakalot pages (#170) (27766b7)
  • downloader: stderr progress indicator for long-running fetches (#108) (#165) (c9c13b2)
  • walkthrough: post-download loop — download more without restarting (#163) (#166) (9f215a5)
  • walkthrough: restore chapter→volume grouping (pack + cover) (#184) (e69132e)
  • walkthrough: show the actual chapter/volume label in the progress bar (#176) (106dab3)

Bug Fixes

  • fallback-http: scope CF short-circuit latch per cookie lane (#137) (#148) (a08bc78)
  • mangadex: paginate feedChapters beyond 500-chapter cap (#121) (#149) (a3e12d0)
  • mangadex: thread user config (language/quality) into adapter (#124) (#152) (6dfbee2)
  • mangakakalot: friendly CLI message on DOM-drift parse error (#114) (#159) (13b2e33)
  • mangakakalot: sentinel instead of synthetic chapter num for null chapters (#122) (#151) (7ba02f2)
  • walkthrough: inject cover into volume-mode cbz (#123) (#160) (3e0abd8)
  • walkthrough: keep logs and warnings from clobbering the live progress bar (#174) (50f3ac3)
  • walkthrough: stop per-page fetch log from clobbering the progress bar (#172) (ebd8fa0)

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 00:17
31b97d6

1.0.0 (2026-07-02)

Features

  • auth: Playwright headful Chromium and cookie extraction (#31) (3f7df79), closes #20
  • auth: replace Playwright with manual cURL paste flow (#62) (1cea3b5)
  • cli: decommission legacy commands and drop subscriptions/downloads tables (Phase 4 of #116) (#120) (15aa8f3)
  • cli: fallback path in download with user-prompted choice (#57) (7632d0f), closes #23
  • cli: implement history list and clear commands (closes #67) (#82) (fb34407)
  • cli: list subcommand end-to-end (#44) (ec90be6)
  • cli: scaffold project (#2) (0292fb9)
  • cli: wire download --chapter (#15) (#54) (4aac8b7)
  • cli: wire download --volume end-to-end (MangaDex source) (2375a7b)
  • config: scanldr.json loader with discovery order and defaults (#25) (a23cfe6)
  • download: pack chapter range as single volume cbz (#66) (775b01c)
  • fallback-http: HttpClient with cookie replay (#55) (dfe19e2)
  • fallback: source volume mapping from fallback site when MangaDex has all_external (#73) (f332b91)
  • history: SQLite bootstrap and download history queries (#29) (173f81b), closes #10
  • logger: logger module with levels and --verbose/--quiet/--json (#26) (5c9ff65)
  • logger: make JSON the default log format and surface fields in human mode (#99) (cb0143c)
  • mangadex: at-home server with retry and reporting (#41) (ef16cba)
  • mangadex: handle external chapters gracefully (#50) (6bd1241)
  • mangadex: HTTP client with rate limit and retries (#30) (409fc3f), closes #7
  • mangakakalot: client and parser with cheerio (6eba070)
  • mangakakalot: route getVolumeMap through chapter-list API when inline DOM absent (closes #95) (#97) (f365e7c)
  • pack: prompt for cover image URL when packing volume cbz (closes #77) (#93) (8784da0)
  • subscriptions: reshape API to object-args and add refreshTitle (#46) (24aef27)
  • traces,logger: SQLite trace store + revert default flip (Phase 1 of #116) (#117) (b8068c4)
  • walkthrough: catch Cloudflare rejection mid-flow and auto-refresh (a+b) (#130) (1811001)
  • walkthrough: probe session and auto-refresh on Cloudflare rejection (#128) (2342d20)
  • walkthrough: prompt for volume number before packing (#139) (23602c7)
  • walkthrough: scaffold interactive 9-step flow (Phase 2 of #116) (#118) (335e39e)
  • walkthrough: wire to real source clients, auth, downloader, pack-flow (Phase 3 of #116) (#119) (adb3652)

Bug Fixes

  • 14: address QA P0 (CliError consolidation) + P1/P2 test gaps (f881fa3)
  • 14: correct argv routing so command flags reach handlers (d76ff8a)
  • 14: move types to types.ts; log warn before wrapping/refusing in download path (addb638)
  • 14: per-chapter image fetcher on ChapterInput; add multi-chapter test (545481d)
  • 22: address QA — throw MangakakalotParseError on DOM drift; move client interface to types.ts; CF coverage (15d8b88)
  • auth: skip cf_clearance poll when site loads without a challenge (#45) (85d26ba)
  • fallback-http: short-circuit queued requests after Cloudflare rejection (#134) (e24c982)
  • fallback-http: skip CF body peek for binary content-types (#142) (f66cc84)
  • fallback: clear error when requested volumes aren't mapped in MangaDex aggregate (#60) (84f65df)
  • fallback: restrict fallback volume mapping to --volume mode only (regression from #73) (#76) (0adcd7b)
  • list: use readableAt instead of publishAt for chapter date (#49) (bc7b935)
  • mangakakalot: drop cross-origin cookie and add Referer for image CDN (#136) (578c06e)
  • mangakakalot: exclude banner ads and non-CDN images from chapter pages (ae77404)
  • **mangakakalot:...
Read more