2.6 Windows & Linux
v2.6 (03/19/2026) (public)
- ported to C++17; removed dependency on std::experimental::filesystem
- clang 18 support: removed GCC-only -fsched-spec-load flag
- fixed segfault: current_order going negative on malformed input (packjpg#41/packjpg#35)
- fixed heap-buffer-overflow: shift_context() lacked bounds check on links[] (packjpg#33)
- fixed global-buffer-overflow: qtable_id not validated before indexing qtables[] (packjpg#32)
- fixed global-buffer-overflow: errormessage buffer 128->512 bytes, sprintf->snprintf (packjpg#30)
- fixed alloc-dealloc mismatch: BitWriter::get_c_bytes() now uses malloc (packjpg#31)
- fixed memory leaks: early returns in read_jpeg() now clean up all allocations (packjpg#34)
- fixed undefined behaviour: DEVLI macro triggered negative shift when s=0
- removed dead code: plocoi, median_int, median_float, unused ccode field
- new switch: [-od] write output files to a specified directory (packjpg#37)
- performance: BitWriter and MemoryWriter pre-allocate buffers using input size hint
- cross-compilation targets for Linux x64, Windows x64 and Windows x86 added to Makefile
- maintainer: Yade Bravo (https://github.com/YadeWira/packJPG)