Skip to content

PJA 0.6.2

Choose a tag to compare

@github-actions github-actions released this 01 Nov 18:10
· 122 commits to main since this release

The 7-Zip plugin no longer crashes 7-Zip's file manager.

  • 7zFM crashed testing or extracting from inside an archive. Reported on the packJPG forum thread: opening a PJA or PJA1 archive in 7-Zip's file manager and pressing Test crashed it (0.5.1 to 0.6.1, x64 and x86); the context menu and 7z.exe worked. The cause, found with a debugger on Windows 10 and 7-Zip 25.01: FreePascal 3.2.2's heap, in a DLL, deletes its lock when the thread that loaded the DLL ends, and 7zFM loads its codecs from such a short-lived thread; PJA's threads then entered a deleted critical section. libpja and the zpaq-std plugin now take their memory from the process heap on Windows (pas/pjaheap.pas). Checked in 7zFM, x64 and x86: no errors.
  • "Not a valid Win32 application". That message comes from putting the x86 pja.dll in a 64-bit 7-Zip's Codecs folder: the x64 build goes with 64-bit 7-Zip, the x86 one with 32-bit 7-Zip (the README and doc/LIBRARY.md now say so).
  • The same bytes. The format, the streams and the zpaq-std plugin's codecs are 0.6.1's; nothing changes on Linux or macOS.

Downloads

platform the pja command the zpaq-std plugin libpja (C library, 7-Zip plugin)
Linux x86-64 pja-0.6.2-linux-x86_64.tar.gz pja-0.6.2-zpaqstd-plugin-linux-x86_64.tar.gz pja-0.6.2-lib-linux-x86_64.tar.gz
Linux x86 (32-bit) pja-0.6.2-linux-x86.tar.gz pja-0.6.2-zpaqstd-plugin-linux-x86.tar.gz pja-0.6.2-lib-linux-x86.tar.gz
Linux arm64 pja-0.6.2-linux-arm64.tar.gz pja-0.6.2-zpaqstd-plugin-linux-arm64.tar.gz pja-0.6.2-lib-linux-arm64.tar.gz
macOS arm64 pja-0.6.2-macos-arm64.tar.gz pja-0.6.2-zpaqstd-plugin-macos-arm64.tar.gz pja-0.6.2-lib-macos-arm64.tar.gz
Windows x64 (7 and later) pja-0.6.2-windows-x64.zip pja-0.6.2-zpaqstd-plugin-windows-x64.zip pja-0.6.2-lib-windows-x64.zip
Windows x86 (XP and later) pja-0.6.2-windows-x86.zip pja-0.6.2-zpaqstd-plugin-windows-x86.zip pja-0.6.2-lib-windows-x86.zip

pja-0.6.2-zpaqstd.tar.gz holds the plugin's sources as zpaq-std vendors them, with VENDOR.md. CI builds and checks every binary on its own platform (.github/workflows/release.yml); libpja is checked with its C test and, on Linux x86-64, through a real 7-Zip. SHA256SUMS has the checksums. The Linux builds need glibc 2.34 or later. The macOS ones are not signed: run xattr -d com.apple.quarantine after unpacking.