Skip to content

Releases: CODARcode/libpressio

libpressio version 0.24.1

21 Aug 02:02
Compare
Choose a tag to compare

libpressio version 0.24.1

Bug Fixes:

  • Previously the pkg-config file had the wrong library name

libpressio version 0.24.0

21 Aug 02:02
Compare
Choose a tag to compare

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

21 Aug 02:02
Compare
Choose a tag to compare

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.
  • Changed BUILD_TESTS to BUILD_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

21 Aug 02:02
Compare
Choose a tag to compare

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

21 Aug 02:02
Compare
Choose a tag to compare

libpression version 0.21.1

Bug Fix

  • Updated documentation to include version requirements for blosc and
    image magick support.

libpressio version 0.21.0

21 Aug 02:02
Compare
Choose a tag to compare

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

21 Aug 02:02
Compare
Choose a tag to compare

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

21 Aug 02:02
Compare
Choose a tag to compare

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

21 Aug 02:02
Compare
Choose a tag to compare

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

21 Aug 02:02
Compare
Choose a tag to compare

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 of pressio_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 and pressio_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