From 2d26b466b08bfd90d330d3d5886dcffc03a90d03 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Mon, 13 Apr 2026 18:07:07 -0700 Subject: [PATCH 1/5] update changelog for 0.22.0 release --- CHANGELOG.md | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 758e58790b..3074c7e066 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,26 +4,54 @@ 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.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [dev] - XXX. XX, XXXX +## [0.22.0] - Apr. 14, 2026 + +The highlight of this release is the full migration of `dpctl.tensor` submodule to sister project [`dpnp`](https://github.com/IntelPython/dpnp), shrinking the size of the package tremendously, by between 93% and 96%. The `__sycl_usm_array_interface__` is still supported, with `dpctl` serving as curator of the protocol. + + +Additionally, `dpctl` build scripts were updated, removing use of `python setup.py develop` and `python setup.py install`, and `dpctl` [documentation page](https://intelpython.github.io/dpctl/latest/index.html) now supports a version dropdown. + +**NOTE**: Changes below which reference `tensor` were added to the `tensor` submodule prior to release, and therefore are included in the migrated `tensor` submodule in [`dpnp`](https://github.com/IntelPython/dpnp). They are included here for transparency and continuity of the submodule's history in the changelog. ### Removed +* Removed support for Python 3.9 [gh-2180](https://github.com/IntelPython/dpctl/pull/2180) * Removed previously deprecated `dpctl.tensor` submodule, with all tensor functionality migrated to [`dpnp`](https://github.com/IntelPython/dpnp) [gh-2245](https://github.com/IntelPython/dpctl/pull/2245) -* Removed `cython/usm_memory` example which couldn't be reasonably rewritten without `dpctl.tensor` [gh-2245](https://github.com/IntelPython/dpctl/pull/2245) ### Added +* Various options to build scripts (i.e., `--clean`). Options can be seen by calling `--help`, for example, `python scripts/build_locally.py --help` from the repository root [gh-2172](https://github.com/IntelPython/dpctl/pull/2172) +* Added multiversioned documentation for `dpctl` using a custom drop-down for version selection and a `--multiversion` option for documentation build helper script [gh-2276](https://github.com/IntelPython/dpctl/pull/2276) + ### Changed -* Disallowed scalar conversion for non-0D `tensor.usm_ndarray` per Python Array API specification [gh-2223](https://github.com/IntelPython/dpctl/pull/2223) +* Improved performance of `tensor.astype` for boolean arrays [gh-2158](https://github.com/IntelPython/dpctl/pull/2158) +* Updated `tensor` DLPack version to v1.2 [gh-2193](https://github.com/IntelPython/dpctl/pull/2193), [gh-2219](https://github.com/IntelPython/dpctl/pull/2219) +* Changed how libsyclinterface find Intel SYCL compiler to account for changes in versioning of the Intel SYCL Nightly compiler [gh-2211](https://github.com/IntelPython/dpctl/pull/2211) +* Disallowed scalar conversion for non-0D `tensor.usm_ndarray` per Python Array API specification [gh-2223](https://github.com/IntelPython/dpctl/pull/2223), [gh-2229](https://github.com/IntelPython/dpctl/pull/2229) ### Fixed +* Fixed a CMake warning from pybind11 [gh-2162](https://github.com/IntelPython/dpctl/pull/2162) +* Fixed a false positive warning for missing `DPCTLSyclInterface.dll` when building `dpctl` Conda package on Windows [gh-2167](https://github.com/IntelPython/dpctl/pull/2167) +* Fixed typos in `SyclContextCreationError` and `SyclDeviceCreationError` exception text [gh-2169](https://github.com/IntelPython/dpctl/pull/2169) +* Fixed undefined behavior in a `tensor.roll` test [gh-2220](https://github.com/IntelPython/dpctl/pull/2220) +* Added a work-around for a bug in the Intel Graphics Compiler that could cause `tensor.cumulative_logsumexp` to return incorrect results [gh-2275](https://github.com/IntelPython/dpctl/pull/2275) + ### Maintenance -* Enabled multiversion documentation for `dpctl` using a custom drop-down for version selection and a `--multiversion` option for documentation build helper script [gh-2276](https://github.com/IntelPython/dpctl/pull/2276) -* Updated examples to remove use of `dpctl.tensor`, opting to simplify the examples and rely on `dpctl.memory` objects which wrap USM allocations [gh-2245](https://github.com/IntelPython/dpctl/pull/2245) +* Resolved license deprecation warnings when building `dpctl` in-place [gh-2160](https://github.com/IntelPython/dpctl/pull/2160) +* Removed unnecessary CMake patching logic in Windows build script [gh-2163](https://github.com/IntelPython/dpctl/pull/2163) +* Updated documentation and build scripts to remove use of `python setup.py develop` and `python setup.py install` throughout the project, as they were deprecated and are no longer supported [gh-2172](https://github.com/IntelPython/dpctl/pull/2172), [gh-2227](https://github.com/IntelPython/dpctl/pull/2227) +* Updated examples to remove use of `dpctl.tensor`, opting to simplify the examples and rely on `dpctl.memory` objects which wrap USM allocations. Examples which could not be reasonably rewritten were removed [gh-2245](https://github.com/IntelPython/dpctl/pull/2245) * Removed deprecated property syntax from Cython files [gh-2277](https://github.com/IntelPython/dpctl/pull/2277) +* Miscellaneous changes to continuous integration/delivery (CI/CD) supporting scripts: +[gh-2188](https://github.com/IntelPython/dpctl/pull/2188), +[gh-2189](https://github.com/IntelPython/dpctl/pull/2189), +[gh-2221](https://github.com/IntelPython/dpctl/pull/2221), +[gh-2255](https://github.com/IntelPython/dpctl/pull/2255), +[gh-2262](https://github.com/IntelPython/dpctl/pull/2262), +[gh-2264](https://github.com/IntelPython/dpctl/pull/2264) ## [0.21.1] - Nov. 29, 2025 From 83a25316e7caf68b76cbd59c091f972f81651c98 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Tue, 14 Apr 2026 08:03:25 -0700 Subject: [PATCH 2/5] pin compiler for 2026.0.0 release --- conda-recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index a5ad3bae93..8787084970 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set required_compiler_version = "2024.2.0" %} +{% set required_compiler_version = "2026.0.0" %} {% set pyproject = load_file_data('pyproject.toml') %} {% set py_build_deps = pyproject.get('build-system', {}).get('requires', []) %} From c69cddd8ec9988b24f7b73b013155bafc843328c Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Thu, 23 Apr 2026 22:38:36 -0700 Subject: [PATCH 3/5] fix memory leak in rawkernelarg the __dealloc__ method was missing trailing underscores, so would not be recognized as the deallocator by Cython --- dpctl/_sycl_queue.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dpctl/_sycl_queue.pyx b/dpctl/_sycl_queue.pyx index 06f1017f73..32105f15e8 100644 --- a/dpctl/_sycl_queue.pyx +++ b/dpctl/_sycl_queue.pyx @@ -1756,7 +1756,7 @@ cdef class WorkGroupMemory: cdef class _RawKernelArg: - def __dealloc(self): + def __dealloc__(self): if(self._arg_ref): DPCTLRawKernelArg_Delete(self._arg_ref) From 6557e873aa7f201ba0970100337224a5cf96035c Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Fri, 24 Apr 2026 10:35:47 -0700 Subject: [PATCH 4/5] add 0.22.1 changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3074c7e066..33c89b4758 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ 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.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.22.1] - Apr. 24, 2026 + +This is a bug-fix release which fixes a memory leak in `dpctl.RawKernelArg` [gh-2294](https://github.com/IntelPython/dpctl/pull/2294). + ## [0.22.0] - Apr. 14, 2026 The highlight of this release is the full migration of `dpctl.tensor` submodule to sister project [`dpnp`](https://github.com/IntelPython/dpnp), shrinking the size of the package tremendously, by between 93% and 96%. The `__sycl_usm_array_interface__` is still supported, with `dpctl` serving as curator of the protocol. From f09194f116fffda249d75ae2b558186b435f2f5d Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Fri, 24 Apr 2026 11:07:34 -0700 Subject: [PATCH 5/5] Reformat changelog for 0.22.1 --- CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33c89b4758..69830ef500 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.22.1] - Apr. 24, 2026 -This is a bug-fix release which fixes a memory leak in `dpctl.RawKernelArg` [gh-2294](https://github.com/IntelPython/dpctl/pull/2294). +This is a bug-fix release which fixes a memory leak in `dpctl.RawKernelArg`. + +### Fixed +* Fixed a memory leak in `dpctl.RawKernelArg` [gh-2294](https://github.com/IntelPython/dpctl/pull/2294) ## [0.22.0] - Apr. 14, 2026 The highlight of this release is the full migration of `dpctl.tensor` submodule to sister project [`dpnp`](https://github.com/IntelPython/dpnp), shrinking the size of the package tremendously, by between 93% and 96%. The `__sycl_usm_array_interface__` is still supported, with `dpctl` serving as curator of the protocol. - Additionally, `dpctl` build scripts were updated, removing use of `python setup.py develop` and `python setup.py install`, and `dpctl` [documentation page](https://intelpython.github.io/dpctl/latest/index.html) now supports a version dropdown. **NOTE**: Changes below which reference `tensor` were added to the `tensor` submodule prior to release, and therefore are included in the migrated `tensor` submodule in [`dpnp`](https://github.com/IntelPython/dpnp). They are included here for transparency and continuity of the submodule's history in the changelog.