Skip to content

Release archive

YadeWira edited this page Jun 10, 2026 · 2 revisions

Release archive

Historical release index for YadeWira/packJPG. Each entry links to the GitHub release page (with downloadable binaries) and summarizes what shipped.

For full changelog prose, see CHANGELOG.md in the repo.


v4.0 LTS line (current)

Version Date Highlights
v4.0e 2026-06-10 Embedding library / DLL / .so API (multithreading on by default; pjglib_convert_batch, thread controls). Optional decompression-bomb guard (-maxout<MB> CLI / pjglib_set_max_output_size). Self-contained Windows DLL. Format unchanged. Latest release.
v4.0d 2026-05-06 Speed update: LTO, branch hints, make pgo / make native targets. -6.3 % encode / -4.2 % decode default; -14.4 % / -11.9 % with PGO. Format unchanged.
v4.0c 2026-04-27 New -fs flag for folder-structure preservation under -od (caesium-clt -RS semantics). Format unchanged from v4.0b.
v4.0b 2026-04-27 Format simplification + diagonal DC neighbour context. Drops the v3.1d-via-legacy dispatch; new sub-marker 0x02 flags v4.0b features. Format break vs v4.0/v4.0a.
v4.0a 2026-04-21 Bugfix update of v4.0.
v4.0 2026-04-21 Format break: cross-component lazy prediction (Cb/Cr DC uses Y's bit-length as extra context). New version byte 0x28.

The v4.0 line is format-stable since v4.0b: .pjg files produced by v4.0b/c/d/e are byte-exact equivalents and decode identically across all four. v4.0e is the latest update; it adds the embedding library API and a decompression guard but no format change. Updates within this LTS line stay format-stable — anything that would break the .pjg format lands in a future v4.1.


v3.1 line (legacy)

Version Date Highlights
3.1d 04/02/2026 Thread safety + UB cleanup (TLS, signed-overflow fixes). Last v3.x release. Use this build to decode v2.5x / v3.x archives if migrating to v4.0+.
3.1c 04/02/2026 Public bugfix release.
3.1b 04/02/2026 Public bugfix release.
3.1a 04/02/2026 Public bugfix release.
3.1 04/02/2026 First public release of the v3.1 line.

v3.0

Version Date Highlights
3.0 03/30/2026 Major version: native multi-threading (-thN, -sfth), C++17 modernization.

v2.x

Version Date Highlights
2.9 03/25/2026 Last v2.x release before C++17 modernization.
2.8 (legacy)
2.7 (legacy)
2.6 (legacy)

Compatibility quick reference

.pjg file from Decode under v4.0e Decode under v4.0b/c/d Decode under v4.0/v4.0a Decode under v3.1d
v4.0b/c/d/e ✅ (byte-exact)
v4.0/v4.0a ✅ (transparent) ✅ (transparent)
v3.x
v2.x ✅ (transparent)

If you have legacy archives, see Migration from upstream for the recommended workflow.


Upstream lineage

This fork (YadeWira/packJPG) is downstream of packjpg/packJPG by Matthias Stirner (last upstream release: v2.5k, around 2017). The fork added thread safety, modern C++, format generation v3.x then v4.x, and the LTS structure. License moved from GPL-3.0 to LGPL-3.0.

Clone this wiki locally