Releases: CODARcode/libpressio
Releases · CODARcode/libpressio
libpressio version 0.24.1
libpressio version 0.24.1
Bug Fixes:
- Previously the pkg-config file had the wrong library name
libpressio version 0.24.0
libpressio version 0.24.0
Major Changes
- Metrics may now have options. Some statistics have configuration
parameters that may need to be set (i.e. which shell to use, or a
constant that is used in a formula). This patch makes it accessible
via the compressor object and the metrics object. Added supporting
test cases. - pressio_metrics and pressio_compressor now behave like shared_ptr with
respect to supporting operator*() and operator->(). This is an ABI
break for pressio_metrics.
Bug fixes
- POSIX IO module now correctly frees memory passed in by the user when
required. This corrects an incorrect implementation of its semantics
as documented.
libpressio version 0.23.0
libpressio version 0.23.0
Major Changes
- Several breaking changes to the C++ API to make it more native to C++.
The C api is uneffected.- new required
prefix
api added to return the prefix of the
compressor using in options. - get_metrics_results(), get_metrics(), set_options(), get_options(),
check_options(), get_configuration(), pressio_data_for_each(),
and associated_impl
methods now use references or values instead
of pointers to be more consistent with C++ style. - New operator bool() for
pressio_compressor
to check if the pointer
is occupied. - Refactored compressor plugins to use the C++ interface.
- new required
- Changed
BUILD_TESTS
toBUILD_TESTING
to match the CMake standard. - Marked all of the
std_compat.h
functions as internal. Use them
outside of libpressio at your own risk. - BREAKING CHANGE
pressio_compressor_check_options
default
implementation now only considers options in the same prefix as
potentially conflicting, this allows more usages than previously
allowed.
Minor Changes
- Documented how to write a compressor and metrics plugin. Added test
cases for this use. - Documented that libpressio now compiles on the gcc 4.8.5
- Documented the list of builtin plugins
Bug Fixes
- Correctly pass valgrind options to CTest. Previously the wrong
file name and option names were passed. - Fixed a memory leak in
pressio_data::operator=(pressio_data&&)
libpressio version 0.22.0
libpressio version 0.22.0
Major Features
- This version supports being compiled with a C++11 compiler. Pass
-DLIBPRESSIO_CXX_VERSION=11
to cmake to use this version. Added
backwards compatibility headers for a variety of newer c++ features.
For systems without c++17, Boost is required. - BREAKING CHANGE Refactored constexpr inline variables to constexpr functions to
allow them to be compiled in c++11.
Minor Features
- Added additional version variables to inspect the configured options
libpression version 0.21.1
libpression version 0.21.1
Bug Fix
- Updated documentation to include version requirements for blosc and
image magick support.
libpressio version 0.21.0
libpressio version 0.21.0
Major Features:
- New BLOSC compressor plugin that provides support for zstd, zlib, and
other lossless compressors.
libpressio version 0.20.0
libpressio version 0.20.0
Major Features
- Added an ImageMagick plugin for supporting image based formats. It
supports 2d and 3d data buffers for codecs in ImageMagick that
supports them. Currently, it doesn't provide many options that are
allowed by ImageMagick and these will be added over time. - New API pressio_data_reshape() added to change the dimensions of
pressio_data structures. It currently doesn't reallocate memory if
the new shape is smaller or larger than the current buffer. - New APIs for inspecting the properties of pressio_dtypes
Minor Features
- Migrate implementation of the pressio_data_has_data() to the C++
interface to be more consistent. - Additional test cases for the ImageMagick based plugins.
Bug Fixes
- Previously the option to build the docker containers was restricted to
configurations with docs enabled, this has been disabled
libpressio version 0.19.2
libpressio version 0.19.2
Minor Feature:
- Added build option for docker containers for Fedora and Ubuntu.
This will ease the use of installing and using the library for users
wishing to target using this platform
Bug Fix:
- Previously, there was an undocumented dependancy on SWIG version
3.0.12 or later which would cause build failures when using the python
bindings. This has been corrected by adding appropriate documentation
to the README file.
libpressio version 0.19.1
libpressio version 0.19.1
Bug Fixes
- On some distributions, having the swig module files named incorrectely
causes a import failure on the python bindings. No other changes the
API
libpression version 0.19.0
libpression version 0.19.0
Major Changes
- BREAKING CHANGE
pressio_release
is no longer a noop, and has new
signature. The signature change was made to better support wrappers
like swig. It has been changed from a noop to freeing the memory
associated with a particular instance of the library. This allows
users to create several handles for the library for error handling
purposes. - BREAKING CHANGE new API
pressio_compressor_release
now should be called on
pressio_compressor* pointers when they are no longer needed.
Internally it uses shared pointers, and depending on the
implementation of the compressor it either returns a static copy of
the shared pointer (i.e. SZ) for compressors where global memory is
used to configure compressors, or a new shared pointer for each (i.e.
ZFP). This allows compressors such as ZFP that may be used in a
multi-threaded context to actually be used in that way. - BREAKING CHANGE
pressio_instance
now actually returns a new instance
each time it is called rather than a possibly shared instance - The plugin registration system has been completely re-written to no
longer require disparate edits to various files to introduce new
plugins, instead, users create an instance ofpressio_register
to
register to their type. This also allows non-library compressors to
be introduced without recompiling libpressio.
Minor Changes
- MemoryChecks are now supported for test cases. Various memory leaks
in test cases are now removed. Added a valgrind suppression file for
the libgomp malloc that is never freed when valgrind can see it. pressio_get_compressor
andpressio_new_metrics
now correctly
return a nullpointer when the lookup fails- SWIG now passes input arrays as INPLACE_ARRAYs instead. This has a
minor performance improvement. - New C++ only integration test case was added.
- Several private APIs were removed as no longer required
Bug Fixes
- a few incorrectly documented functions were correctly documented