Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
197 commits
Select commit Hold shift + click to select a range
65ab499
enable threadsafe feature for static build
CramBL Mar 2, 2025
37979ff
Bump crate-ci/typos from 1.30.2 to 1.31.1
dependabot[bot] Mar 31, 2025
6e744de
Merge pull request #73 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Apr 1, 2025
0aaa10b
Clippy lints
magnusuMET Apr 4, 2025
09c9928
Merge pull request #74 from mulimoen/clippy
magnusuMET Apr 5, 2025
229eb9d
MSRV: Keep compat
magnusuMET Apr 13, 2025
48951b1
Merge pull request #75 from metno/msrv-compat
magnusuMET Apr 13, 2025
47fdbd5
Bump ubuntu-20.04 to ubuntu-22.04
magnusuMET Apr 17, 2025
5ec43c8
Merge pull request #76 from magnusuMET/ci-ubuntu-depreciation
magnusuMET Apr 17, 2025
7234793
Bump crate-ci/typos from 1.31.1 to 1.31.2
dependabot[bot] Apr 28, 2025
8842e35
Merge pull request #77 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Apr 29, 2025
9c69f1b
Bump crate-ci/typos from 1.31.2 to 1.32.0
dependabot[bot] May 5, 2025
651b44a
Merge pull request #80 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] May 6, 2025
488cc54
Bump crate-ci/typos from 1.32.0 to 1.33.1
dependabot[bot] Jun 2, 2025
4f30a4a
Merge pull request #84 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Jun 3, 2025
76545e2
Fix clippy lints
magnusuMET Jun 30, 2025
ed37d0f
Merge pull request #86 from metno/clippy
magnusuMET Jun 30, 2025
9e8083a
Bump crate-ci/typos from 1.33.1 to 1.34.0
dependabot[bot] Jun 30, 2025
a0a512d
Merge pull request #87 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Jul 1, 2025
61c5504
Bump hdf5-c to 1.14.6
magnusuMET Jul 23, 2025
d98a6d3
Whitelist 1.14.6
magnusuMET Jul 23, 2025
0b00080
Merge pull request #88 from metno/bump_hdf5_c
magnusuMET Jul 23, 2025
5bb25f6
Fix clippy lints
magnusuMET Aug 11, 2025
16c9f24
Merge pull request #89 from metno/clippy
magnusuMET Aug 11, 2025
12f5a15
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
1b3c6d0
Merge pull request #91 from metno/dependabot/github_actions/actions/c…
dependabot[bot] Aug 12, 2025
9a75004
Bump crate-ci/typos from 1.34.0 to 1.35.3
dependabot[bot] Aug 12, 2025
e685faf
Merge pull request #90 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Aug 12, 2025
fd83239
Bump crate-ci/typos from 1.35.3 to 1.35.4
dependabot[bot] Aug 19, 2025
0ec4256
Merge pull request #92 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Aug 19, 2025
bdec53b
Bump crate-ci/typos from 1.35.4 to 1.35.5
dependabot[bot] Aug 26, 2025
be2e69f
Merge pull request #94 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Aug 26, 2025
3ddac46
refactor: use LazyLock from standard lib
philbucher Aug 31, 2025
7cac1b4
Update hdf5/src/globals.rs
philbucher Sep 1, 2025
5440caf
Fix H5FD_WINDOWS initialization on Windows
philbucher Sep 1, 2025
6cd321d
Merge pull request #96 from philbucher/refactor-lazy-static
magnusuMET Sep 1, 2025
725422d
Bump crate-ci/typos from 1.35.5 to 1.35.7
dependabot[bot] Sep 2, 2025
d77a829
Merge pull request #97 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Sep 2, 2025
b8dd462
Upgrade upper bound of ndarray
mulimoen Oct 16, 2025
2662373
CI: Fix dep override
mulimoen Oct 16, 2025
a7a7ddd
Skip unneccesary docs.rs feature flag
mulimoen Oct 16, 2025
7bb2bbc
Pin docs build
mulimoen Oct 16, 2025
25f4410
Merge pull request #104 from metno/bump_ndarray
mulimoen Oct 16, 2025
b2fb140
Bump crate-ci/typos from 1.35.7 to 1.38.1
dependabot[bot] Oct 16, 2025
4fedfcc
Merge pull request #102 from metno/dependabot/github_actions/crate-ci…
dependabot[bot] Oct 16, 2025
d0d2a29
Release new hdf5 version
mulimoen Oct 16, 2025
6937438
add links to examples in the README
CramBL Oct 25, 2025
b67782f
add simple example of continuously writing to a chunked 1D dataset, a…
CramBL Oct 25, 2025
7c07c8b
add new example to ci.yml and define a FEATURES variable to avoid dup…
CramBL Oct 25, 2025
e9922e9
add doc comment
CramBL Oct 25, 2025
8859f90
implement debug/display for Datatype and improve error message on fai…
CramBL Oct 25, 2025
fb652f4
add new example to ci.yml and define a FEATURES variable to avoid dup…
CramBL Oct 25, 2025
f7a6777
add pretty_assertions to workspace dev-dependencies
CramBL Oct 26, 2025
b3b17f5
ensure the H5Type derive macro also works inside the hdf5 crate
CramBL Oct 26, 2025
bea491b
improve error message for failed conversions
CramBL Oct 26, 2025
ebd27db
Implement proper way of getting name of HDF5 attribute
CramBL Oct 26, 2025
855bdf7
supply acpl_id to h5Acreate2 to conform to API
CramBL Oct 26, 2025
3851eb5
import types instead of fully qualifying
CramBL Oct 26, 2025
2272096
add ObjectCopy property list
CramBL Nov 2, 2025
65f155a
add support for object copying (H5Ocopy) via copy_to and copy_to_with…
CramBL Nov 2, 2025
a5c39a6
ci: dont document dependencies
philbucher Nov 19, 2025
25d595c
use derive for Default
philbucher Nov 19, 2025
d04e7f0
Merge pull request #116 from philbucher/clippy-derive-default
mulimoen Nov 19, 2025
e22350d
Merge pull request #115 from philbucher/dont-doc-deps
mulimoen Nov 19, 2025
e794e6c
SWMR functionality
magnusuMET Apr 29, 2025
a8c3907
Add backwards compatibility
magnusuMET Apr 29, 2025
8cbc639
Fix MSRV
mulimoen Nov 19, 2025
8cda124
Merge pull request #79 from magnusuMET/SWMR
mulimoen Nov 19, 2025
196b793
deps: update libloading requirement from 0.8 to 0.9
dependabot[bot] Nov 19, 2025
194142f
Bump crate-ci/typos from 1.38.1 to 1.39.2
dependabot[bot] Nov 19, 2025
f158e9b
Merge pull request #114 from metno/dependabot/github_actions/crate-ci…
mulimoen Nov 19, 2025
9690237
Merge pull request #111 from metno/dependabot/cargo/libloading-0.9
mulimoen Nov 19, 2025
3ee8f7b
Downgrade libloading (MSRV)
mulimoen Nov 19, 2025
0b0360e
Merge pull request #118 from metno/downgrade-libloading
mulimoen Nov 19, 2025
f24e1f0
Merge branch 'main' into fix-attr-name
CramBL Nov 20, 2025
4a82bc8
changelog
CramBL Nov 20, 2025
30eb808
Merge branch 'main' into fix-attr-name
CramBL Nov 20, 2025
bc3f379
Revert "enable threadsafe feature for static build"
CramBL Nov 20, 2025
fd5a1e6
Merge branch 'main' into add-h5ocopy
CramBL Nov 20, 2025
1788dab
Merge branch 'main' into more-examples
CramBL Nov 20, 2025
6a229ce
review comments - simplify
CramBL Nov 20, 2025
5fbd0e2
Update CHANGELOG.md
CramBL Nov 20, 2025
9d3b85a
gate example behind necessary feature version
CramBL Nov 20, 2025
009673d
Merge pull request #109 from CramBL/add-h5ocopy
mulimoen Nov 20, 2025
3870ab3
Downgrade correct indexmap
mulimoen Nov 20, 2025
11e3259
Add cmake flags for static msvc runtime
Nov 12, 2025
5942195
Set cmake variables based on the env
Nov 13, 2025
63498e3
Set CMAKE_POLICY_DEFAULT_CMP0091 to NEW
mulimoen Nov 20, 2025
603c83c
Merge pull request #108 from CramBL/fix-attr-name
mulimoen Nov 20, 2025
5e935b6
Merge pull request #105 from CramBL/more-examples
mulimoen Nov 20, 2025
0680799
Merge branch 'main' into better-errors
CramBL Nov 20, 2025
61dc387
fix bad concurrency group name
CramBL Nov 20, 2025
b1236ed
avoid using lint reasons to stick to the current MSRV
CramBL Nov 20, 2025
7ba222d
Merge pull request #119 from satarsa/static_msvc
mulimoen Nov 20, 2025
2463d46
remove pretty_assertions from workspace dependencies
CramBL Nov 20, 2025
75e2ab5
Ensure the CI workflow workflow gets cancelled if a newer commit has …
CramBL Nov 20, 2025
231d7f7
Merge pull request #107 from CramBL/better-errors
mulimoen Nov 20, 2025
9edbe82
Add to changelog
mulimoen Nov 23, 2025
2ee9a73
Merge pull request #120 from mulimoen/changelog
mulimoen Nov 23, 2025
fdc3287
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
650bd29
Merge pull request #122 from metno/dependabot/github_actions/actions/…
dependabot[bot] Nov 24, 2025
33e0f5e
Initial ZFP filters in place with dcpl testing working.
Nov 26, 2025
e7e3492
zfp interface methods are implemented. lossless isn't quite right
Nov 26, 2025
cf9617e
Fixed the interface with reversible so it now runs the compression fi…
Nov 27, 2025
6dc4e12
Remove unused ZfpMode import from dataset_create.rs
Nov 27, 2025
da2a1cf
fixed typo obscuring the `zfp_available()` method for testing the fea…
Nov 27, 2025
fe99182
removed unused test function assert_unchecked() left over from testing.
Nov 28, 2025
2b23f52
ran cargo fmt
Nov 28, 2025
6ec697f
test build commit
Nov 28, 2025
44fd1fb
test build commit removed old comment
Nov 28, 2025
aa35732
moved builder logic from impl Dataset to impl DatasetInner and wrappe…
Nov 29, 2025
cae3363
Incremented version number and updated the change log
Nov 29, 2025
b81cf00
Removed call to nbytes in filter_zfp_compress. The ZFP library does n…
Nov 29, 2025
c63d87d
fixed breaking typo for nightly lint
Dec 1, 2025
040d3e9
Bump crate-ci/typos from 1.39.2 to 1.40.0
dependabot[bot] Dec 1, 2025
537e55c
added an export mode. renamed some varibles and fixed the header otup…
Dec 3, 2025
eb317eb
typo fixes
Dec 3, 2025
34d0fc2
removed a conversion I don't think I need
Dec 3, 2025
a808b37
debugging work
Dec 3, 2025
e888e23
more debug statements
Dec 3, 2025
fb0b309
more debug
Dec 3, 2025
c5a6087
more debug
Dec 3, 2025
4676265
got the bugs cleand up somewhat so now at least the code works. Still…
Dec 3, 2025
b197fd0
working ish
Dec 4, 2025
868d4ea
this is now outputting the headers that h5py can decompose
Dec 4, 2025
a388e7a
Code appears to be working. Now to clean up before writing tests
Dec 5, 2025
826eef8
Added docstrings to all new functions
Dec 5, 2025
d9e5772
added more tests
Dec 5, 2025
e059221
Merge pull request #129 from metno/dependabot/github_actions/crate-ci…
mulimoen Dec 5, 2025
00fc4b8
fixed version requirements, cleaned up tests and fixed a feature flag
Dec 8, 2025
f217b61
removed an import
Dec 9, 2025
ba0f24e
ran cargo fmt
Dec 9, 2025
026521e
spell check
Dec 9, 2025
696fdb8
Add minimal docs for public items
rytheo Jun 24, 2023
a34e779
Merge pull request #130 from rytheo/metno-docs
mulimoen Dec 13, 2025
701da86
Exclude development scripts from published package
weiznich Dec 16, 2025
872b427
Merge pull request #132 from GiGainfosystems/exclude_scripts
mulimoen Dec 16, 2025
e3aac67
Update macos-13 to 14 in CI
mulimoen Dec 16, 2025
4cfe980
Switch macos to newer hdf5
mulimoen Dec 16, 2025
83d91b3
Merge pull request #133 from metno/update-macos-runners
mulimoen Dec 16, 2025
2a44fc6
Merge branch 'main' into add_zfp
Dec 19, 2025
6d19859
Bump crate-ci/typos from 1.40.0 to 1.40.1
dependabot[bot] Dec 29, 2025
e689076
Merge pull request #135 from metno/dependabot/github_actions/crate-ci…
mulimoen Dec 29, 2025
099bd1d
Fixing small nits
mulimoen Jan 19, 2026
b43dfd0
Fix indexmap override
mulimoen Jan 19, 2026
a338fda
Merge pull request #124 from frankblubaugh/add_zfp
mulimoen Jan 19, 2026
db2c1b2
feat: HDF5 2.0.0
kiranshila Nov 30, 2025
4d66fb5
cargo fmt
mulimoen Dec 16, 2025
08e50eb
Fix brew builds
mulimoen Dec 16, 2025
6451938
Fix feature gate for mpio
mulimoen Dec 16, 2025
ef3a0d6
Fix MPIO driver
mulimoen Dec 16, 2025
9730522
Add changelog
mulimoen Dec 17, 2025
b84ce42
Fix compatability with previous versions
mulimoen Dec 22, 2025
4f91a36
Bump crate-ci/typos from 1.40.1 to 1.42.1
dependabot[bot] Jan 19, 2026
fa002f5
Merge pull request #134 from metno/hdf5_v2
mulimoen Jan 19, 2026
bd54c54
Set versions for packages
mulimoen Jan 19, 2026
1fc12e7
Merge pull request #139 from metno/release-next
mulimoen Jan 19, 2026
930dd42
Set path to license file
mulimoen Jan 19, 2026
131222e
Fix issue #140
mulimoen Jan 20, 2026
991b6ee
Merge pull request #138 from metno/dependabot/github_actions/crate-ci…
mulimoen Jan 20, 2026
6f14338
Merge pull request #143 from metno/fix-issue-140
mulimoen Jan 20, 2026
b28bbec
Release new version of hdf5
mulimoen Jan 20, 2026
bebb297
Release new version of hdf5-sys
mulimoen Jan 20, 2026
c520899
Bump crate-ci/typos from 1.42.1 to 1.42.2
dependabot[bot] Jan 26, 2026
528bfa7
Merge pull request #145 from metno/dependabot/github_actions/crate-ci…
mulimoen Jan 26, 2026
241932c
Fix build failure when enabling both `hl` & `threadsafe`
42triangles Feb 9, 2026
d27fbbe
Merge pull request #148 from 42triangles/main
mulimoen Feb 9, 2026
1ecd172
Update changelog
mulimoen Feb 9, 2026
fa2dfd4
Bump brew hdf5 version
mulimoen Feb 9, 2026
4c04c1d
Fix MPIO driver in hdf5 2.0
mulimoen Feb 9, 2026
010e24f
Find brew hdf5@2.0
mulimoen Feb 9, 2026
293c67d
Fix cfg typo
mulimoen Feb 9, 2026
4466da1
Set new version of hdf5 crate
mulimoen Feb 9, 2026
23948b2
Fix include name
mulimoen Feb 9, 2026
a99c025
Merge pull request #149 from metno/bump-hdf5-src
mulimoen Feb 9, 2026
8fa1712
Bump crate-ci/typos from 1.42.2 to 1.43.4
dependabot[bot] Feb 9, 2026
5de8793
Add some checks for non-compressible compressions
mulimoen Feb 10, 2026
820765e
Check typesize for blosc
mulimoen Feb 10, 2026
aa52850
Move crashing example to tests
mulimoen Feb 10, 2026
6bc2bd9
Quit early if szip not available
mulimoen Feb 10, 2026
5992a43
Add to changelog
mulimoen Feb 10, 2026
d99070a
Merge pull request #153 from metno/fix-check-comp-size
mulimoen Feb 10, 2026
32b91a5
Release new version of hdf5
mulimoen Feb 10, 2026
3971da7
Bump rand
mulimoen Feb 10, 2026
509643e
Increase MSRV
mulimoen Feb 10, 2026
c4d8d8a
Merge pull request #154 from metno/bump-rand
mulimoen Feb 10, 2026
5994e6f
Merge pull request #150 from metno/dependabot/github_actions/crate-ci…
mulimoen Feb 10, 2026
4c09edf
Bump crate-ci/typos from 1.43.4 to 1.44.0
dependabot[bot] Mar 2, 2026
37f1d20
deps: update winreg requirement from 0.55 to 0.56
dependabot[bot] Mar 16, 2026
ae610e4
Merge pull request #161 from metno/dependabot/cargo/winreg-0.56
mulimoen Mar 23, 2026
e2bef95
Merge pull request #159 from metno/dependabot/github_actions/crate-ci…
mulimoen Mar 23, 2026
f1feb89
Update package caches
mulimoen Mar 23, 2026
6ebfecc
Add support for hdf5 2.1.0
mulimoen Mar 23, 2026
0d9e9cb
Use hdf5 2.1.0
mulimoen Mar 23, 2026
71c0163
Add to changelog
mulimoen Mar 23, 2026
ee77af5
Add homebrew version detection
mulimoen Mar 23, 2026
574c628
Merge pull request #164 from metno/feat_hdf5_2_1_0
mulimoen Mar 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 33 additions & 30 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ on:
schedule:
- cron: '0 18 * * *'

