Skip to content

Releases: LuMiSxh/Thasia

Thasia v0.6.0

Choose a tag to compare

@github-actions github-actions released this 15 Jul 18:58

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

Choose a tag to compare

@github-actions github-actions released this 03 Jul 16:14

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

Choose a tag to compare

@github-actions github-actions released this 20 Jun 21:00

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_pixel abstraction 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

Choose a tag to compare

@github-actions github-actions released this 11 Jun 20:32

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

Choose a tag to compare

@github-actions github-actions released this 10 Jun 11:38
840941e

Thasia v0.4.0

Thasia 0.3.0

Choose a tag to compare

@github-actions github-actions released this 30 May 14:53

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 the image crate 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.md section 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

Choose a tag to compare

@github-actions github-actions released this 29 May 15:48
fdc0670

See the assets to download this version and install.

Thasia v0.1.0

Choose a tag to compare

@github-actions github-actions released this 27 May 18:15

See the assets to download this version and install.