Skip to content

0.4.0

Choose a tag to compare

@antonwolfy antonwolfy released this 04 May 22:48
64c0ca4

Overview

This release introduces a modernized NumPy patching API, improves build system compatibility with the latest Intel compilers, and resolves stability issues with PyPI NumPy. Python 3.9 support has been dropped, and dependency management has been streamlined by removing mkl-service in favor of direct mkl usage.

Highlights

🔄 Improved NumPy Patching API

  • Introduced new patch_numpy_umath() and restore_numpy_umath() functions for cleaner NumPy integration
  • Deprecated legacy use_in_numpy() and restore() functions

🧵 Enhanced Threading Stability

  • Fixed transient crashes during Python teardown when used with PyPI NumPy by switching to intel_thread for MKL threading

🔧 Build System Improvements

  • Added support for Intel ICX compiler from 2026.0 release
  • Made conda recipe dependency on NumPy configurable through USE_NUMPY_BASE environment variable

📦 Cleaner Package Structure

  • Explicit ufunc imports in __init__.py with proper __all__ definition
  • Streamlined dependencies by removing unused mkl-service in favor of direct mkl dependency

⚠️ Breaking Changes

  • Python 3.9 support dropped - Minimum supported version is now Python 3.10+
  • Patching API deprecation - use_in_numpy() and restore() are deprecated and will be removed in a future version

Python Version Support

  • ✅ Python 3.10, 3.11, 3.12, 3.13, 3.14
  • ❌ Python 3.9 and earlier

Detailed Changes

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

Contributors

New Contributors

Full Changelog: 0.3.1...0.4.0