Skip to content

Releases: lovasoa/dezoomify-rs

v2.15.0

17 Jun 21:29

Choose a tag to compare

Better bulk support: download all files from an iiif manifest; set im…

v2.14.0

03 Jun 20:51
f7f83ca

Choose a tag to compare

dezoomify-rs v2.14.0

dezoomify-rs is a command-line tool for downloading zoomable images from web galleries, supporting formats including Zoomify, IIIF, DeepZoom, and others.

https://dezoomify-rs.ophir.dev/

New Features

Bulk Processing (--bulk)

Process multiple URLs from a text file in a single command. The tool reads URLs line-by-line, supports comments (#), and processes images sequentially with progress indicators.

dezoomify-rs --bulk urls.txt output_prefix.jpg
# Creates: output_prefix_0001.jpg, output_prefix_0002.jpg, etc.

Behavior:

  • Auto-enables --largest when no level constraints are specified
  • Continues processing on individual failures
  • Generates sequential filenames with _NNNN suffixes
  • Reports summary of successful/failed downloads

Closes #17, #208

Zoom Level Selection (--zoom-level)

Select specific zoom levels by 0-based index. Falls back to highest available level if requested index exceeds available levels.

dezoomify-rs --zoom-level 2 https://example.com/image.dzi

Closes #279

ICC Profile and EXIF Metadata Support

Automatically detects and preserves ICC color profiles and EXIF metadata from source tiles. Profiles are embedded in output images across supported formats (JPEG, PNG, TIFF, WebP).

Implementation:

  • Extracts ICC profiles during tile loading
  • Applies profiles during final image encoding
  • Handles profile conflicts by using first encountered profile
  • Maintains EXIF data alongside color information

Addresses #259

Technical Changes

Runtime and Dependencies

  • Updated to Rust 2024 edition
  • Updated major dependencies:
    • image crate to latest version
    • itertools to 0.14
    • sanitize-filename-reader-friendly to 2.3.0
    • evalexpr to version 12
  • Removed rustls dependency

Code Improvements

  • Added BinaryDisplay utility for Python-style binary data formatting (b'...')
  • Refactored tile creation to use builder pattern
  • Improved error handling and trace logging
  • Deferred PNG header writing to support ICC profile embedding
  • Added HTML entity decoding for image titles
  • Enhanced metadata extraction with separate loading function

Breaking Changes

None. All existing command-line interfaces remain compatible.

Documentation

  • Added comprehensive bulk mode documentation with examples
  • Updated command-line help with new options
  • Added screen recording demonstration

v2.13.0

25 Sep 10:15

Choose a tag to compare

Fix image color distortion issue

v2.12.5

13 Sep 13:25

Choose a tag to compare

updated dependencies (including image encoders)

v2.12.4

13 Jul 06:03
9e63d16

Choose a tag to compare

add support for case-sensitive HTTP headers

v2.12.3

21 Apr 20:38
7593f77

Choose a tag to compare

bugfix release

v2.12.2

20 Apr 15:22
6363d77

Choose a tag to compare

performance improvements

v2.12.1

18 Apr 07:25
c8a3316

Choose a tag to compare

modernization

v2.12.0

06 Dec 23:19
83316fd

Choose a tag to compare

v2.12.0 Pre-release
Pre-release
add support for str::substring in tiles.yaml

v2.11.3

04 Oct 21:24
76fe021

Choose a tag to compare

v2.11.3 Pre-release
Pre-release
better argument parsing