# Ensure this workflow gets cancelled if a newer commit has been pushed on the same branch (unless it's the default branch)
concurrency:
group: ${{ github.workflow }}-@{{ github.ref }}
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
Expand All @@ -23,9 +24,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Check spelling
uses: crate-ci/typos@7bc041cbb7ca9167c9e0e4ccbb26f48eb0f9d4e0 # v1.30.2
uses: crate-ci/typos@631208b7aac2daa8b707f55e7331f9112b0e062d # v1.44.0

lint:
name: lint
Expand All @@ -38,7 +39,7 @@ jobs:
- {command: clippy, rust: stable}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
with: {toolchain: '${{matrix.rust}}', components: 'rustfmt, clippy'}
Expand All @@ -51,15 +52,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with: {toolchain: nightly}
with: {toolchain: "nightly-2025-09-01"}
- name: Document workspace
env:
RUSTDOCFLAGS: "--cfg docsrs"
run: cargo doc --features static,zlib,blosc-all,lzf,f16,complex
run: cargo doc --features static,zlib,blosc-all,lzf,f16,complex --no-deps

brew:
name: brew
Expand All @@ -69,11 +70,12 @@ jobs:
matrix:
include:
- {version: hdf5@1.10}
- {version: hdf5@1.14}
- {version: hdf5@2.0}
- {version: hdf5}
- {version: hdf5-mpi, mpi: true}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand All @@ -94,22 +96,19 @@ jobs:
include:
- {os: ubuntu-latest, version: 1.8.16, channel: conda-forge, rust: stable}
- {os: windows-latest, version: 1.8.17, channel: conda-forge, rust: stable}
- {os: macos-13, version: 1.8.18, channel: anaconda, rust: stable}
- {os: ubuntu-latest, version: 1.8.20, channel: anaconda, rust: beta}
- {os: ubuntu-latest, version: 1.10.1, channel: anaconda, rust: nightly}
- {os: windows-latest, version: 1.10.2, channel: anaconda, rust: beta}
- {os: ubuntu-latest, version: 1.10.3, channel: conda-forge, rust: nightly}
- {os: windows-latest, version: 1.10.4, channel: anaconda, rust: nightly}
- {os: ubuntu-latest, version: 1.10.4, mpi: openmpi, channel: conda-forge, rust: stable}
- {os: ubuntu-latest, version: 1.10.5, channel: conda-forge, rust: beta}
- {os: macos-13, version: 1.10.5, mpi: openmpi, channel: conda-forge, rust: beta}
- {os: ubuntu-latest, version: 1.10.6, channel: anaconda, rust: stable}
- {os: ubuntu-latest, version: 1.10.6, mpi: mpich, channel: conda-forge, rust: nightly}
# - {os: ubuntu, version: 1.10.8, channel: conda-forge, rust: stable}
- {os: ubuntu-latest, version: 1.12.0, mpi: openmpi, channel: conda-forge, rust: stable}
- {os: macos-latest, version: 1.12.0, channel: conda-forge, rust: stable}
- {os: windows-latest, version: 1.12.0, channel: conda-forge, rust: stable}
- {os: ubuntu-latest, version: 1.12.1, channel: conda-forge, rust: stable}
- {os: macos-14, version: 1.12.1, mpi: openmpi, channel: conda-forge, rust: beta}
- {os: macos-latest, version: 1.14.0, channel: conda-forge, rust: stable}
- {os: windows-latest, version: 1.14.0, channel: conda-forge, rust: stable}
- {os: ubuntu-latest, version: 1.14.0, channel: conda-forge, rust: stable}
Expand All @@ -118,7 +117,7 @@ jobs:
shell: bash -l {0}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -155,7 +154,7 @@ jobs:
- {os: macos, rust: stable}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand All @@ -167,13 +166,16 @@ jobs:
if: matrix.rust != 'stable-gnu'
- name: Run examples
run: |
cargo r --example simple --features hdf5-sys/static,hdf5-sys/zlib,lzf,blosc-all
cargo r --example chunking --features hdf5-sys/static,hdf5-sys/zlib,lzf,blosc-all
cargo r --example simple --features ${{ env.FEATURES }}
cargo r --example chunking --features ${{ env.FEATURES }}
cargo r --example continuously_rw_1d --features ${{ env.FEATURES }}
if: matrix.rust != 'stable-gnu'
env:
FEATURES: hdf5-sys/static,hdf5-sys/zlib,lzf,blosc-all

