Skip to content

Releases: Blosc/c-blosc2

Release 2.0.0 beta 4

13 Sep 11:44
Compare
Choose a tag to compare
Release 2.0.0 beta 4 Pre-release
Pre-release

Changes from 2.0.0-beta.3 to 2.0.0-beta.4

  • New pluggable threading backend. Instead of having Blosc use its own
    thread pool, you can instead call
    blosc_set_threads_callback(threads_callback, callback_data) to install
    your own threading backend. This gives Blosc the possibility to use the
    same threading mechanism as one you are using in the rest of your program
    (e.g. OpenMP or Intel TBB), sharing the same threads, rather than starting
    its own threads that compete with yours for the CPU cores. See PR #81.
    Thanks to Steven G. Johnson.

  • The endianness of the platform that is writing the data in chunks is stored
    now in the headers of the chunks. This info is not used yet, but this
    should allow a good hint for implementing format compatibility among
    platforms with different endianness in other layers. See PR #84.

  • Fixed a nasty bug that prevented frames to go more than 2 GB in size.

  • Added a cache for on-disk offsets. This accelerates the reading of slices
    from disk quite a lot (up to 50% with my benchmarks).

  • Zstd codec upgraded from 1.4.0 to 1.4.3.

Release 2.0.0 beta 3

02 Sep 10:21
Compare
Choose a tag to compare
Release 2.0.0 beta 3 Pre-release
Pre-release

Changes from 2.0.0-beta.2 to 2.0.0-beta.3

  • Quick release to fix that beta.2 was tagged on top of a branch, not master.

  • The msgpack trailer now properly starts with 0x90 + 4 value, not plain
    wrong 0x09 + 4.

  • Trailer version bumped to 1.

Release 2.0.0 beta 2

30 Aug 08:22
Compare
Choose a tag to compare
Release 2.0.0 beta 2 Pre-release
Pre-release

Changes from 2.0.0-beta.1 to 2.0.0-beta.2

  • A new usermeta chunk in schunk allows to store arbitrary meta-information
    that is up to the user. If the schunk has an attached frame, the later
    will be updated accordingly too. For more info, see PR #74 and docstrings of
    new blosc2_update_usermeta() and blosc2_get_usermeta() functions.

  • Metalayers must now be attached to super-chunks, not frames. The reason is
    that frames are increasingly treated as a storage specifier (in-memory or
    disk now, but can be other means in the future), whereas the actual API for
    I/O (including metainfo) goes into super-chunks. See PR #75.

  • New frame format documented in
    README_FRAME_FORMAT.rst. Remember that the frame
    format is not written in stone yet, so some changes may be introduced before
    getting out of beta.

  • BREAKING CHANGE: the format for frames has changed and
    BLOSC2_VERSION_FRAME_FORMAT is now set to 1. There is no attempt to support
    previous formats, but there will probably be backward compatibility support
    starting from version 1 on.

  • BREAKING CHANGE: the next APIs have been renamed:

    • blosc2_frame_has_metalayer -> blosc2_has_metalayer
    • blosc2_frame_add_metalayer -> blosc2_add_metalayer
    • blosc2_frame_update_metalayer -> blosc2_update_metalayer
    • blosc2_frame_metalayer -> blosc2_get_metalayer

    Although the API was declared stable in beta.1, the fact that metalayers are
    attached now to super-chunks directly, made this change completely necessary.

  • BREAKING CHANGE: the next symbols have been renamed:

    • BLOSC_CPARAMS_DEFAULTS -> BLOSC2_CPARAMS_DEFAULTS
    • BLOSC_DPARAMS_DEFAULTS -> BLOSC2_DPARAMS_DEFAULTS

First beta release for C-Blosc2

14 Aug 18:19
Compare
Choose a tag to compare
Pre-release

Changes from 2.0.0a5 to 2.0.0-beta.1

  • The library is called now blosc2 and not blosc anymore. This is necessary
    so as to prevent collisions with existing blosc deployments.

  • The make install now install all the necessary requirements out-of-the-box.

  • Use Intel IPP's LZ4Safe when compressing/decompressing: this provides better
    compression ratios and speed (in some cases). It is activated automatically
    if Intel IPP is found in the system, but you can always disable it with:
    cmake -DDEACTIVATE_IPP=ON

  • BREAKING CHANGE: the next API have been made private:

    • blosc2_frame_append_chunk -> frame_append_chunk
    • blosc2_frame_get_chunk -> frame_get_chunk
    • blosc2_frame_decompress_chunk -> frame_decompress_chunk

    Now the appending and retrieval of data in frames should always be made via the frame-backed super-chunk API. The idea is to deduplicate the I/O primitives as much as possible, and the super-chunks are the logical way for doing this.

  • BREAKING CHANGE: the next APIs have been renamed:

    • blosc2_get_cparams - > blosc2_schunk_get_cparams
    • blosc2_get_dparams - > blosc2_schunk_get_dparams
  • Internal BloscLZ sources bumped to 2.0.0.

  • Internal LZ4 sources bumped to 1.9.1.

  • Internal Zstd sources bumped to 1.4.0.