Releases: robertu94/libpressio
Releases · robertu94/libpressio
libpressio version 0.63.0
libpressio version 0.63.0
Major Changes
- New numpy io format plugin to read .npy files. .npz files as well as
.npy files containing types not supported by libpressio are also not
supported.
Minor Changes
- New compression_rate_multi and decompression_rate_multi metrics
- Better warnings and error handling around ZPF execution types
libpressio version 0.62.0
libpressio version 0.62.0
Bug Fixes
- Several Bug fixes to support MacOS -- tested on OSX 10.13.6 with XCode 10.0
- MacOS has a different value for size_t than Linux; replaced several references
to fix this - Older MacOS did not have support for std::equals with four iterators, use a version
from std_compat - A few cases of conversion failures in the JSON conversion code
- marking a minor release because some of the changes may change ABI
- MacOS has a different value for size_t than Linux; replaced several references
libpressio version 0.61.0
libpressio version 0.61.0
Major Changes
- new autocorr and diff_pdf metrics modules to compute the 1d
autocorrelation of the errors and the distributions of the differences
respectively - added new pkg-config for libpressio_cxx that depends on std_compat_cxx
to make it easier to develop compressor modules without cmake
Minor Changes
- allow more moves for options for performance
Bug Fixes
- correct incorrect forward declarations in the JSON modules that could
cause ABI failures - throw an error instead of returning a deceptive nullptr in external
metrics module - include missing return for empty options
libpressio version 0.60.0
libpressio version 0.60.0
Major Changes
- ABI break: the pressio_io_read and related experimental functions no
longer delete or steal the input, but more correctly move the input as
documented. Previously these functions deleted the input value, but
this made it very difficult to safely wrap these functions on platforms
that are garbage collected. - BREAKING: the
libpressio
higher-level python binding had several changes to
how it handled configurations:- bytes objects are now created as pressio_data objects this is to be
more conistent across the interface and fix some faulty conversions
in SZ-ExaFEL that should have worked - mpi4py MPI Communicator objects can now be passed if built with
mpi4py support - Several changes to how type-inference works in the python bindings.
For most users, these will just be improvements, and enable a
correct implementation of numcodecs.Codec interface
- if a template object is NOT passed, we no longer set entires with
aNone
value. This prevents segfaults - if a template object is passed, we now only pass the new options
rather than all of the objects from the template. - if a template object is passed, we call pressio_options.set_type
if aNone
value is passed with the type from the template.
- Several default arguments were added to make things default
construable. name
parameters are now only passed if they are truthy- get_configurations was renamed get_compile_config() to be more
consistently and understandably named - get_config() now returns a dict which can be directly passed to
from_configuration
and things should just work - Similar changes were made to PressioIO
- bytes objects are now created as pressio_data objects this is to be
- A pretty substantial rewrite to how external_forkexec reads from its
child process to useselect
to be more efficient and avoid deadlocks in
poorly behaved (segfaulting) child processes.
Minor Changes
- pressio_data::dimensions now returns a const reference
- better debugging output in the external metric test cases
Bug Fixes
- fixed a case where the constructor to pressio_data would segfault if
passed a nullptr - fixed a number of segfaults when using distributed_manager (i.e.
many_indepenent/many_dependent/etc...) when building with C++11 caused
by constructing with an empty initializer list instead of compat::nullopt - fixed a number of compilation failures in the JSON bindings that
incorrectly were implemented in C++17. - pinned the version of gtest to avoid build failures in anticipation of
them adding an abseil dependency.
libpressio version 0.59.0
libpressio version 0.59.0
Major Changes
- Integrated SZAuto https://github.com/szcompressor/szauto. Thanks to
Hengzhi Chen and Kai Zhao for contributing it!
libpressio version 0.58.0
libpressio version 0.58.0
Major Changes
- Bug fixes requiring an ABI break/new functions
- defined missing methods for options for {u,}int{8,16,64}_t in the
C public header - pressio_options_set_strings is now more const correct
- fixed include file for pressio_options_json.h when used for C++ so
that names are extern "C"
- defined missing methods for options for {u,}int{8,16,64}_t in the
libpressio version 0.57.0
libpressio version 0.57.0
Major Changes:
- BREAKING CHANGE - removed the ftk plugin in favor of using it from the
external metrics plugin. This change reduces complexity and code
duplication between this library and the ftk command line application
this also prevents the frequent internals changes in FTK from breaking
libpressio's build. closes #12 - libpressio now has JSON support with the following features:
- pressio_options structures can be serialized to and from JSON. NOTE
when serializing options that use pressio_option_userptr_type are
omitted because by definition they cannot be serialized. - external metrics can now read a JSON based format when using the
external:api=json:1
version. This allows returning complex
datatypes from metrics. - an experimental hdf5_filter which provides another way to use
compressors supported with libpressio. The JSON support is used in
serializing options where relevant.
- pressio_options structures can be serialized to and from JSON. NOTE
Minor Changes:
- Moved the python bindings to
tools/swig
- Added the ability to not produce man page links and install docs when
documentation is built - renamed the imagemagick check to be imagemagick_longlong to more clear
about what it was testing for.
Bug Fixes:
- Added missing headers to CMakeLists to improve clangd and clion
autocompetion. - Fixed all current documentation warnings and compiler warnings
libpressio version 0.56.2
libpressio version 0.56.2
Minor improvement:
- libpressio higher level python bindings have support for getting
compile time configuration for io plugins
libpressio version 0.56.1
libpressio version 0.56.1
Bug Fix
- LibPressio now compiles again with non-parallel HDF5
libpressio version 0.56.0
libpressio version 0.56.0
Breaking Change
- metrics now provide a default implementation of
{begin,end}{de,}compress_many which defaults to calling
{begin,end}{de,}compress. This eases some of the implementation of
metrics that support being called from_many
contexts - the default implementation of compress_many now calls compress_impl
instead of compress.