Highlights
Binary refresh — Blackwell (sm_120) support on Linux CUDA
Pinned to upstream v1.4.1 C++ binaries. Blackwell support is Linux CUDA only: Windows CUDA stays on v1.3.0 pending DLL packaging, and macOS has no CUDA path.
- Linux CUDA + OMP —
v1.4.1adds sm_120 / Blackwell support. Rebuilt with static CUDA + cuFFT + FFTW + libstdc++ on ubuntu-22.04 (glibc 2.35 floor). - macOS OMP —
v1.4.1includes the fast-math fix that prevents NaNs in absorbing-media simulations on Apple Silicon, plus thelibhdf5.320.dylibABI refresh from v1.4.0 (#661). - Windows OMP + CUDA — both still pinned to
v1.3.0; v1.4.x DLL bundling not yet ready. Windows Blackwell support is not in this release. - Intel Mac guard —
kwave/__init__.pyemits aRuntimeWarningand skips the darwin OMP download ondarwinx86_64 (v1.4.x darwin is arm64-only). Universal2 coverage tracked for v0.6.5. - Chmod fix —
download_binariesnow sets the exec bit on Linux/macOS (#741).
Solver & API fixes
alpha_modeis now respected by the C++ backend, and unsupported combinations are rejected instead of silently ignored (#664, #712).- C++ source flags now write signal length instead of a boolean (#698).
voxel_plot: swapped x and z axes (#501, #734).t_arraysetter no longer raisesValueErrorwhen passed a numpy array (#732).binary_pathis no longer dropped byoptions_to_kwargs()(#726).- Added
dtypeparameter tokspaceFirstOrder()(#695, #716). - Added
AlphaModeenum (#705).
Internals
step()is branch-free; lambdas are bound at setup (#715)._setup_physics_operatorssplit into four single-purpose methods (#713).matlab_findreplaced with NumPy inmapgen(#609).kWaveMediumtype annotations and test coverage (#736).- Pinned
sphinx<9to fix Read the Docs (#714). gaussiancleanup usingnp.pi(#717).- Added
CLAUDE.md(#696).
Closes
#501, #622, #656, #661, #664, #695, #738, #740
Out of scope
Darwin x86_64 (Intel Mac) coverage — tracked for v0.6.5.
Thanks
- @aconesac — original Blackwell report (#656) and Linux CUDA
v1.4.1validation on Blackwell hardware (#739). - @elma16 — macOS OMP fast-math fix (k-wave-omp-darwin#4).
What's Changed
- Add CLAUDE.md for Claude Code onboarding by @waltsims in #696
- Fix cpp source flags in new API by @waltsims in #698
- Bump requests from 2.33.0 to 2.33.1 by @dependabot[bot] in #699
- Bump jaxtyping from 0.3.2 to 0.3.7 by @dependabot[bot] in #703
- Bump deepdiff from 8.6.2 to 9.0.0 by @dependabot[bot] in #702
- Bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in #711
- Add AlphaMode enum for stringly-typed alpha_mode field by @waltsims in #705
- Bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in #709
- Bump gdown from 5.2.0 to 5.2.2 by @dependabot[bot] in #710
- Bump coverage from 7.10.6 to 7.13.5 by @dependabot[bot] in #707
- Bump furo from 2024.8.6 to 2025.12.19 by @dependabot[bot] in #706
- Bump matplotlib from 3.10.7 to 3.10.8 by @dependabot[bot] in #708
- Pin sphinx<9 in docs extras to fix Read the Docs build by @waltsims in #714
- Fix #664: respect alpha_mode + reject silent C++ ignore by @waltsims in #712
- Refactor _setup_physics_operators into four single-purpose methods by @waltsims in #713
- Make step() branch-free by binding lambdas at setup by @waltsims in #715
- Bump gdown from 5.2.2 to 6.0.0 by @dependabot[bot] in #720
- Bump h5py from 3.15.1 to 3.16.0 by @dependabot[bot] in #719
- Bump pre-commit from 4.5.1 to 4.6.0 by @dependabot[bot] in #718
- Use np.pi and remove redundant variable in gaussian function by @maayanmatsliah-tech in #717
- Bump urllib3 from 2.6.3 to 2.7.0 by @dependabot[bot] in #724
- Bump coverage from 7.13.5 to 7.14.0 by @dependabot[bot] in #729
- Bump requests from 2.33.1 to 2.34.0 by @dependabot[bot] in #728
- Bump matplotlib from 3.10.8 to 3.10.9 by @dependabot[bot] in #727
- Bump mistune from 3.2.0 to 3.2.1 by @dependabot[bot] in #723
- Fix binary_path silently dropped by options_to_kwargs() by @Copilot in #726
- Bump sphinx-toolbox 3.8.0 -> 4.1.2 and sphinx-tabs 3.4.7 -> 3.4.5 by @waltsims in #733
- Fix #501: voxel_plot swapped x and z axes by @waltsims in #734
- fix: fix t_array setter ValueError when passing numpy array by @wangwangbobo in #732
- Replace matlab_find with numpy functions in mapgen by @faridyagubbayli in #609
- Add dtype parameter to kspaceFirstOrder() (#695) by @waltsims in #716
- Fix kWaveMedium type annotations (rebased #636 + Greptile fixes) by @waltsims in #736
- Set exec bit on Linux/macOS binaries after download by @waltsims in #741
- Bump BINARY_VERSION to v1.4.1 (sm_120 / Blackwell) by @waltsims in #739
New Contributors
- @maayanmatsliah-tech made their first contribution in #717
- @wangwangbobo made their first contribution in #732
Full Changelog: v0.6.1...v0.6.2