Repository navigation
Releases: gustavommcv/mangaprep
Release list
v0.9.0
This is the first release named mangaprep, formerly mangapress. It follows KCC 12.1.1,
fixes derived Kobo EPUB filenames and adds seven fixed-resolution profiles. The executable,
release archives and installer variables have the new name; existing book identifiers stay
the same. EPUB, CBZ and PDF remain the supported output formats.
Updating from mangapress
- Run
mangaprep(mangaprep.exeon Windows) and update scripts that invokemangapress.
No executable alias with the old name is installed. - Release archives are
mangaprep-<target>.tar.gzor.zip. Installer overrides are
MANGAPREP_INSTALL_DIR,MANGAPREP_VERSIONand, on Windows,MANGAPREP_NO_PATH_UPDATE.
The old variables are no longer read. The Unix license directory ismangaprep-licenses. - The repository is gustavommcv/mangaprep.
Earlier releases keep their original archive and executable names. - Machine protocol version 1 is retained, but
toolis now"mangaprep".
Consumers that validate the tool name must update it together with the executable and
release pin (ADR 0031).
Conversion changes
- Derived filenames for Kobo EPUBs are safe for the reader. Each of
/ \ ? % * : ; | " ' > < $ !becomes_, without collapsing consecutive characters.
Spaces, dots and hyphens stay. This applies to file and folder inputs, with or without
an output folder, including--nokepub. An explicitly requested filename is kept as given;
callers choosing one must apply the Kobo rules themselves. Custom resolutions retain
the existing behavior of not treating the profile as a Kobo. - 16-bit pages keep the high byte of each sample, matching KCC 12.1.1 for grayscale and
Pillow for color and alpha input. Previous releases scaled and rounded the samples. - Pages classified as grayscale become gray before gamma correction. Color pages
retain gamma correction per channel, including when their final output is grayscale. - Seven fixed-resolution profiles follow
OTHER:2400x3200,1860x2480,1650x2200,
1536x2048,1404x1872,1264x1680and1072x1448. They have no device-family behavior.
The existing Kindle 11, Paperwhite 6 and Kobo Clara labels also name the 2026 Kindles
and Clara BW (ADR 0030). - Output collisions use the suffix
(mangaprep), and EPUB contributor metadata names
mangaprep-0.9.0. The namespace used to derive book identifiers remains unchanged. - The locked
ctutilsdependency is updated to 0.4.4 for RUSTSEC-2026-0385.
The reference is KCC 12.1.1. The tag workflow runs the extended comparisons and
complete-book EPUB conformance checks before publishing the four target packages and checksums.
Manga2Ink's bundled converter is updated separately; publishing this CLI release does not
change the desktop app's pinned binary, tool name or protocol expectations.
Full changelog: v0.8.3...v0.9.0
v0.8.3
What's Changed
- fix: a PDF keeps each page at full resolution, as its own JPEG (ADR 0027) by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/67
- fix: decode JPEG pages with libjpeg-turbo, as KCC's Pillow does (ADR 0028) by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/68
- docs: compare with KCC on real manga, and keep the tools to do it again by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/69
- test: real_books.py does not count a webtoon book's cover as a difference by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/71
- chore: prepare v0.8.3 by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/70
Full Changelog: https://github.com/gustavommcv/mangapress/compare/v0.8.2...v0.8.3
v0.8.2
What's Changed
- docs: say that 0.8.1's PNG files differ in size from 0.8.0's by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/63
- refactor: share what the contents call a chapter and which volume it is in by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/64
- feat: a PDF has bookmarks, one for each chapter and, with --nested-toc, one for each volume by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/65
- chore: prepare v0.8.2 by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/66
Full Changelog: https://github.com/gustavommcv/mangapress/compare/v0.8.1...v0.8.2
v0.8.1
What's Changed
- chore(deps): update zip to 9, clearing RUSTSEC-2026-0367, -0368 and -0369 by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/61
- fix: keep a CBZ's chapters in the folders they were in by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/60
- chore: prepare v0.8.1 by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/62
Full Changelog: https://github.com/gustavommcv/mangapress/compare/v0.8.0...v0.8.1
v0.8.0
Highlights
- Kindle profiles now default to CBZ.
--format auto(including omitting--format)
chooses CBZ for every Kindle, PDF for reMarkable, and EPUB for Kobo andOTHER.
Use--format epubto keep EPUB output, chapter navigation, and resolved book metadata.
CBZ can retain source ComicInfo unchanged with--keepcomicinfo, but does not generate
chapter navigation or apply metadata overrides inside the archive. --nested-tocwith automatic format selection produces EPUB on every profile.
Explicit--format cbzor--format pdfwith--nested-tocis still refused.- EPUB pages no longer reserve extra line height below their images in KOReader.
The wrapper stylesheet removes the measured baseline gap while preserving image proportions.
This does not override the reader's margins or status bar. The rendering evidence is from
KOReader's engine, not a claim that every reader or physical device was tested. - Handle CBZs with a single enclosing folder and their ComicInfo, pages alongside chapter
folders, UTF-16 or unreadable metadata, signed issue numbers, filename ordering, and custom
sizing defaults more consistently. - Recover available image data from supported truncated PNG/GIF pages. Files without readable
required headers remain errors. - Optimize JPEG Huffman tables and 4:2:0 color sampling, and improve PNG compression.
Comparison checks cover pixels, codec structure, and size, not identical compressed bytes. - Complete the behavior-preserving refactor: focused CLI phases, EPUB builders, and image
pipeline stages, with tests beside their modules. This improves maintainability, not a
promised conversion-speed increase.
Compatibility
The automatic Kindle format change is intentional and is why this release is 0.8.0.
Explicit format selection remains available; no flags or supported output formats were removed.
The JSON Lines machine protocol remains version 1, with the same capabilities.
Mangabound is not updated by this release. Its pinned toolchain will be updated separately;
it already passes an explicit output format on each conversion.
Validation and downloads
Publication is gated on the tagged commit's Windows, Linux and macOS CI, advisory and license
checks, extended KCC 12.0.0 comparisons, and independent EPUBCheck 5.4.0 conformance checks.
The selected matrices do not claim exhaustive device, option, rendering, or performance coverage.
Choose the package for your platform: Windows x64, Linux x64 (musl), macOS Intel, or macOS
Apple Silicon. Packages include the executable and license notices. checksums.txt contains
their SHA-256 hashes.
See release documentation,
ADR 0023,
and ADR 0024.
Full changelog: https://github.com/gustavommcv/mangapress/compare/v0.7.3...v0.8.0
v0.7.3
This patch release improves output safety, input handling and EPUB compatibility. It adds no new CLI flags or output formats; the JSON protocol remains version 1.
Highlights
- Preserve existing books and validate portable output filenames. Completed output is synchronized before no-clobber publication, and Unix file permissions respect the user's umask.
- Check individual input sizes and image dimensions before decoding, and keep discovered folder links inside the selected input. These checks are not a whole-process memory limit.
- Match KCC 12.0.0's format-specific Kindle DX dimensions and Scribe EPUB width cap.
- Fix centered EPUB spine properties and nested NCX ordering. EPUB with
--noprocessingnow rejects BMP with a clear recovery message; normal BMP conversion and CBZ passthrough remain supported. - Improve terminal help, page-failure diagnostics and pipe handling.
- Verify installer downloads against release checksums and include target-specific dependency license notices in every package.
Verification
The release workflow checks the tagged commit on Windows, macOS and Linux with the pinned Rust 1.98.1 compiler. It also runs extended comparisons against KCC 12.0.0 and EPUBCheck 5.4.0 on 19 complete synthetic books, with content assertions and expected-failure controls, before building packages.
A separate Linux desktop KOReader 2026.07.1 smoke test passed rendering and navigation scenarios on the pre-release candidate. It does not establish physical-device behavior, performance or real-manga image quality. Selected parity and conformance checks are not exhaustive reader coverage.
What's Changed
- docs: add the October 2026 audit report by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/10
- docs: simplify usage and contributor documentation by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/11
- fix: integrate October audit follow-ups by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/20
- fix: bound input reads and validate image dimensions by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/12
- fix(input): keep folder links inside the selected root by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/14
- fix(profiles): match KCC targets and automate device parity by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/15
- chore(deps): remove unused crates and limit page image codecs by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/16
- build: ship source dependency license notices by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/17
- ci: pin checks and gate release publication by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/18
- fix(install): verify versioned downloads and retain license notices by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/19
- fix(cli): plan safe output names and publish without overwriting by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/13
- test: broaden named KCC parity coverage by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/21
- fix: use the standard centered EPUB spine property by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/22
- test: gate complete EPUB books with pinned EPUBCheck by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/23
- fix: assign NCX play order by navigation target by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/24
- fix: reject BMP passthrough only for EPUB output by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/25
- test: cover selected complete EPUB contracts by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/26
- chore(release): prepare 0.7.3 and reader verification by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/27
- fix: preserve ordinary Unix permissions for published books by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/28
Full Changelog: https://github.com/gustavommcv/mangapress/compare/v0.7.2...v0.7.3
v0.7.2
What's Changed
- fix: report a Kobo book's format as epub, not as its file extension by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/8
- chore(release): bump to v0.7.2 by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/9
Full Changelog: https://github.com/gustavommcv/mangapress/compare/v0.7.1...v0.7.2
v0.7.1
What's Changed
- fix: ship the complete Apache License 2.0 text by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/6
- chore(release): bump to v0.7.1 by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/7
Full Changelog: https://github.com/gustavommcv/mangapress/compare/v0.7.0...v0.7.1
v0.7.0
What's Changed
- feat!: follow KCC 12.0.0 exactly, checked against KCC itself by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/4
- chore(release): bump to v0.7.0 by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/5
Full Changelog: https://github.com/gustavommcv/mangapress/compare/v0.6.0...v0.7.0
v0.6.0
What's Changed
- docs: remove HakuNeko references in favor of neutral raw chapter work… by @umenorin in https://github.com/gustavommcv/mangapress/pull/1
- feat: build a two-level table of contents for a combined series (EPUB) by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/2
- chore(release): bump to v0.6.0 by @gustavommcv in https://github.com/gustavommcv/mangapress/pull/3
New Contributors
- @umenorin made their first contribution in https://github.com/gustavommcv/mangapress/pull/1
- @gustavommcv made their first contribution in https://github.com/gustavommcv/mangapress/pull/2
Full Changelog: https://github.com/gustavommcv/mangapress/compare/v0.5.0...v0.6.0