@FrancescAlted FrancescAlted released this Jul 30, 2018 · 14 commits to master since this release

Assets 2

Changes from 1.14.3 to 1.14.4

  • Added a new DEACTIVATE_SSE2 option for cmake that is useful for disabling
    SSE2 when doing cross-compilation (see #236).

  • New check for detecting output buffers smaller than BLOSC_MAX_OVERHEAD.
    Fixes #234.

  • The complib and version parameters for blosc_get_complib_info() can be
    safely set to NULL now. This allows to call this function even if the user is
    not interested in these parameters (so no need to reserve memory for them).
    Fixes #228.

  • In some situations that a supposedly blosc chunk is passed to
    blosc_decompress(), one might end with an Arithmetic exception. This
    is probably due to the chunk not being an actual blosc chunk, and divisions
    by zero might occur. A protection has been added for this. See #237.

@FrancescAlted FrancescAlted released this Apr 6, 2018 · 32 commits to master since this release

Assets 2

The main change for this release is that the pthreads library is
not needed on any Windows build anymore. Thanks to Steven G. Johnson.
Also, the internal Zstd sources have been updated to 1.3.4; expect
an important performance boost (can be up to 10%, specially for low
compression levels).

For more info, please see the release notes in:

https://github.com/Blosc/c-blosc/blob/master/RELEASE_NOTES.rst

@FrancescAlted FrancescAlted released this Mar 16, 2018 · 39 commits to master since this release

Assets 2
  • Reverted the $Configuration var in CMake configuration for Windows so
    as to restore the compatibility with MS VisualStudio compilers.

@FrancescAlted FrancescAlted released this Mar 15, 2018 · 45 commits to master since this release

Assets 2
  • Fixed a bug that caused C-Blosc to crash on platforms requiring strict
    alignment (as in some kinds of ARM CPUs). Fixes #223. Thanks to Elvis
    Stansvik and Michael Hudson-Doyle for their help.

  • Fixed a piece of code that was not C89 compliant. C89 compliance is
    needed mainly by MS VS2008 which is still used for creating Python 2
    extensions.

  • Remove the (spurious) $Configuration var in cmake config for Windows.
    Thanks to Francis Brissette for pointing this out.

@FrancescAlted FrancescAlted released this Feb 23, 2018 · 62 commits to master since this release

Assets 2
  • 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.

    So as to select the split mode, a new API function has been introduced:
    https://github.com/Blosc/c-blosc/blob/master/blosc/blosc.h#L500
    Also, the BLOSC_SPLITMODE environment variable is honored when using
    the blosc_compress() function. See
    https://github.com/Blosc/c-blosc/blob/master/blosc/blosc.h#L209

    There is a dedicated blog entry about this at:
    http://blosc.org/posts/new-forward-compat-policy/
    More info in PR #216.

    Caveat Emptor: Note that Blosc versions from 1.11.0 to 1.14.0 might
    generate buffers that cannot be read with versions < 1.11.0, so if
    forward compatibility is important to you, an upgrade to 1.14.0 is
    recommended.

  • All warnings during cmake build stage are enabled by default now.
    PR #218. Thanks to kalvdans.

  • Better checks on versions of formats inside Blosc. PR #219. Thanks
    to kalvdans.

  • The BLOSC_PRINT_SHUFFLE_ACCEL environment variable is honored now.
    This is useful for determining at runtime whether the different SIMD
    capabilities (only for Intel processors) are available to Blosc to get
    better performance during shuffle/bitshuffle operation. As an example,
    here it is the normal output for the simple.c example:

    $ ./simple
    Blosc version info: 1.14.0.dev ($Date:: 2018-02-15 #$)
    Compression: 4000000 -> 41384 (96.7x)
    Decompression succesful!
    Succesful roundtrip!

    and here with the BLOSC_PRINT_SHUFFLE_ACCEL environment variable set:

    $ BLOSC_PRINT_SHUFFLE_ACCEL= ./simple
    Blosc version info: 1.14.0.dev ($Date:: 2018-02-15 #$)
    Shuffle CPU Information:
    SSE2 available: True
    SSE3 available: True
    SSSE3 available: True
    SSE4.1 available: True
    SSE4.2 available: True
    AVX2 available: True
    AVX512BW available: False
    XSAVE available: True
    XSAVE enabled: True
    XMM state enabled: True
    YMM state enabled: True
    ZMM state enabled: False
    Compression: 4000000 -> 41384 (96.7x)
    Decompression succesful!
    Succesful roundtrip!

    Blosc only currently leverages the SSE2 and AVX2 instruction sets, but
    it can recognize all of the above. This is useful mainly for debugging.

Feb 3, 2018
Tagging version 1.13.7
Feb 3, 2018
Tagging version 1.13.6

@FrancescAlted FrancescAlted released this Feb 2, 2018 · 96 commits to master since this release

Assets 2

New conan binaries publicly accessible in https://bintray.com/blosc/Conan.
Still experimental, but feedback is appreciated. No changes have been
made to codebase, so yo don't need to update.

For more info, please see the release notes in:

https://github.com/Blosc/c-blosc/blob/master/RELEASE_NOTES.rst

@FrancescAlted FrancescAlted released this Jan 26, 2018 · 105 commits to master since this release

Assets 2

Fixed a buffer overrun that happens when compressing small buffers and
`len(destination_buffer) < len(source_buffer) + BLOSC_MAX_OVERHEAD'.
Thanks to Ivan Smirnov for reporting this.

@FrancescAlted FrancescAlted released this Jan 25, 2018 · 109 commits to master since this release

Assets 2

Tests should work now when external compressors are located in non-system locations. Fixes #210. Thanks to Leif Walsh.