Skip to content

Latest commit

 

History

History
120 lines (82 loc) · 6.8 KB

File metadata and controls

120 lines (82 loc) · 6.8 KB

changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[dev] - YYYY-MM-DD

Added

  • Added support for free-threaded (GIL-disabled) CPython builds: the Cython extension is compiled with freethreading_compatible=True and _ufuncs declares Py_MOD_GIL_NOT_USED, so importing mkl_umath no longer re-enables the GIL gh-255

Changed

  • Raised the minimum build-time Cython requirement to 3.1.0, the first release providing the freethreading_compatible directive gh-255
  • Pinned Cython in the Coverity Scan workflow so generated code stays stable between scans, and added coverity/README.md documenting the known Cython-boilerplate false positives and the scan review checklist gh-266

Fixed

  • Fixed an over-decref of the borrowed module dictionary reference on the module initialization error path gh-264
  • Fixed a leak of the module object when the NumPy C-API import fails during module initialization gh-263

Removed

  • Removed the python-gil constraint from the conda recipes, which pinned mkl_umath to GIL-enabled Python 3.14 builds gh-255

[0.5.0] - 2026-08-06

Added

  • Added CLI patch management for NumPy umath with persistent install/status/uninstall and one-shot command patching via python -m mkl_umath --patch <command> and python -m mkl_umath --with-numpy-patch <command> gh-216

Changed

  • Removed numpy-base dependency and USE_NUMPY_BASE environment variable from conda recipe gh-200
  • Migrated the build system from scikit-build to meson-python, removing setup.py and CMakeLists.txt in favor of meson.build gh-166
  • Renamed the OPTIMIZATION_REPORT and MKL_THREADING build options to opt_report and mkl_threading, now passed as meson setup args (e.g. -Csetup-args=-Dopt_report=true and -Csetup-args=-Dmkl_threading=tbb_thread) gh-166

[0.4.3] - 2026-06-30

Changed

  • Updated mkl_umath patching to work with changes to NumPy Cython API present in NumPy 2.5 gh-226

[0.4.2] - 2026-05-28

Added

  • Added build option to set MKL_THREADING in CMake gh-217

[0.4.1] - 2026-05-11

Fixed

  • Removed mkl as runtime dependency to avoid possible pip check failures gh-202

[0.4.0] - 2026-04-16

Added

  • Added patch_numpy_umath and restore_numpy_umath functions for patching NumPy, and improved the patching implementation gh-170

Changed

  • Import ufuncs explicitly in __init__.py and add __all__ to module gh-177
  • Made conda recipe dependency on numpy configurable through USE_NUMPY_BASE environment variable gh-181
  • Removed mkl-service as a dependency in favor of mkl, as mkl-service is not used in mkl_umath directly gh-188

Fixed

  • Build with ICX compiler from 2026.0 release gh-155
  • mkl_umath now uses intel_thread for MKL threading to fix transient crashes during Python teardown when used in an environment with PyPI NumPy gh-171

Deprecated

  • Deprecated use_in_numpy and restore patching functions, to be removed in a future version. Using patch_numpy_umath and restore_numpy_umath is recommended instead gh-170

Removed

  • Dropped support for Python 3.9 gh-125

[0.3.1] - 2025-12-02

Added

  • Enabled support of Python 3.14 gh-119

[0.3.0] - 2025-10-06

Added

  • Added mkl implementation for floating point data-types of exp2, log2, fabs, copysign, nextafter, fmax, fmin and remainder functions gh-81
  • Added mkl implementation for complex data-types of conjugate and absolute functions gh-86
  • Enabled support of Python 3.13 gh-101
  • Added mkl implementation for complex data-types of add, subtract, multiply and divide functions gh-102

Changed

  • Dropped support for maximum and minimum gh-104
  • Disabled -fast-math by default gh-105
  • Used a common umath loop for log2 function to match NumPy gh-109
  • Dropped support for remainder function gh-110

[0.2.0] - 2025-06-03

This release updates mkl_umath to be aligned with both numpy-1.26.x and numpy-2.x.x.

Added

  • The definition of sign function for complex floating point data types is updated to match numpy-2.x.x gh-65
  • ldexp function is updated to allow int64 explicitly similar to numpy-2.x.x behavior gh-73

Changed

  • Migrated from setup.py to pyproject toml gh-63
  • Changed to dynamic linking and added interface and threading layers gh-72

Fixed

  • Fixed a bug for mkl_umath.is_patched function gh-66

[0.1.5] - 2025-04-09

Fixed

  • Fixed failures to import mkl_umath from virtual environment on Linux

[0.1.4] - 2025-04-09

Added

  • Added support for mkl_umath out-of-the-box in virtual environments on Windows

Fixed

  • Fixed a bug in in-place addition with negative zeros

[0.1.2] - 2024-10-11

Added

  • Added support for building with NumPy 2.0 and older

Changed

  • Updated build system from removed NumPy distutils to scikit-build, gain ability to build with Intel LLVM compiler ICX