Repository navigation
PJA 0.6.0
Stream version 7 comes to the zpaq-std plugin. The pja command and libpja are the same as in 0.5.3.
- Four new codecs, frozen.
pja7andpjax7take whatpjaandpjaxtake and write stream version 7, the model the command has used since 0.1.0.pja7zandpjax7zare their z twins, for blocks that go through zpaq's LZ77. Each comes with its ZPAQL decoder (35,104 to 35,987 bytes), so plain zpaq still extracts the archive without the plugin. The four are frozen for zpaq-std 2.1.0: their streams and ZPAQL never change under these names. zpaq-std users still write-saor-sa:pja; the new names only show in listings and in-sat. - Smaller and faster. zpaq-std measured them through its whole path (
-sa -t8) against its 2.0.3: photos -3.1%, corpus -2.4%, MPO -1.0%, arithmetic-coded -3.1%, generated -2.6%. Writing is 1.3 to 1.6 times as fast, extracting 1.2 to 1.6 times, and zpaq 7.15 with the new ZPAQL 1.5 to 1.6 times (151 photos: 191 -> 121 s). Every file comes back, natively and with zpaq 7.15, with the smallest window as well. zpaq-std's CI built the plugin on six platforms and wrote the same archive on every one. - The plugin now links C. Version 7's model is C (
pjav7c.c), so building the plugin needs a C compiler next to FreePascal. The C calls no library: the Windows DLL imports the same system DLLs as before.VENDOR.mdinpja-0.6.0-zpaqstd.tar.gzhas the commands for each platform. - What stays the same. Codecs 0 to 9, their streams and their ZPAQL are unchanged, so every archive written before opens as it did.
Downloads
| platform | the pja command |
the zpaq-std plugin | libpja (C library, 7-Zip plugin) |
|---|---|---|---|
| Linux x86-64 | pja-0.6.0-linux-x86_64.tar.gz |
pja-0.6.0-zpaqstd-plugin-linux-x86_64.tar.gz |
pja-0.6.0-lib-linux-x86_64.tar.gz |
| Linux x86 (32-bit) | pja-0.6.0-linux-x86.tar.gz |
pja-0.6.0-zpaqstd-plugin-linux-x86.tar.gz |
pja-0.6.0-lib-linux-x86.tar.gz |
| Linux arm64 | pja-0.6.0-linux-arm64.tar.gz |
pja-0.6.0-zpaqstd-plugin-linux-arm64.tar.gz |
pja-0.6.0-lib-linux-arm64.tar.gz |
| macOS arm64 | pja-0.6.0-macos-arm64.tar.gz |
pja-0.6.0-zpaqstd-plugin-macos-arm64.tar.gz |
pja-0.6.0-lib-macos-arm64.tar.gz |
| Windows x64 (7 and later) | pja-0.6.0-windows-x64.zip |
pja-0.6.0-zpaqstd-plugin-windows-x64.zip |
pja-0.6.0-lib-windows-x64.zip |
| Windows x86 (XP and later) | pja-0.6.0-windows-x86.zip |
pja-0.6.0-zpaqstd-plugin-windows-x86.zip |
pja-0.6.0-lib-windows-x86.zip |
pja-0.6.0-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.