Skip to content

Releases: ivbeg/filerepack

Release v0.4.0

Choose a tag to compare

@ivbeg ivbeg released this 09 Oct 06:07

filerepack 0.4.0

This release expands verified recompression and adds inspection, reporting and resumable batch processing.

Highlights

  • New inspect, inspect-dcp and repack-store commands, versioned optimization profiles, nested member selection and content-verified bulk resume.
  • Local JSON/JSONL audit reports with terminal outcomes, publication status and tool/validator evidence.
  • Qualified legacy Office/OLE compaction and optional picture, embedded-file and duplicate-image optimization, including audited DOC properties, PPT notes and sound-free animation profiles.
  • WARC and CPIO writers; Apple NIB/CAR/tracev3 profiles; additional project, animation and scientific formats.
  • Preserving R serialization, PyTorch ZIP checkpoints, SPSS SAV, HDF5, NetCDF4 and native TIFF profiles, plus complete offline local Zarr v2 stores.
  • Stronger structural and content verification for archives, PDFs, images, media, fonts, databases and columnar data, with shared staging and resource supervision.

Compatibility and prerequisites

  • Python 3.9+; optional readers and native tools are required by their selected formats.
  • Existing different output/conversion destinations require --overwrite. In-place SQLite requires --sqlite-offline; distinct outputs use a consistent snapshot.
  • Parquet verification requires PyArrow 19+. Lossless PDF verification requires qpdf 11+. Video defaults to stream-copy remuxing.
  • Legacy Office needs the separately built filerepack-ole helper. Rebuild it for current memory fixes and accelerated PNG verification.
  • Checkpoints retain mmap-compatible aligned tensor storage by default; --checkpoint-compatibility load-only explicitly disables mmap compatibility.
  • MAT/ZSAV remain experimental. Safetensors, GGUF, ONNX and DCP are inspection-only. Support remains limited to the documented qualified variants; pending native reader/platform gates are identified in the documentation.

Install with pip install --upgrade filerepack. Add optional extras for the formats you use.

See the complete changelog and README for details and examples.

Validation

All 26 GitHub CI jobs passed, covering Python 3.9–3.13, Linux/macOS/Windows contracts, native Office/scientific integrations, installed wheel and source distributions, linting and documentation. The local suite passed 2,859 tests and the required coverage thresholds.

Release v0.3.0

Choose a tag to compare

@ivbeg ivbeg released this 14 Aug 09:57

First PyPI/GitHub release since 0.1.4 (0.2.0 landed on master but was never tagged).

0.3.0

Added

  • Many more ZIP-family containers (Office/ODF/iWork aliases, nupkg, vsix, apk/aab, …)
  • Tarball walk for tar, tar.gz/tgz, tar.xz, tar.zst, and related codecs; inner files are optimized then the archive is rewritten
  • Stream codecs: lz4, lzip, lzma, lzo, Unix compress (.Z); CAB and WIM
  • Images: JPEG XL, JPEG 2000, OpenEXR, DNG, ICO, ICNS, SVGZ, Photoshop PSD
  • DICOM lossless JPEG-LS via gdcmconv or dcmcjpls
  • Video: MOV/M4V kept; 3GP/MPEG-TS convert to MP4 unless --no-convert-container
  • Lossless audio: ALAC, WavPack, TTA, FLAC-in-Ogg, Monkey's Audio, MP3 via mp3packer
  • --pdf-profile Ghostscript Distiller presets; Illustrator .ai when it is a PDF wrapper
  • SQLite VACUUM, ORC/Avro/Feather/Arrow, HDF5, NetCDF, WOFF/WOFF2
  • filerepack doctor OS-specific install hints; repack --progress (TTY default)

Changed

  • Compound suffix detection (archive.tar.gz)
  • Lossy PDF uses Ghostscript /ebook (150 dpi); --pdf-profile prepress restores print quality
  • --jpeg-quality also sets Distiller QFactor for images inside PDFs

Fixed

  • --dryrun on archives now includes inner-file savings in the predicted size

Also in this release (0.2.0, previously untagged)

Atomic archive rewrites, lossless JPEG/PNG/PDF defaults, filerepack doctor, --jobs, zstd/brotli/AVIF/HEIC/FLAC/MKV/WebM, subprocess instead of os.system(), and data-loss fixes for archive rewrite and WMV/AVI conversion.

Install: pip install filerepack

Release v0.1.4

Choose a tag to compare

@ivbeg ivbeg released this 12 Nov 06:38

Release version 0.1.4

  • Added long_description_content_type to setup.py for proper Markdown rendering on PyPI

Release v0.1.3

Choose a tag to compare

@ivbeg ivbeg released this 12 Nov 06:35

Release version 0.1.3

  • Updated requirements.txt with typer and optional duckdb dependency
  • Added extras_require to setup.py for optional parquet support (duckdb)

Install with Parquet support: pip install filerepack[parquet]

Release v0.1.2

Choose a tag to compare

@ivbeg ivbeg released this 12 Nov 06:32

Release version 0.1.2

  • Converted HISTORY.rst to HISTORY.md
  • Updated setup.py to use Markdown format

Release v0.1.1

Choose a tag to compare

@ivbeg ivbeg released this 12 Nov 06:22

Release version 0.1.1

  • Fixed issue repacking .pub and .xmind files
  • Fixed issue jpeg repacking with jpeg-recompress