Releases: pcodec/pcodec
Releases · pcodec/pcodec
v0.4.6
Python v0.3.5
- Upgraded Rust implementation to 0.4.6.
- Fixed a bug in standalone decompression that could have caused segfaults on very old standalone Pco files or those written by the low-level API without an
n_hint
.
Java v0.1.2
- Upgraded Rust implementation to 0.4.6.
- Fixed a bug in standalone decompression that could have caused segfaults on very old standalone Pco files or those written by the low-level API without an
n_hint
.
v0.4.5
Format Changes
- Added "uniform type" functionality to standalone files, making it possible to write typed files containing 0 elements. This introduced the standalone version 3, but is only used when explicitly opted into, so old code will still write the same standalone version as before.
New functionality
- Added a
simple_decompress
function tostandalone::FileDecompressor
. This simplifies code for FFI libraries and users who need to peek at the number type before decompressing.
Improvements
- Improved compression speed at high compression levels by as much as 100%.
- Improved decompression performance 1-10% in most cases via some very low-level optimizations.
- Fixed a bug that the number of items per page could overflow and cause a spurious InvalidArgument error during compression.
- Fixed a bug in overzealous mode validation that could cause spurious corruption errors during decompression.
Python v0.3.4
- Upgraded Rust implementation to 0.4.4.
- Made some crude documentation visible at https://pcodec.readthedocs.io/en/latest/.
- Built with LTO, reducing package size slightly.
Java v0.1.1
Upgraded Rust implementation to 0.4.3.
v0.4.4 + CLI v0.4.3
(skipping 0.4.3 in main library because of a harmless publishing mistake)
- Improvements
- Reduced decompression startup time by 50-70% by heap allocating some very large structs instead of copying them. This is only noticeable for small pages.
- Added a warning at build time if building for x64 in release profile without the avx2, bmi1, and bmi2 instruction sets.
- CLI
- Fixed multi-channel wav file interleaving; now each channel is a separate column.
bench
- Added Vortex comparator in
full_bench
. - Added option to print the results table in inverse or all units.
- Added Vortex comparator in
Java v0.1.0
- Created basic standalone Java bindings for simple_compress and simple_decompress.
- Used Rust version 0.4.2.
- Published as a single JAR containing dynamic libraries for x64 and aarch64 Linux and Mac, plus x64 MSVC windows.
Python v0.3.3
Upgraded Rust implementation to 0.4.2.
v0.4.2
- Improvements
- Fixed a hypothetical panic that could have occurred on corrupt delta lookback data (though this never happened).
- Internally simplified compression slightly (bin optimization and delta lookbacks).
- CLI
bench
- Updated blosc => blosc2, added brotli, and and added more configurations to other comparators.
- Added multithreading option.
- Added support for arrow date types.