Releases: Blosc/c-blosc2
Release 2.0.0 beta 4
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
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
wrong0x09 + 4
. -
Trailer version bumped to 1.
Release 2.0.0 beta 2
Changes from 2.0.0-beta.1 to 2.0.0-beta.2
-
A new
usermeta
chunk inschunk
allows to store arbitrary meta-information
that is up to the user. If theschunk
has an attachedframe
, the later
will be updated accordingly too. For more info, see PR #74 and docstrings of
newblosc2_update_usermeta()
andblosc2_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
Changes from 2.0.0a5 to 2.0.0-beta.1
-
The library is called now
blosc2
and notblosc
anymore. This is necessary
so as to prevent collisions with existingblosc
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.