-
Notifications
You must be signed in to change notification settings - Fork 2
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.
| 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.
| 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. |
| Version | Date | Highlights |
|---|---|---|
| 3.0 | 03/30/2026 | Major version: native multi-threading (-thN, -sfth), C++17 modernization. |
| 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) |
.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.
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.