Skip to content

Releases: highfive-devs/highfive

v3.3.0

30 Dec 14:42
@1uc 1uc
be0ddb3

Choose a tag to compare

New Feature

- Support HDF5 v2.0.0. (#78) Thanks to @holmesv3
- Support mdspan. (#95)

Improvements

- Fewer dynamic allocations during regular hyperslab selection (#101).
  Thanks to @antonysigma
- Fewer typos and broken links (#105). Thanks @the-user-created

v3.2.0

06 Oct 13:54
@1uc 1uc
b8d21eb

Choose a tag to compare

Version 3.2.0 - 2025-10-06

New Feature

- Support check if an integer is signed. (#78)

v3.1.1

05 Aug 11:29
@1uc 1uc
1a5ef37

Choose a tag to compare

Version 3.1.1 - 2025-08-05

Same as v3.1.0, but with updated version numbers.

v3.1.0

22 Jul 10:20
@1uc 1uc
f136ab7

Choose a tag to compare

New Features

v3.0.0

01 Jul 07:12
@1uc 1uc
364f024

Choose a tag to compare

Version 3.0.0

This version is a major version update and contains a few breaking changes.
Read the migration guide: https://highfive-devs.github.io/highfive/md__2home_2runner_2work_2_high_five_2_high_five_2doc_2migration__guide.html

When updating consider going through v2.10, because it contains deprecation
warnings for most breaking changes.

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

Highlights

Some of the important improvements made for v3:

  • Fix serialization of Eigen objects, see below.
  • Completely rewritten, modern CMake code.
  • Macrofree optional dependencies. Simply include the header related to the
    dependency to activate it.
  • First-class support of all optional dependencies, also those previously
    only supported by Easy.
  • Logically separate read (write) and read_raw (write_raw).
  • Replace broadcasting with reshapeMemSpace and squeezeMemSpace.
  • Replace enums with enum class, e.g. File::AccessMode.

See CHANGELOG.md for more details.

Eigen Serialization

Prior to v2.8, HighFive had a bug that would write column-major Eigen objects
as row-major; and read the data and store it as if the Eigen object were
row-major.

This bug consists of two mistakes that combined cancel each other in common
circumstances, i.e. write/read cycles. However, the data on disk would be
transposed from what one would commonly expect.

If you suspect you're affected, update via v2.10, because it'll throw an
exception if the buggy code path is used. Then think very carefully before
continuing.

See BlueBrain/HighFive#532

v3.0.0-beta3

21 Jun 15:48
@1uc 1uc
003efeb

Choose a tag to compare

v3.0.0-beta3 Pre-release
Pre-release

Changes

Version 3.0.0-beta3 - 2025-06-20

New Features

  • Allow Attributes on Groups via Easy. (#8)
  • cmake: export into build directory (#27) Thanks @dglaeser.
  • xtensor: Make HighFive compatible with 0.26. (#36)

Bug Fix

  • Catch using .back() on empty vector. (#11)
  • Fix error condition h5p_get_file_space_strategy. (#45)

Improvements

  • Numerous improvements to the CI code.
  • Shorter README.md (#20)
  • Numerous code quality improvements. (#46, #50, #51, #54, #55)
  • Eliminate zero-division warning. (#44)
  • Avoid protected member variables. (#53)
  • Silence overflow warning. (#56)
  • Cleaner use of noexcept. (#57)
  • Cleaner use of explicit ctors. (#58)

Removed

  • Removed the C++20 concept for property lists. (#60)
  • Removed ObjectInfo::getAddress. (#61)