Skip to content

Releases: BlueBrain/HighFive

v3.0.0-beta1

20 Aug 10:56
@1uc 1uc
9cbd834
Compare
Choose a tag to compare
v3.0.0-beta1 Pre-release
Pre-release

Version 3.0.0-beta - 2024-08-20

This version is a major one and is breaking some usage compare to v2.
Read the migration guide from the documentation: https://bluebrain.github.io/HighFive/md__2home_2runner_2work_2_high_five_2_high_five_2doc_2migration__guide.html

The minimum version for C++ has been moved to C++14.

Removed

- Removed `read(T*, ...)`, use explicit `read_raw(T*, ...)` for `Slice` or `Attribute`. (#928)
- Removed `FixedLenStringArray`, use any container with strings instead. (#932)
- Removed `FileDriver` and `MPIOFileDriver`, use file access properties instead. (#949)
- Removed default constructor for `Group` and `DataSet`. (#947, #948)
- Broadcasting have been removed. Use `squeeze` and `reshape` feature instead. (#992)
- `ObjectCreateProps` and `ObjectAccessProps` those don't map well to HighFive and are unused. (#1002)

New Features

- Added support for `std::span`. (#987)
- Added `squeezeMemSpace` and `reshapeMemSpace` for `Attribute` and `Slice` to reshape the memory space. (#991)
- Added `ProductSet` to select a Cartesian products of (generalized) slices. (#842)

Improvements

- Optimized chained hyperslab selection. (#1031)
- Type `T[N]` or `T[N][M]` will work better. (#929)
- `DataspaceType` is now an enum class for `dataspace_scalar` or `dataspace_null`. (#900)
- `File::AccessMode` is now an enum class. (#1020)

Version 2.9.0 - 2024-01-25

New Features

- Add named ctors for scalar and null dataspaces. (#899)
- Named ctor for empty property lists. (#904)

Improvements

- Enable running tests in parallel. (#849)
- Wrap all used HDF5 function calls and always check status codes. (#863)
- Utilities for writing tests in a container independent manner. (#871)
- Improve test rigour.

Bug Fix

- Log messages were slightly misformatted. (#854)
- Fix bug in `enforce_ascii_hack`. (#856)
- Fix `create_datatype<bool>()`. (#869)
- Guard functionality introduced in 1.10.0. (#905)
- `inspector` guard for empty containers. (#913)
- Avoid non-collective behaviour. (#912)

v2.10.0

29 Jul 06:46
@1uc 1uc
4a326f3
Compare
Choose a tag to compare

Version 2.10.0 - 2024-07-29

New Features

  • read_raw when reading from pointers. (#928,#940)
  • Improve inspector for T[N]. (#929)

Deprecations

Please consult the Migration Guide for details about migrating away from
deprecated features.

  • Deprecated FixedLenStringArray (#932)
  • The overload read(T*, ...) has been deprecated, but not read(T&, ...). (#928)

Improvements

  • Improved documentation.

Bug Fixes

  • Fixed a performance bug involving HyperSlabs (#1032)

v2.9.0

25 Jan 12:37
@1uc 1uc
0d0259e
Compare
Choose a tag to compare

Version 2.9.0 - 2024-01-25

New Features

  • Add named ctors for scalar and null dataspaces. (#899)
  • Named ctor for empty property lists. (#904)

Improvements

  • Enable running tests in parallel. (#849)
  • Wrap all used HDF5 function calls and always check status codes. (#863)
  • Utilities for writing tests in a container independent manner. (#871)
  • Improve test rigour.

Bug Fix

  • Log messages were slightly misformatted. (#854)
  • Fix bug in enforce_ascii_hack. (#856)
  • Fix create_datatype<bool>(). (#869)
  • Guard functionality introduced in 1.10.0. (#905)
  • inspector guard for empty containers. (#913)
  • Avoid non-collective behaviour. (#912)

v2.8.0

02 Nov 09:10
88fcc89
Compare
Choose a tag to compare

Important Change

  • Eigen::Matrix is (by default) stored with column-major index ordering. Under
    certain conditions Eigen::Matrix was written and read as row-major.
    Due to code duplication H5Easy isn't affected by this bug. Starting
    2.8.0 HighFive will now throw an exception whenever prior versions would
    have read with incorrect assumptions about the index ordering. (#731)

New Features

  • Improve reading and writing std::string as fixed and variable length HDF5 strings (#744).
  • Implement creation of hard links (#765). Thanks to @Quark-X10.
  • Get the size of file and amound of tracked unused space (#764). Thanks to @Quark-X10.
  • class DataType has a new ctor to open a commited DataType (#796). Thanks to @Quark-X10.
  • Allow user-specified mem_space for hyperslabs. (#740)
  • New properties: AttributePhaseChange. (#785)
  • New options to link against HDF5 statically (#823). Thanks @HunterBelanger.
  • Add support for std::complex<integral_type> valid with C++23 (#828). Thanks @unbtorsten.
  • Add a top-level header to include all compononents (#818).

Improvements

  • Add concept checks to Property if C++20 for better errors (#811). Thanks @antonysigma.
  • Add parallel HDF5 test in CI (#760).
  • Simplify github workflow (#761).
  • Move inspectors in their own file to be able to better implements strings (#759).

Bug Fix

  • Fix vector constructor ambiguity in H5DataType.hpp (#775). Thanks to @hn-sl.
  • getElementCount() fixed. (#787)
  • Remove leak when calling dtor of CompoundType. (#798)

v2.7.1

06 Apr 09:14
@1uc 1uc
be68bd0
Compare
Choose a tag to compare

Bug Fix

  • Revert removing #include "H5FileDriver.hpp" from H5File.hpp (#711).
  • Change relative import to "../H5Utility.hpp" (#726).
  • Fix nameclash with macros on Windows (#717 #722 #723).
  • Add workaround for MSVC bug (#728).
  • Don't downgrade the requested C++ standard (#729).

v2.7.0

31 Mar 09:25
@1uc 1uc
b566089
Compare
Choose a tag to compare

New Features

  • Properties can now be read (#684).
  • Adding a property for LinkCreationOrder (#683).
  • Adding a logging infrastructure (#690).
  • Support of bool in the way of h5py (#654).
  • Support std::byte in C++17 mode (#698).

Improvements

  • Catch2 move to v3 (#655).

Bug Fix

  • To avoid build failure in certain circumstances, user can not set Boost_NO_BOOST_CMAKE (#687).
  • Fix leak when reading variable length strings (#660).
  • Use H5free_memory instead of free in error handler (#665). Thanks to @lefi7z
  • Fix a bug with old GCC due to templated friend classes (#688).
  • Fix regression in broadcasting support (#697).
  • Fix bug related to zero-length datasets (#702).

v2.6.2

22 Nov 09:32
577a255
Compare
Choose a tag to compare

Bug Fix

  • Allow finding HDF5 in CMake config mode

v2.6.1

09 Nov 08:41
@1uc 1uc
3775e3d
Compare
Choose a tag to compare

Bug Fix

  • Version bump in CMakeLists.txt.

v2.6.0

08 Nov 15:39
@1uc 1uc
1378eaa
Compare
Choose a tag to compare

New Features

  • Enable page buffered reading (#639).

Improvements

  • Warn when detecting lossy reads or write of floating point data (#636).

v2.5.1

07 Nov 16:28
@1uc 1uc
3178306
Compare
Choose a tag to compare

Bug Fix

  • Fix missing inline for collective metadata properties.