Commit Graph
24298 Commits
Author SHA1 Message Date
jhendersonHDF ed5eceab58 Enable data sieving for chunks that can't be cached (#6111)
* Enable data sieving for chunks that can't be cached

Fixed an issue that prevented use of a data sieve buffer for I/O on dataset
chunks when those chunks couldn't be cached by the library. This issue
could result in worst-case behavior of I/O on a single data element at a
time when chunks are non-contiguous with respect to memory layout.

Added a test to attempt to catch performance regressions in I/O on dataset
chunks that are non-contiguous with respect to memory layout

Updated the External File List logic to set the data sieve buffer size to
the smaller of the dataset size and the size set in the FAPL, similar to
the logic elsewhere in the library
2026-01-23 10:58:11 -06:00
jhendersonHDF 9af6db11b6 Distribute Findlibaec.cmake module for use by HDF5 library consumers (#6159) 2026-01-22 16:14:20 -06:00
Scot BreitenfeldandClaude Sonnet 4.5 16364fe2fa Badges (#6170)
* Fix Release Progress badges and workflow

- Fix update-progress.py to output blocker/mustdo counts in correct format
  The workflow expects blocker_done=, blocker_total=, mustdo_done=, mustdo_total=
  output lines but the script was only outputting human-readable format

- Update README badge links to point to project view 24 instead of base project

This fixes the workflow failures where BLOCKER_DONE and the related environment
variables were not being set, causing badge updates to fail.

The badges were pointing to old unmaintained gists under user X.
Updated to use the gist automatically maintained by the Release Progress
workflow (gist ID: 0ad2eabb63b28eb90d69f5e5b2c1496f).

The workflow now successfully updates these badges every 4 hours with
current release blocker and must-do progress.

The script now auto-detects the HDF5 version from src/H5public.h and
filters release blockers/must-do items by milestone matching that version.

Changes:
- Added get_hdf5_version_from_header() to read version from H5public.h
- Updated GraphQL query to fetch milestone information from issues
- Added milestone filtering logic to only count items for the target release
- Made validation more lenient when using milestone filter (allows 0/0)
- Added MILESTONE_FILTER environment variable for manual override

For develop branch with version 2.1.0 in H5public.h, this will now only
count items with milestone containing "2.1" (e.g., "2.1.0", "HDF5 2.1").

* Add version number to badge labels

The badges now display the version (e.g., "2.1 Release Blockers" instead
of just "Release Blockers") when filtering by milestone.

Changes:
- Python script outputs version to GitHub Actions
- Workflow passes version to badge generation script
- Badge script includes version in label if available
- Labels show "X.Y Release Blockers" / "X.Y Release Must Do"


The three badges now track:
1. Release Blockers - Critical issues that must be resolved
2. Release Must Do - Important items for the release
3. Release Nice to Have - Optional improvements for the release

All three badges show version prefix (e.g., "2.1") and support 0/0
display when no items exist for a milestone.

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-22 14:37:45 -06:00
Scot Breitenfeld 17a847faf9 Fix Release Progress badges and workflow (#6168)
- Fix update-progress.py to output blocker/mustdo counts in correct format
  The workflow expects blocker_done=, blocker_total=, mustdo_done=, mustdo_total=
  output lines but the script was only outputting human-readable format

- Update README badge links to point to project view 24 instead of base project

This fixes the workflow failures where BLOCKER_DONE and related environment
variables were not being set, causing badge updates to fail.
2026-01-22 10:32:11 -06:00
Scot Breitenfeld 5711c7466f Update the version to 2.1 (#6147)
Update version to 2.1 and derive version information from H5public.h, removing h5vers script and updating CMake and Java configurations.

Versioning:
Update version to 2.1 in H5public.h.
Derive version strings in H5public.h using macros.
CMake:
Extract version from H5public.h in HDF5config.cmake and HDF5AsSubdirMacros.cmake.
Configure README.md and CHANGELOG.md using CMakeLists.txt.
Java:
Generate H5Version.java from H5public.h for version consistency.
Update H5.java to use H5Version for version constants.
Removals:
Delete bin/h5vers script, previously used for version management.
2026-01-21 23:02:49 -06:00
bmribler c067d3f471 Fixes invalid example URLs and makes other improvement in the C++ documentation (#6164) 2026-01-21 09:36:53 -06:00
efferre79 476c60961c the targets interface should support HDF5_INSTALL_INCLUDE_DIR (#6142) 2026-01-13 10:27:38 -06:00
jhendersonHDF b100609caa Add Findlibaec CMake module for locating libaec (#6152) 2026-01-13 09:26:40 -06:00
H. Joe Lee 26afaeb8cc ci(aocc): update version to 5.1 (#6156)
close #6155
2026-01-12 08:31:14 -06:00
Larry Knox 36ef3cc8e7 Fix macos-26 java workflow (#6151)
Removed code to set JAVA_HOME to a specific directory, which seemed to cause a conflict between the Java version used to compile and the runtime Java version.
2026-01-09 17:10:56 -06:00
bmribler 61d414b84a Adds release version to constants in H5Z and H5AC (#6141) 2026-01-06 10:27:39 -06:00
dependabot[bot] 13ee56c5d3 Bump the github-actions group with 11 updates (#6138)
Bumps the github-actions group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `3` | `6` |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `6.0.0` | `7.0.0` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `5.0.0` | `6.0.0` |
| [actions/cache](https://github.com/actions/cache) | `4.3.0` | `5.0.1` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3` | `4` |
| [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) | `0.5.10` | `0.5.11` |
| [cygwin/cygwin-install-action](https://github.com/cygwin/cygwin-install-action) | `b9bf9147075ee9811ac11beee9351eeb93e2f2fb` | `7d2dc1e241644c3318bed9ec74115d1929baa681` |
| [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) | `1.3.0` | `1.3.4` |
| [msys2/setup-msys2](https://github.com/msys2/setup-msys2) | `2.29.0` | `2.30.0` |
| [vmactions/openbsd-vm](https://github.com/vmactions/openbsd-vm) | `1.2.5` | `1.3.1` |
| [mpi4py/setup-mpi](https://github.com/mpi4py/setup-mpi) | `1.4.0` | `1.4.1` |
2026-01-02 11:13:52 -06:00
malcolm-vivosa 6ca281ba66 Use 'find_dependency' instead of 'find_package' (#6139)
It is considered best practice for cmake package configuration files to use "find_dependency" instead of "find_package".
This is because it can propagate flags properly, gives more clear error messages and is able to avoid duplicate dependency include issues.

This change fixes an issue I am seeing in some external cmake projects when including hdf5. As per issue report here https://github.com/HDFGroup/hdf5/issues/6107
2026-01-02 10:55:27 -06:00
jhendersonHDF d1efeba7be Add predefined datatype for FP4 format (#6122)
Adds predefined datatype for FP4 data in E2M1 format

Does not add support for any native FP4 types; datatype conversions are performed in software
2025-12-31 11:44:08 -06:00
H. Joe Lee 1ba82a0a75 docs: remove reference numbers in H5Dmodule.h (#6132)
I can't locate  the references that correspond to numbers.
2025-12-31 11:28:26 -06:00
bmribler edf72d98c2 Adds release version to constants in H5S and H5T (#6135)
* Moved \since to the next line for consistency
2025-12-31 09:40:48 -06:00
Scot Breitenfeld 21d916841c Changed CI ctest verbose setting (#6136)
* switched from always verbose ctest output to ONLY on test failures

* Windows and macOS builds will skip clang-format check before building documentation

* resolved Doxygen warnings by adding H5G_link_t=H5L_type_t to the DOXYGEN_PREDEFINED list, by adding the macro definition, Doxygen now knows to treat H5G_link_t as H5L_type_
2025-12-30 13:16:55 -06:00
bmribler c04787d4d8 Adds release version to more constants (#6134) 2025-12-29 16:47:56 -06:00
bmribler e979eee1dc Add release 1.14.6 page to doxygen docs (#6110) 2025-12-24 13:15:41 -05:00
H. Joe Lee c0d2cf6993 chore: make comment consistent in tH5T_F03.F90 (#6128)
There is 1 `Creates`. The rest (=87) are `Create`.
Change `Creates` to `Create`.
2025-12-24 07:59:04 -06:00
bmribler a28ea2259f Changed download link to use the GitHub release page. (#6131) 2025-12-24 07:57:48 -06:00
Scot Breitenfeld e34bbfefbf added codeql workflow (#6121)
Adds CodeQL workflow for C/C++ analysis with scheduled, manual, and branch-specific triggers, including dependency setup, HDF5 configuration, and SARIF handling.
2025-12-22 20:48:43 -06:00
jhendersonHDF 441d83a896 Add predefined datatypes for FP6 formats (#6097)
Adds predefined datatypes for FP6 data in E2M3 and E3M2 formats

Does not add support for any native FP6 types; datatype conversions are performed in software
2025-12-19 12:56:54 -06:00
H. Joe Lee 0b0ed3ac50 ci: update MSYS2 test failure list (#6060)
Remove 2 tests that pass in 2.0.0 from lists of tests that should be run as "Expected to Fail".
2025-12-19 12:53:20 -06:00
bmribler 345c621468 Adds release version to constants in H5Dpublic.h (#6119)
Adds version information to constants and deprecates certain macros in H5Dpublic.h.
2025-12-19 07:58:10 -06:00
Larry Knox bc8f6bb02a Install and build JAVA on windows-11-arm. (#6116)
Setup:
Add JDK 21 setup using actions/setup-java@v5 in arm-main.yml for Windows 11 ARM.
CMake Configuration:
Enable Java build with -DHDF5_BUILD_JAVA=ON in arm-main.yml for Windows 11 ARM.

Fixed #5677
2025-12-18 13:47:20 -06:00
Larry Knox 3e59d7d223 Correct return values for HGOTO_ERROR calls to FAIL instead of '0'. (#6117)
Corrects error return values from 0 to FAIL in H5Z__scaleoffset_decompress_one_byte(), H5Z__scaleoffset_decompress_one_atomic(), and H5Z__scaleoffset_decompress() in H5Zscaleoffset.c
2025-12-17 19:35:48 -06:00
christian-wojek 2ce7fdc4cf Fix CVE-2025-2308 (#5960)
A malformed file can cause the scale-offset filter to have too little input data causing a heap buffer overflow. Additional checks on the maximum buffer length are required during the decompression.

This PR fixes CVE-2025-2308.
2025-12-17 14:14:35 -06:00
christian-wojek 9d90b21ef5 Fix CVE-2025-2309 (#5963)
A malformed file can trigger bit field type conversions that can (due to missing boundary checks in the conversion step) cause a heap buffer overflow. This PR adds a check on the defined conversion to ensure it does not read beyond the size of a single bit field element. Thus, H5T__bit_copy does not result in a buffer overflow. There are several other calls to H5T__bit_copy which might be subject to a similar issue.

This PR fixes CVE-2025-2309.
2025-12-17 12:01:22 -06:00
H. Joe Lee 23ebfa7852 chore: fix quote formatting (#6101)
Change ' to ` for markdown for consistency.
2025-12-15 08:36:31 -06:00
William Allen 03d00fb70e Pin GHA dependencies by hash (#6105)
Hash-pinned dependencies are an important requirement enforced by the OpenSSF scorecard tool: https://github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies

This commit pins all GitHub Actions workflows to a commit hash.
2025-12-12 11:23:53 -06:00
Matt L 63c3abd7db Fix zero-element reads on virtual dsets with r-trees (#6083)
Fix zero-element read failure in H5D__virtual_read() and H5D__virtual_write() in H5Dvirtual.c by skipping H5S_SELECT_BOUNDS if nelmts is 0.

Add test_vds_empty_slice() in rtree.c to verify zero-element read behavior on virtual datasets with r-trees.
2025-12-12 09:24:09 -06:00
bmribler 94c3f7c08e Fixed typos to prevent parsing failures (#6099) 2025-12-12 09:20:09 -06:00
bmribler 72da2a290e Add the C++ API introduction page (#6092) 2025-12-09 16:07:12 -06:00
Matt L c4da612110 Fix table of contents indexing in INSTALL_CMake.txt (#6095) 2025-12-09 12:10:17 -06:00
Scot Breitenfeld d3cebd7dc5 Addressed TODO documentation issues (#6063)
* Fix Doxygen comments showing backslash continuations in macros, fixes #3947

* Replace "@todo Under Construction" with complete documentation, fixes 3105

* Completed "under construction" documentation sections:
  * H5Smodule.h: Add dataspace selection and data transfer documentation
  * H5module.h: Add link types and organization documentation
  * H5Emodule.h: Add error handling programming model documentation

* Fix grammar in documentation block of H5FDioc.c and improve consistency.

* rephrased H5Smodule.h documentation
2025-12-08 14:23:49 -06:00
Matt L 45ef979479 Fix use of incorrect HDF5 parallel option name (#6096) 2025-12-08 13:59:25 -06:00
bmribler 2cee17d813 Added detailed description to the C++ RM (#6056)
Added c++ source files to file patterns to include detailed description
of member functions.
2025-12-06 07:22:19 -06:00
jhendersonHDF 2ddfed18df Rewrite complex number configuration logic to fix re-configuration issue and improve clarity (#6080) 2025-12-05 11:24:55 -06:00
H. Joe Lee 744da856d0 chore: fix filename format for offline reading archive (#6085) 2025-12-04 12:34:54 -06:00
Gerd Heber 8977909e7a Update README.md (#6084)
Added a DOI badge.
2025-12-04 09:45:00 -06:00
bmribler 3f49cfaf41 Updated current release in README files (#6072)
* Update current release
2025-12-03 16:43:42 -06:00
jhendersonHDF 0c3e2216d8 Exclude HISTORY-2.X file from Doxygen parsing (#6081)
* Exclude HISTORY-2.X file from Doxygen parsing
2025-12-02 17:15:45 -06:00
Larry Knox 471ab52f03 Update HISTORY files and clear CHANGELOG.md after 2.0.0 release. (#6034) 2025-12-02 13:55:24 -06:00
Matt L a7fdefc0ea Resolve VOL CI h5dump/h5repack failures (#6054)
* Replace filter change with format change
2025-12-02 13:44:51 -06:00
Scot Breitenfeld 083eb93a3c fixes the GitHub Actions CPack failure on macOS (#6074)
* fixes the GitHub Actions CPack failure on macOS

* Disables Spotlight indexing which can interfere with disk image operations
* Implements retry logic (waits 5 seconds and retries once if CPack fails)
2025-12-02 12:42:18 -06:00
bmribler bd76ec789a Improved usage information (#6070) 2025-12-02 08:40:01 -06:00
dependabot[bot] b986a34474 Bump the github-actions group with 6 updates (#6075)
Bumps the github-actions group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `5.0.0` | `6.0.0` |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `5` | `6` |
| [actions/setup-java](https://github.com/actions/setup-java) | `4` | `5` |
| [actions/github-script](https://github.com/actions/github-script) | `7` | `8` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `2.4.1` | `2.5.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.2` | `4.31.6` |
2025-12-01 21:04:31 -06:00
Neil Fortner 5e2a73d542 Minor optimizations of r-tree implementation (#6039) 2025-12-01 14:20:47 -06:00
H. Joe Lee 8334e1395e build(haiku): make chunk_dims static in test/istore.c (#6049)
* fix: remove unused variable "zero"
2025-12-01 13:16:51 -06:00