Skip to content

3.0 Windows & Linux

Choose a tag to compare

@YadeWira YadeWira released this 31 Mar 01:15
· 108 commits to master since this release

v3.0 (03/30/2026) (public)

  • new flag: [-sfth] parallel single-file compression using 3 threads (Y/Cb/Cr)
    ~25-30% faster on 3+ thread machines; ratio preserved (~0.01% delta)
    generates new .pjg format (0x01 marker); requires v3.0+ to decompress
    both encode and decode are parallelized
  • warning shown when -sfth is used with fewer than 3 detected threads
  • optimal batch+single-file usage: -th<N/3> -sfth on an N-thread machine
  • fixed: [a] mode no longer creates empty .pjg files for skipped JPEGs
  • fixed: [x] mode no longer creates empty .jpg files for skipped PJGs
  • fixed: skipped files in a/x mode are now silent (no warning printed)
  • fixed: unrecognized flags (e.g. -th=) now print a clear error message
    instead of being silently treated as filenames
  • fixed: jpgfilesize/pjgfilesize changed from int to int64_t — prevents
    0.00% ratio reporting on large files (>2GB) and on 32-bit builds
  • fixed: -th0 on x86 now caps at 2 threads to prevent OOM; x64/Linux
    still uses all available cores
  • fixed: progress counter now shows only processable files (e.g. "2 of 2"
    instead of "5 of 5" when 3 of the 5 files are skipped)
  • fixed: verbose mode (-v1/-v2) no longer prints header lines for skipped
    files — only processed files appear in the output
  • fixed: skipped files (wrong type) no longer print warnings in MT mode
    (-th2 or higher)
  • fixed: directories from wildcard expansion are now silently ignored;
    use -r explicitly to recurse into subdirectories
  • fixed: decompressing -sfth files with -ver incorrectly reported "file sizes
    do not match" even when the output was bit-for-bit correct; verify now
    re-encodes using the same format (sfth or standard) as the original PJG
  • fixed: 'mix' mode warning incorrectly referenced '-c' (non-existent flag);
    message now correctly reads 'a' (compress only)
  • fixed: 'list' subcommand displayed 'v0.1' for -sfth files instead of the
    correct version; sfth files now show 'v3.0 (parallel)'
  • maintainer: Yade Bravo (https://github.com/YadeWira/packJPG)