diff --git a/CHANGELOG.md b/CHANGELOG.md index cfeee46b484f..dd1e13393f43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.21.0] - 2026-MM-DD +## [0.21.0] - 2026-10-26 This release achieves 100% compliance with Python Array API specification (revision [2025.12](https://data-apis.org/array-api/2025.12/)). This release is compatible with NumPy 2.5.4. diff --git a/conda-recipe-cf/meta.yaml b/conda-recipe-cf/meta.yaml index 1fa8ab3fecb7..8d2fde187680 100644 --- a/conda-recipe-cf/meta.yaml +++ b/conda-recipe-cf/meta.yaml @@ -1,5 +1,5 @@ {% set required_compiler_and_mkl_version = "2026.0.0" %} -{% set required_dpctl_version = "0.22.1" %} +{% set required_dpctl_version = "0.23.0" %} package: name: dpnp diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 18d1c0d11629..e16a63bbf48d 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -1,7 +1,7 @@ {% set max_compiler_and_mkl_version = environ.get("MAX_BUILD_CMPL_MKL_VERSION", "2027.0a0") %} {% set required_compiler_version = environ.get("MIN_BUILD_CMPL_VERSION", "2026.1.1") %} {% set required_mkl_version = "2026.0" %} -{% set required_dpctl_version = "0.23.0dev0" %} +{% set required_dpctl_version = "0.23.0" %} {# DPNP does not support a compiler older than 2026.0, so reject any #} {# MIN_BUILD_CMPL_VERSION override below that by calling an undefined macro. #} diff --git a/conda-recipe/rattler_recipe.yaml b/conda-recipe/rattler_recipe.yaml index eeb25ca31b4e..a1440f46378d 100644 --- a/conda-recipe/rattler_recipe.yaml +++ b/conda-recipe/rattler_recipe.yaml @@ -4,7 +4,7 @@ context: max_compiler_and_mkl_version: ${{ env.get("MAX_BUILD_CMPL_MKL_VERSION", default="2027.0a0") }} required_compiler_version: ${{ env.get("MIN_BUILD_CMPL_VERSION", default="2026.1.1") }} required_mkl_version: "2026.0" - required_dpctl_version: 0.23.0dev0 + required_dpctl_version: 0.23.0 package: name: dpnp diff --git a/dpnp/tests/tensor/test_tensor_array_api_inspection.py b/dpnp/tests/tensor/test_tensor_array_api_inspection.py index 8608878d9328..a04bccaf5dbe 100644 --- a/dpnp/tests/tensor/test_tensor_array_api_inspection.py +++ b/dpnp/tests/tensor/test_tensor_array_api_inspection.py @@ -36,7 +36,6 @@ default_device_index_type, default_device_int_type, ) -from dpnp.tests.third_party.cupy.testing import with_requires _dtypes_no_fp16_fp64 = { "bool": dpt.bool, @@ -73,7 +72,6 @@ def test_array_api_inspection_default_device(): assert dpt.__array_namespace_info__().default_device().sycl_device == dev -@with_requires("dpctl>=0.23.0dev0") def test_array_api_inspection_devices(): try: devices2 = dpctl.get_devices() diff --git a/dpnp/tests/tensor/test_usm_ndarray_dlpack.py b/dpnp/tests/tensor/test_usm_ndarray_dlpack.py index f9c3f811a55b..7d3741995624 100644 --- a/dpnp/tests/tensor/test_usm_ndarray_dlpack.py +++ b/dpnp/tests/tensor/test_usm_ndarray_dlpack.py @@ -36,7 +36,6 @@ import dpnp.tensor as dpt import dpnp.tensor._dlpack as _dlp import dpnp.tensor._usmarray as dpt_arr -from dpnp.tests.third_party.cupy.testing import with_requires from .helper import ( get_queue_or_skip, @@ -233,7 +232,6 @@ def test_from_dlpack_fortran_contig_array_roundtripping(): assert dpt.all(dpt.equal(ar2d_c, ar2d_r)) -@with_requires("dpctl>=0.23.0dev0") def test_dlpack_from_subdevice(): """ This test checks that array allocated on a sub-device, @@ -586,7 +584,6 @@ def test_from_dlpack_to_kdlcpu_strides(mod, typestr): assert V.strides == W.strides -@with_requires("dpctl>=0.23.0dev0") def test_dlpack_from_subdevice_to_kdlcpu(): """ Check that array allocated on a sub-device can be diff --git a/dpnp/tests/test_array_api_info.py b/dpnp/tests/test_array_api_info.py index 65a272038f4f..60f81c0eddd3 100644 --- a/dpnp/tests/test_array_api_info.py +++ b/dpnp/tests/test_array_api_info.py @@ -9,7 +9,6 @@ is_win_platform, numpy_version, ) -from dpnp.tests.third_party.cupy.testing import with_requires info = dpnp.__array_namespace_info__() default_device = select_default_device() @@ -130,7 +129,6 @@ def test_dtypes_invalid_device(): info.dtypes(device="str") -@with_requires("dpctl>=0.23.0dev0") def test_devices(): devices = info.devices() assert isinstance(devices, tuple) diff --git a/environments/dpctl_pkg.txt b/environments/dpctl_pkg.txt index 674e6695f2f2..45f67dd91ea3 100644 --- a/environments/dpctl_pkg.txt +++ b/environments/dpctl_pkg.txt @@ -1,2 +1,2 @@ --index-url https://pypi.anaconda.org/dppy/label/dev/simple -dpctl>=0.23.0dev0 +dpctl>=0.23.0 diff --git a/environments/dpctl_pkg.yml b/environments/dpctl_pkg.yml index addcdda7f30f..def82eb7ee36 100644 --- a/environments/dpctl_pkg.yml +++ b/environments/dpctl_pkg.yml @@ -2,4 +2,4 @@ name: Install dpctl package channels: - dppy/label/dev dependencies: - - dpctl>=0.23.0dev0 + - dpctl>=0.23.0 diff --git a/pyproject.toml b/pyproject.toml index 2c35f154adc8..488a34240421 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,7 +52,7 @@ dependencies = [ # "dpcpp-cpp-rt>=0.59.0", # "intel-cmplr-lib-rt>=0.59.0" # WARNING: use the latest dpctl dev version, otherwise stable w/f will fail - "dpctl>=0.23.0dev0", + "dpctl>=0.23.0", "numpy>=1.26.0" ] description = "Data Parallel Extension for NumPy"