diff --git a/CHANGELOG.md b/CHANGELOG.md index c18c020..1951d03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,11 @@ adheres to [Semantic Versioning](https://semver.org/). decision narrative, avoiding a redundant full-width context pass. ### Fixed +- The minimum supported numpy is now 1.22. The numpy 1.21.6 wheel bundles an + OpenBLAS that segfaults on BLAS-backed matrix multiplies on current Apple + Silicon Macs regardless of `OPENBLAS_NUM_THREADS`, so installs at the old + floor could crash in any code path that multiplies float matrices + (for example semantic similarity scoring on larger inputs). - Median imputation no longer crashes with `OverflowError` on nullable integer columns (`Int8`/`Int16`/`Int32`/`UInt*`) containing missing values under numpy 2.5+. Affects `impute="median"`/`"auto"`, the default missing-value diff --git a/pyproject.toml b/pyproject.toml index 6ba63dc..e0221ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,7 +54,7 @@ classifiers = [ ] dependencies = [ "pandas>=1.5,<3", - "numpy>=1.21", + "numpy>=1.22", ] [project.optional-dependencies] diff --git a/uv.lock b/uv.lock index 3218814..c6bdf22 100644 --- a/uv.lock +++ b/uv.lock @@ -3166,7 +3166,7 @@ requires-dist = [ { name = "mkdocs-material", marker = "extra == 'docs'", specifier = ">=9.5" }, { name = "mkdocstrings", extras = ["python"], marker = "extra == 'docs'", specifier = ">=0.25" }, { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.8" }, - { name = "numpy", specifier = ">=1.21" }, + { name = "numpy", specifier = ">=1.22" }, { name = "onnxruntime", marker = "extra == 'semantic'", specifier = ">=1.15" }, { name = "openpyxl", marker = "extra == 'all'", specifier = ">=3.0.7" }, { name = "openpyxl", marker = "extra == 'dev'", specifier = ">=3.0.7" },