Skip to content

Conversation

@zhexuany
Copy link
Contributor

@zhexuany zhexuany commented Jan 18, 2026

Summary

Upgrades the bundled HDF5 library from version 1.14.3 to 1.14.4 and modernizes the codebase to follow 2026 Rust best practices.

Key Changes

HDF5 Upgrade

  • Bumps bundled HDF5 version to 1.14.4
  • Adds explicit bounds check in chunk_info for 1.14.4 compatibility
  • Ensures hdf5-src is included for static builds on macOS

Codebase Modernization

  • Migrates to Rust 2024 edition
  • Fixes builder method chaining patterns across the codebase
  • Removes unused macros and dangerous lint suppressions
  • Resolves compilation warnings and errors

Testing & Coverage

  • Adds comprehensive dataset test utilities (dataset_test_utils.rs)
  • Adds new test coverage suite (test_dataset_coverage.rs)
  • Integrates Codecov for test coverage tracking

CI/CD Improvements

  • Completely rewrites CI workflow with modern configuration
  • Streamlines build and test processes
  • Adds proper PR branch triggers

Test Plan

  • All existing tests pass
  • New dataset coverage tests pass
  • CI builds successfully on all platforms
  • Codecov reports coverage

mulimoen and others added 30 commits February 6, 2024 21:00
# Conflicts:
#	.github/workflows/ci.yml
Remove mismatched_lifetime_syntaxes and unpredictable_function_pointer_comparisons
from Cargo.toml, fixing the underlying issues in code instead:

- Replace impl Trait for Type<'_> with explicit lifetime parameters
- Replace function pointer comparison with direct type ID comparison using H5Tequal()
- Add explicit '_ for elided lifetimes in return positions where required
- Fix mismatched closing delimiter in test_dataset_builder macro
- Fix test_builder_methods macro by using proper repetition syntax
- Add local with_tmp_file helper function
- Remove unused Array1 import
- Update MSRV to 1.92
- Update GitHub Actions to checkout@v4
- Update dependencies: ndarray 0.16, bitflags 2.6
- Apply let_else patterns for more idiomatic code
- Refine clippy lint configuration
- Fix various clippy warnings (derivable_impls, needless_lifetimes, etc.)
- Fix rustfmt.toml edition to 2021
- Simplified job structure with clearer naming
- Combined fmt and clippy into single lint job
- Focused on essential test scenarios
- Multi-platform static build testing (Linux, macOS, Windows)
- MSRV testing
- Documentation build
- Feature combination testing
- Removed redundant jobs for faster feedback
- Fix blosc test: use direct method calls instead of closure array
- Remove unused imports (BuilderTestCase, Filter, IxDyn, TryInto, Conversion, TypeDescriptor)
- Fix unnecessary parentheses warning in .shape() calls
- Fix unused variable warning (_ds prefix)
- Remove unused macros: test_dataset_builder, apply_config, test_dataset_configs, test_builder_methods
- Fix blosc test: use method chaining instead of intermediate mutable bindings
- Simplify apply_config macro to expand to method fragments
- Fix test_dataset_builder macro to use method chaining
- Document unused macros for future use
- Add test for apply_config macro behavior
Copy link

@05F3759DF 05F3759DF left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@zhexuany zhexuany merged commit 268a45d into main Jan 18, 2026
9 checks passed
@zhexuany zhexuany deleted the feature/hdf5-1.14.4 branch January 18, 2026 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants