Release 1.17.0
LZ4 codec updated to 1.9.1.
Zstd codec updated to 1.4.1.
BloscLZ codec updated to 2.0.0. Although this should be fully backward
compatible, it contains important changes that affects mainly speed, but
also compression ratios. Feedback on how it behaves on your own data is
appreciated.
Release 1.16.3
Fix for building for clang with -march=haswell.
Fix all the known warnings for GCC/Clang. Still some work to do for MSVC
in this front.
Due to some problems with several CI systems, the check for library symbols
are deactivated now by default. If you want to enforce this check, use:
cmake .. -DDEACTIVATE_SYMBOLS_CHECK=ON to re-activate it.
Release 1.16.2
Correct the check for the compressed size when the buffer is memcpyed. This
was a regression introduced in 1.16.0.
Release 1.16.1
Fixed a regression in 1.16.0 that prevented to compress empty buffers
Zstd updated to 1.3.8
Release 1.16.0
Now the functions that execute Blosc decompressions are safe by default
for untrusted/possibly corrupted inputs. The additional checks seem to
not affect performance significantly (see some benchmarks), so
this is why they are the default now.
The previous functions (with less safety) checks are still available with a
'_unsafe' suffix. The complete list is:
blosc_decompress_unsafe()
blosc_decompress_ctx_unsafe()
blosc_getitem_unsafe()
Also, a new API function named blosc_cbuffer_validate(), for validating Blosc
compressed data, has been added.
Fixed a bug in blosc_compress() that could lead to thread deadlock under
some situations.
Fix data race in shuffle.c host_implementation initialization.
Notable changes since 1.12.1:
- Serious optimization of memory copy functions (see new
blosc/fastcopy.c). This benefits the speed of all the codecs, but
specially the BloscLZ one.
- As a result of the above, the BloscLZ codec received a new
adjustment of knobs so that you should expect better compression
ratios with it too.
- Fixed a buffer overrun that happens when compressing small buffers
and len(destination_buffer) < (len(source_buffer) +
BLOSC_MAX_OVERHEAD).
- New split mode that favors forward compatibility. That means that,
from now on, all the buffers created starting with blosc 1.14.0 will
be forward compatible with any previous versions of the library --at
least until 1.3.0, when support for multi-codec was introduced.
Blosc is a high performance compressor optimized for binary data. It
has been designed to transmit data to the processor cache faster than
the traditional, non-compressed, direct memory fetch approach via a
memcpy() OS call. Blosc is the first compressor that is meant not only
to reduce the size of large datasets on-disk or in-memory, but also to
accelerate memory-bound computations.
Packaged by me and improved by wiz and coypu.