Releases: LuMiSxh/Thasia
Releases · LuMiSxh/Thasia
Release list
Thasia v0.6.0
Added
- AVIF quality profiles for high detail, balanced output, and compact files. High detail is the default and uses the requested higher-quality encoding tiers.
- A final action to open the output folder after a conversion writes at least one volume.
Changed
- Conversion results now distinguish completed, partially failed, and cancelled runs instead of treating every command return as success.
- CBZ, EPUB, and raw outputs are built in a staging location and only replace an existing volume after packaging succeeds.
- The review page now shows the complete transform pipeline and the selected AVIF quality profile.
- Encoding controls now separate core output settings from optional transforms, keep advanced processing collapsed when unused, and summarize enabled transforms at a glance.
- Review and conversion screens now present image, package, pipeline, progress, and result details with clearer Anasthasia panels, cards, and status badges.
- Discovery, page-editing, and settings screens now use shared Anasthasia empty states, interactive cards, field rows, path displays, and segmented controls for more consistent feedback and spacing.
- The frontend toolchain now uses Vite 8, Tailwind CSS 4.3, TypeScript 6, and current Svelte tooling; matching Tauri JavaScript and Rust packages are pinned to identical versions.
- Suwayomi updates stage and verify a complete replacement before swapping out the installed server.
Fixed
- Split spreads now preserve both halves in reading order without overwriting a page or reporting progress beyond the source-page count.
- Fetch and directory traversal failures are reported instead of silently producing incomplete volumes.
- Cancelling a conversion discards the in-progress volume while keeping volumes that were already committed.
- Linear-light resizing no longer applies the color transfer curve to transparent alpha values.
- AVIF conversion now preserves transparent alpha instead of flattening it to RGB.
- Existing raw output directories no longer retain stale pages from an older conversion.
- ComicInfo metadata no longer invents a language, and its front-cover page index is valid.
- Updated Tailwind tooling no longer triggers Node's deprecated
module.register()warning during builds. - Review panels no longer shrink and clip their contents when the conversion summary is taller than the available window.
Thasia v0.5.0
Changed
- Stronger AVIF compression — adaptive quality tiers now use 58/54/50/46/42 and rav1e speed levels 4/3/2/1/1. Encoding takes longer, especially for large pages, in exchange for materially smaller files.
- Monochrome AVIF tuning — grayscale pages now reduce quality by 8 points and line art by 12 points, with encoder effort increased down to speed 1.
- Anasthasia 0.2 migration — UI components, namespaced flavour tokens, theme state, keyboard registration, and the optional keyboard entrypoint now use the breaking 0.2 API.
- Settings controls — the default output path and its actions now use Anasthasia's PathDisplay, IconButton, and Button components for consistent layout and interaction states.
Fixed
- Large monochrome AVIF size regression — removed the old quality-55 floor that could raise large grayscale and line-art pages above their color quality tier instead of compressing them harder.
- Control accessibility — progress bars, segmented controls, and icon-only toggles now expose explicit accessible names.
Thasia v0.4.2
Changed
- Bilateral filter — range weights are now precomputed into a 511-entry lookup table, eliminating
exp()from the innermost pixel loop. Moire reduction is significantly faster at equivalent quality. - Tone cleanup — smoothstep mapping is now precomputed into a 256-entry lookup table per image instead of running floating-point math per pixel.
- Color enhancement — sRGB-to-linear expansion for Oklab conversion is now precomputed into a 256-entry lookup table, replacing three
powf(2.4)calls per pixel on color pages. - Bilateral filter raw access — neighbor luma is now computed directly from the raw byte slice already in cache, removing the redundant
get_pixelabstraction call per neighbor. - Auto-crop allocation — grayscale images now borrow the existing luma buffer for crop detection instead of always allocating a converted copy.
- Image tone classification — tone is now classified once per image in the transform pipeline and passed through to the encoder, eliminating two redundant sampling passes per conversion.
- WebP compression effort — encoder method raised from default (4) to maximum (6) for smaller output at the same quality setting. Thread-level set to 0 to prevent libwebp competing with Rayon for cores.
- AVIF encoder speed — large-image tier lowered from speed 6 to 5, huge-image tier from 6 to 4 for meaningfully smaller files. Grayscale images additionally benefit from one extra effort level via the existing speed-subtract logic (floor removed).
Thasia v0.4.1
Added
- Double-page spread splitter — manga with facing pages can now be split into individual pages with configurable LTR/RTL reading direction handling.
- Auto-crop whitespace transform — scan borders and surrounding whitespace can now be automatically cropped with configurable padding around the content.
- Bilateral filter for noise reduction — optional moire pattern and screentone reduction before scaling for improved output on heavily screened source material.
- Floyd-Steinberg dithering — 16-level grayscale quantization for e-ink output with ordered dithering.
Changed
- Tone clamping smoothing — binary near-white/near-black tone clamping replaced with smoothstep Hermite interpolation for smoother tonal transitions.
- Color saturation — replaced luma-based saturation with perceptually uniform Oklab chroma scaling for more accurate color balance.
- Image scaling — now uses Lanczos3 scaling in linear light to preserve thin-line brightness and detail.
- Gamma conversion optimization — replaced allocation-heavy gamma conversion with in-place LUT-based passes for improved memory efficiency.
- Pipeline module structure — internal pipeline and transform stages split into focused submodules (~300 lines/file) for better maintainability.
Thasia v0.4.0
Thasia 0.3.0
Added
- Forced re-encode path — matching AVIF/WebP inputs pass through by default, but the app can now force a full decode, transform, and encode pass when smaller normalized output is preferred.
- Mandatory native AVIF decode — AVIF input decoding now uses
avif-decode, allowing forced AVIF re-encode instead of instantly failing on AVIF sources theimagecrate cannot decode. - Optional clean scan tones transform — grayscale and line-art pages can normalize near-white paper to pure white and near-black ink to pure black without cropping or changing page geometry.
- Modular transform pipeline — decoding, default transforms, optional transforms, resizing, and encoding are now explicit stages, making future filters and metadata cleanup easier to add.
- Page editor hover preview — hovering a page tile for a short dwell opens a larger inspect preview with page metadata, making tall manhua pages and mid-volume ads easier to identify without changing the grid workflow.
- Release changelog automation — the publish workflow validates the requested tag against the workspace version and uses the matching
CHANGELOG.mdsection as release notes.
Changed
- Conversion pipeline throughput — packaging now receives processed pages in deterministic order while conversion stays parallel, with bounded in-flight image work to avoid runaway memory use on large jobs.
- Archive and output safety — archive extraction and generated filenames are sanitized more aggressively, including CBZ ComicInfo XML escaping and safer custom image paths.
- CBZ packaging — already-compressed image formats are stored directly instead of being ZIP-deflated again, saving CPU without increasing output size.
- Large-volume page editor performance — the page review grid now virtualizes visible tiles, uses async image decoding, shows loading placeholders, and suppresses hover previews while scrolling, avoiding thousands of mounted thumbnails on 2,000+ page inputs.
- Build requirements — CMake is now required for development and release builds because AVIF decoding is bundled at compile time.
- Release builds — CI installs CMake and platform link tooling needed by the Rust/Tauri build.
Fixed
- AVIF inputs no longer fail immediately when force re-encoding is enabled.
- Large conversions are less likely to fail from queued raw-image buffers piling up faster than the encoder and packager can consume them.
- Page review no longer tries to load every active-volume thumbnail at once, reducing frontend lag, RAM spikes, resize stalls, and blank/black thumbnail states on very large inputs.
- Cancelled Tauri conversions stop the pipeline more reliably instead of continuing background work unnecessarily.
Removed
- Removed the headless CLI crate and release artifacts. Thasia 0.3.0 is GUI/Tauri-first.
Thasia v0.2.0
See the assets to download this version and install.
Thasia v0.1.0
See the assets to download this version and install.