diff --git a/CHANGELOG.md b/CHANGELOG.md index fcd0247e3..f038b7465 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,31 @@ # Changes +## Version 3.0.0-beta - 2024-07-16 +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`. + +If you want to cite us, we now are on Zenodo: https://zenodo.org/records/10679738 + +### 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 do not really exist in hdf5. (#1002) + +### New Features + - Support for `std::span`. (#987) + - Add `squeezeMemSpace` and `reshapeMemSpace` for `Attribute` and `Slice` to reshape the memory space. (#991) + - `ProductSet` let you select a cartesian product of slices. (#842) + +### Improvements + - Type `T[N]` or `T[N][M]` will works better. (#929) + - `DataspaceType` is now an enum class for `dataspace_scalar` or `dataspace_null`. (#900) + +### Bug Fix + ## Version 2.9.0 - 2024-01-25 ### New Features - Add named ctors for scalar and null dataspaces. (#899) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2358e4172..54c4c5eff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.13) cmake_policy(VERSION 3.13) -project(HighFive VERSION 3.0.0) +project(HighFive VERSION 3.0.0-beta) # Configure HighFive # ------------------ diff --git a/include/highfive/H5Version.hpp b/include/highfive/H5Version.hpp index 4ffb03645..704350fa0 100644 --- a/include/highfive/H5Version.hpp +++ b/include/highfive/H5Version.hpp @@ -30,4 +30,4 @@ * * \warning This macro only exists from 2.7.1 onwards. */ -#define HIGHFIVE_VERSION_STRING "3.0.0" +#define HIGHFIVE_VERSION_STRING "3.0.0-beta" diff --git a/include/highfive/bits/H5Slice_traits.hpp b/include/highfive/bits/H5Slice_traits.hpp index 6812a0914..d12bb838b 100644 --- a/include/highfive/bits/H5Slice_traits.hpp +++ b/include/highfive/bits/H5Slice_traits.hpp @@ -296,6 +296,7 @@ class HyperSlab { /// /// Note that the selections along each axis must be sorted and non-overlapping. /// +/// \since 3.0 class ProductSet { public: template @@ -356,6 +357,11 @@ class SliceTraits { /// Selection select(const ElementSet& elements) const; + /// + /// \brief Select a region consisting of a product of slices. + /// + /// \since 3.0 + /// Selection select(const ProductSet& product_set) const; template