| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-09-09 | 1.0 kB | |
| v2.0.1 source code.tar.gz | 2026-09-09 | 93.7 MB | |
| v2.0.1 source code.zip | 2026-09-09 | 93.7 MB | |
| Totals: 3 Items | 187.3 MB | 0 | |
Fixed
- Fixed a memory-corruption bug when correcting for more than one covariate
(e.g. lab and processing day).
covariate_boundswas allocated one element too small, sostd::partial_sumwrote one entry past the end of the buffer — undefined behavior that could silently corrupt memory or crash. The correction results are unchanged. Thanks to @jkhales for finding and fixing this (#53).
Development
- Added an AddressSanitizer + UndefinedBehaviorSanitizer CI job that builds the
extension with
-fsanitize=address,undefinedand runs the test suite under the sanitizer runtime, so memory errors like the one above fail CI. Build it locally withpip install -e . -C cmake.define.HARMONYPY_SANITIZE=ON. - Linux wheels are now built on
manylinux_2_28(glibc 2.28+, e.g. RHEL/ AlmaLinux 8, Ubuntu 18.10+) instead ofmanylinux2014. Recent NumPy releases no longer shipmanylinux2014wheels and require GCC >= 10.3, which the old build image did not provide;manylinux_2_28matches NumPy's own wheels.