Skip to content

libpressio version 0.53.0

Compare
Choose a tag to compare
@robertu94 robertu94 released this 20 Jan 14:20
· 155 commits to master since this release

libpressio version 0.53.0

Major Changes

  • POSSIBLE BREAKING CHANGE pressio_option can now hold
    {u,}int{8,16,32,64}_t values and the return type of the pressio
    option functions which returned an int now accept/return an int32_t.
    This enables LibPressio to support more complex configurations types
    without resorting to a user_data type or using a pressio_data object
    where it isn't needed. Additionally, pressio_option_int32_type no
    longer convert implicitly to double. This is because the previous
    behavior was ambiguous depending on which compiler you used, and it
    was contrary to the intended spirit of the functionality. implict
    conversions were intended to never reduce precision the old
    functionality could do that. The new definitions for the conversions
    are based on the C++ standards definition of what a narrowing
    conversion is. This means that one conversion which is safe on most
    architectures and compilers (int32_t -> double) is not allowed at time
    of writing since the standard considers all integral to floating_point
    conversions to be narrowing. Some test cases were updated to match
    the new behavior. Serializaton and printer routines were updated to
    match. Corresponding stable C APIs were added.

Bug Fixes

  • sz plugin now returns thread safety as a int32_t like every other
    compressor.
  • explicitly made all returns of thread_safety int32_t rather than just
    int.
  • removed unused arguments from the test code.
  • LibPressio no longer adds -Werror by default to debug builds. This
    caused trigger undesired build failures on old/buggy compilers. To
    restore the old functionality, pass
    -DLIBPRESSIO_TREAT_WARNINGS_AS_ERRORS=ON to CMake