apt:
name: apt
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
Expand All @@ -182,7 +184,7 @@ jobs:
- {mpi: openmpi, rust: stable}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand All @@ -192,6 +194,7 @@ jobs:
[ "${{matrix.mpi}}" == "mpich" ] && PACKAGES="libhdf5-mpich-dev mpich"
[ "${{matrix.mpi}}" == "openmpi" ] && PACKAGES="libhdf5-openmpi-dev openmpi-bin"
[ "${{matrix.mpi}}" == "serial" ] && PACKAGES="libhdf5-dev"
sudo apt-get update
sudo apt-get install $PACKAGES
- name: Build and test all crates
run: |
Expand All @@ -214,7 +217,7 @@ jobs:
version: ["1.8", "1.10", "1.12", "1.14"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -260,7 +263,7 @@ jobs:
# rust: [stable]
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# uses: actions/checkout@v6
# with: {submodules: true}
# - name: Install Rust (${{matrix.rust}})
# uses: dtolnay/rust-toolchain@stable
Expand All @@ -279,22 +282,22 @@ jobs:

msrv:
name: Minimal Supported Rust Version
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with: {submodules: true}
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with: {toolchain: "1.80"}
with: {toolchain: "1.85.1"}
- name: Create lock-file
run:
cargo update
- name: Override deps
run:
cargo update half@2.5.0 --precise 2.4.1
# - name: Override deps
# run: |
# cargo update half@2.7.1 --precise 2.4.1
- name: Build and test all crates
run:
cargo test --locked --workspace -vv --features=hdf5-sys/static,hdf5-sys/zlib --exclude=hdf5-metno-derive
Expand All @@ -304,7 +307,7 @@ jobs:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# uses: actions/checkout@v6
# with: {submodules: true}
# - name: Install Rust
# uses: dtolnay/rust-toolchain@stable
Expand All @@ -321,7 +324,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with: {submodules: true}
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
submodules: true
- name: Install libhdf5
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ target/
*.ipynb*
.idea/
sweep.timestamp
.cargo/
.cargo/config.toml
82 changes: 82 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,88 @@
## hdf5-sys unreleased
## hdf5-src unreleased

## hdf5 0.12.4
Release date: Mar 23, 2026
- Support for hdf5 2.1.0
- MSRV has been increased to 1.85

## hdf5-sys 0.11.3
Release date: Mar 23, 2026
- Support for hdf5 2.1.0

## hdf5-src 0.10.2
Release date: Mar 23, 2026
- Update to hdf5 2.1.0

## hdf5 v0.12.3
Release date: Feb 10, 2026
- Fixed compression of VarLenUnicode resulting in errors

## hdf5 v0.12.2
Release date: Feb 09, 2026
- Fixed MPIO include

## hdf5-sys v0.11.2
Release date: Feb 09, 2026
- Fixed name of MPIO include

## hdf5-src v0.10.1
Release date: Feb 09, 2026
- Fixed name of cmake build option

## hdf5-sys v0.11.1
Release date: Jan 20, 2026
- Fixed an import for windows using prebuilt hdf5 2.0.0

## hdf5 v0.12.1
Release date: Jan 20, 2026
- No changes

## hdf5 v0.12.0
Release date: Jan 19, 2026
- Add support for hdf5 2.0.0
- Added support for ZFP compression filters as an optional feature

## hdf5-types v0.11.0
Release date: Jan 19, 2026
- Add support for hdf5 2.0.0

## hdf5-derive v0.10.0
Release date: Jan 19, 2026
- Add support for hdf5 2.0.0

## hdf5-sys v0.11.0
Release date: Jan 19, 2026
- Add support for hdf5 2.0.0
- Remove `H5FD_*_init` functions, these are private to hdf5-c

## hdf5-src v0.10.0
Release date: Jan 19, 2026
- Use hdf5 2.0.0

## hdf5 v0.11.0
Release date: Nov 23, 2025
- Fixed incorrect retrieved name of attributes
- Added support for Single Writer Multiple Readers (SWMR) (breaking change, OpenMode has extra variant)
- Added support for object copying between Locations
- Improved debug printing for datatype descriptor

## hdf5-types v0.10.2
Release date: Nov 23, 2025
- Added documentation on Typedescriptor::size

## hdf5-derive v0.9.3
Release date: Nov 23, 2025
- Fixed derive macro when inside itself or hdf5_metno package

## hdf5-src v0.9.5
Release date: Nov 23, 2025
- Improved support for static linking with msvc

## hdf5 v0.10.2 (yanked)
Release date: Oct 16, 2025
- Upgraded upper bound of ndarray

## hdf5-types v0.10.1
Release date: Mar 19, 2025
- Fixed deref of null ptr in `VarLenAscii`/`VarLenUnicode`
Expand Down
31 changes: 25 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ members = ["hdf5", "hdf5-types", "hdf5-derive", "hdf5-sys", "hdf5-src"]
default-members = ["hdf5", "hdf5-types", "hdf5-derive", "hdf5-sys"]

[workspace.package]
rust-version = "1.80.0"
rust-version = "1.85.1"
authors = [
"Ivan Smirnov <aldanor@users.noreply.github.com>",
"Magnus Ulimoen <mulimoen@users.noreply.github.com>",
Expand All @@ -24,9 +24,28 @@ libz-sys = { version = "1.1", default-features = false }
mpi-sys = "0.2"
num-complex = { version = "0.4", default-features = false }
regex = "1.10"

# internal
hdf5 = { package = "hdf5-metno", version = "0.9.3", path = "hdf5" } # !V
hdf5-derive = { package = "hdf5-metno-derive", version = "0.9.1", path = "hdf5-derive" } # !V
hdf5-src = { package = "hdf5-metno-src", version = "0.9.3", path = "hdf5-src" } # !V
hdf5-sys = { package = "hdf5-metno-sys", version = "0.10.1", path = "hdf5-sys" } # !V
hdf5-types = { package = "hdf5-metno-types", version = "0.10.0", path = "hdf5-types" } # !V
hdf5 = { package = "hdf5-metno", version = "0.12.0", path = "hdf5" } # !V
hdf5-derive = { package = "hdf5-metno-derive", version = "0.10.0", path = "hdf5-derive" } # !V
hdf5-types = { package = "hdf5-metno-types", version = "0.11.0", path = "hdf5-types" } # !V
hdf5-src = { package = "hdf5-metno-src", version = "0.10.0", path = "hdf5-src" } # !V
hdf5-sys = { package = "hdf5-metno-sys", version = "0.11.3", path = "hdf5-sys" } # !V


[profile.dev]
# Fast compile, reasonable runtime
opt-level = 0 # no optimizations = much faster compilation
debug = 1 # keep minimal debug info (0 is smaller, 1 is a nice compromise)
incremental = true # reuse previous compilation work
codegen-units = 16 # more parallel codegen units = faster compiles
lto = "off" # no link-time optimization
panic = "unwind" # default, keeps backtraces usable
overflow-checks = true # keep checks for safety in dev

[profile.test]
# Inherit dev as a baseline, then tweak for tests
inherits = "dev"
opt-level = 0 # keep tests compiling fast
debug = 1 # enough info for backtraces
overflow-checks = true
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,9 @@ fn main() -> Result<()> {
}
```

You can find this [example][readme-example] as well as other example projects in
the [example directory][examples].

## Compatibility

### Platforms
Expand Down Expand Up @@ -206,3 +209,7 @@ Few things to note when building on Windows:
`hdf5` crate is primarily distributed under the terms of both the MIT license and the
Apache License (Version 2.0). See [LICENSE-APACHE](LICENSE-APACHE) and
[LICENSE-MIT](LICENSE-MIT) for details.


[readme-example]: https://github.com/metno/hdf5-rust/blob/main/hdf5/examples/simple.rs
[examples]: https://github.com/metno/hdf5-rust/tree/main/hdf5/examples
2 changes: 1 addition & 1 deletion hdf5-derive/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "hdf5-metno-derive"
description = "Derive macro for HDF5 structs and enums."
categories = ["development-tools::procedural-macro-helpers"]
readme = "README.md"
version = "0.9.2" # !V
version = "0.10.0" # !V
rust-version.workspace = true
authors.workspace = true
keywords.workspace = true
Expand Down
Loading