Releases: Blosc/c-blosc2
Release 2.10.0
Changes from 2.9.3 to 2.10.0
-
bytedelta filter has been fixed. For backward compatibility, the old
bytedelta filter is still available asBLOSC_FILTER_BYTEDELTA_BUGGY
symbol, with the same ID (34) than before. The new, fixed bytedelta
filter has received a new ID (35) and it can be used via the usual
BLOSC_FILTER_BYTEDELTA
symbol. That means that old data written with
the buggy bytedelta filter should be decompressed without issues.
Thanks to @FOODy (Tom Birch) for the fix. See #531, #532 for more info. -
Filter buffers are correctly cycled now. Now it is possible to use e.g.
shuffle and bitshuffle filters in the pipeline. Thanks to @FOODy (Tom Birch)
for the fix. See #528 and PR #530. -
Assorted fixes for allowing better inclusion in external projects.
Thanks to @ax3l (Axel Huebel). See #525, #527 and #529. -
Minor fixes in the documentation. Thanks to @ivilata (Ivan Vilata).
See #523.
Release 2.9.3
Changes from 2.9.2 to 2.9.3
-
Thanks to Dimitri Papadopoulos for an extensive set of improvements in
documentation and code. -
load_lib
is now a private function. Before was public, but
never meant to be. -
Several fixes for bugs discovered by the fuzzer.
Release 2.9.2
Changes from 2.9.1 to 2.9.2
-
Now is possible to register the same plugin (as long as they have the same
ID and name) without errors. This is useful for registering the same
plugin without worrying on whether it has been registered already. -
Improved detection of dynamic plugin locations. Now they must implement
plugin_module.print_libpath()
as the canonical way to find the path for
the dynamic library plugin. -
The
blosc2_static
has gained the cmake POSITION_INDEPENDENT_CODE property.
This should allow to use the static library in more situations. -
BLOSC_STUNE
is defined inblosc2.h
now. Fixes #481. Thanks to
@DimitriPapadopoulos. -
Fixed an issue when having incompressible data in combination with lazy_chunks.
-
Fix linking with static -DBUILD_STATIC=0. Fixes #480.
-
Visual Studio 2010 (version 10.0) has been deprecated. Now, users will
need to use Visual Studio 2012 (version 11.0) or later. -
Many small fixes and code improvements. Thanks to @DimitriPapadopoulos,
@bnavigator.
Release 2.9.1
Changes from 2.9.0 to 2.9.1
- Allow the use of BTUNE by detecting the
BTUNE_BALANCE
environment
variable.
Release 2.9.0
Changes from 2.8.0 to 2.9.0
-
Dynamic plugins as Python wheels are supported now!
This new feature allows for creating plugins in C, distribute
them as wheels, and load them dynamically in runtime.
Small example at https://github.com/Blosc/blosc2_plugin_example -
BloscLZ can achieve more speed in clevel 1 now.
-
Internal Zstd sources updated to latest 1.5.5 version.
-
Copyright notice updated. Thanks to @DimitriPapadopoulos.
Release 2.8.0
Changes from 2.7.1 to 2.8.0
-
New bytedelta filter added. SIMD support for Intel and ARM platforms is there.
We have blogged about this: https://www.blosc.org/posts/bytedelta-enhance-compression-toolset.rst
Thanks to Aras Pranckevičius for inspiration and initial implementation. -
Minor improvements in BloscLZ, leading to better compression ratios in general.
BLoscLZ version bumped to 2.5.2. -
Updated internal zlib-ng to 2.0.7.
-
Used
const
qualifier where possible in b2nd. Thanks to @cf-natali.
v2.7.1
Changes from 2.6.1 to 2.7.1
-
Caterva has been merged and carefully integrated in C-Blosc2 in the new b2nd interface.
For more info on the new interface, see https://www.blosc.org/c-blosc2/reference/b2nd.html.
Thanks to Marta Iborra, Oscar Guiñón, J. David Ibáñez and Francesc Alted. Also thanks to
Aleix Alcacer for his great work in the Caterva project.We have a blog about this: https://www.blosc.org/posts/blosc2-ndim-intro
-
Updated internal zstd sources to 1.5.4. Thanks to Dimitri Papadopoulos.
-
blosc2_schunk_avoid_cframe_free
andblosc2_schunk_append_file
are exported as public functions now.
Thanks to @bnavigator. -
BloscLZ codec is now treated exactly the same as LZ4. Before BloscLZ was considered less capable of reaching
decent compression ratios, but this has changed quite a bit lately, so there is no point in treating both differently. -
Fixed some leaks, mainly on the test suite.
-
Fixed quite a bit of compiler warnings.
Release 2.6.1
Changes from 2.6.0 to 2.6.1
- Add support for macos universal2 binaries (arm64+x86_64 build). Thanks to Thomas Vincent.
Release 2.6.0
Changes from 2.5.0 to 2.6.0
-
[API] Now it is possible to pass filter ID to a User Defined Filter.
-
Unified convention for BLOSC_SPLITMODE environment variable in Blosc
and Blosc2. The list of valid values is "ALWAYS", "NEVER", "AUTO" and
"FORWARD_COMPAT" now. -
Unified convention for BLOSC_SPLITMODE enum in Blosc and Blosc2 headers.
Release 2.5.0
Changes from 2.4.3 to 2.5.0
-
Fixed a nasty bug that prevented retriving data correctly with large super-chunks (> 2^31 elements).
-
Fixed an issue in
blosc2_schunk_get_slice_buffer()
in the interpretation of thestop
param.
Nowstop
is not part of the selected slice (as advertised). -
Now
blosc2_create_cctx()
supports the same environment variables thanblosc2_compress()
. -
Now
blosc2_create_dctx()
supports the same environment variables thanblosc2_decompress()
. -
Added support for the split mode to be serialized in cframes/sframes.
-
A new
splitmode
field has been added to theblosc2_schunk
structure. -
Changed some fields in
blosc2_preparams
andblosc2_postparams
structs:in
->input
out
->output
out_size
->output_size
out_typesize
->output_typesize
out_offset
->output_offset
This was needed to allow Cython to map the fields (in
is a reserved word in Python).
-
Disabled maskout reads in
blosc2_schunk_get_slice_buffer()
as they are not faster than getitem there. -
Add an intermediate block size in its automatic calculation based on
clevel
.