Releases: highfive-devs/highfive
v3.3.0
v3.2.0
v3.1.1
v3.1.0
New Features
- Support SWMR mode. (#68) Thanks to @radistmorse
- Support DataSet::{flush,refresh}. (#69) Thanks to @radistmorse
- Support AttributePhaseChange also for DataSet and File. (#67) Thanks to @radistmorse
v3.0.0
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) andread_raw(write_raw). - Replace broadcasting with
reshapeMemSpaceandsqueezeMemSpace. - Replace
enums withenum 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.
v3.0.0-beta3
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
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)