Skip to content

Releases: Blosc/c-blosc2

Release 2.10.0

04 Jul 05:43
Compare
Choose a tag to compare

Changes from 2.9.3 to 2.10.0

  • bytedelta filter has been fixed. For backward compatibility, the old
    bytedelta filter is still available as BLOSC_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

21 Jun 11:23
Compare
Choose a tag to compare

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

18 May 16:08
Compare
Choose a tag to compare

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 in blosc2.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

10 May 11:58
Compare
Choose a tag to compare

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

09 May 11:18
Compare
Choose a tag to compare

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

24 Mar 12:24
Compare
Choose a tag to compare

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

22 Feb 12:14
Compare
Choose a tag to compare

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 and blosc2_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

15 Dec 09:47
Compare
Choose a tag to compare

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

08 Dec 12:58
Compare
Choose a tag to compare

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

29 Nov 11:13
Compare
Choose a tag to compare

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 the stop param.
    Now stop is not part of the selected slice (as advertised).

  • Now blosc2_create_cctx() supports the same environment variables than blosc2_compress().

  • Now blosc2_create_dctx() supports the same environment variables than blosc2_decompress().

  • Added support for the split mode to be serialized in cframes/sframes.

  • A new splitmode field has been added to the blosc2_schunk structure.

  • Changed some fields in blosc2_preparams and blosc2_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.