Releases: lovasoa/dezoomify-rs
v2.15.0
v2.14.0
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
--largestwhen no level constraints are specified - Continues processing on individual failures
- Generates sequential filenames with
_NNNNsuffixes - Reports summary of successful/failed downloads
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.dziCloses #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:
imagecrate to latest versionitertoolsto 0.14sanitize-filename-reader-friendlyto 2.3.0evalexprto version 12
- Removed
rustlsdependency
Code Improvements
- Added
BinaryDisplayutility 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
Fix image color distortion issue
v2.12.5
updated dependencies (including image encoders)
v2.12.4
add support for case-sensitive HTTP headers
v2.12.3
bugfix release
v2.12.2
performance improvements
v2.12.1
modernization
v2.12.0
add support for str::substring in tiles.yaml
v2.11.3
better argument parsing