Releases
v1.0.0
Compare
Sorry, something went wrong.
No results found
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: real HTML fixture + DOM drift detection (closes #75 , #74 ) (#83 ) (2dba376 )
mangakakalot: real-world bypass + JSON API + WebP support (#59 ) (a3cdd34 )
pack: apply <slug>-volume-<input> convention to volume-number prompt input (closes #79 ) (#81 ) (157446c )
pack: prompt UX — invisible prompt text + volume-number input (#72 ) (5120fa9 )
walkthrough: drop unimplemented 'or URL' input, reject pasted URLs (#147 ) (ff85b63 )
walkthrough: respect config.default_out for download path (#140 ) (4b34ca0 )
walkthrough: use english label for chapter mode option (#141 ) (4f4687a )
You can’t perform that action at this time.