From 6b3ec935eb325d443c327d6490e16e69f273da06 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Mon, 12 May 2025 13:48:46 +0200 Subject: [PATCH 1/6] DOC: add 1.12 changelog --- docs/changelog.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 18928e98..c2d5b2c5 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,42 @@ # Changelog +## 1.12.0 (2025-05-13) + + +### Major changes + +- The build system has been updated to use `pyproject.toml` instead of `setup.py` +- Support for Python 3.9 has been dropped. The minimum supported Python version is now + 3.10; the minimum supported NumPy version is 1.22; the minimum supported `ndonnx` + version is 0.10.1. +- The `linalg` extension works correctly with `pytorch==2.7`. +- Multiple improvements to handling of `device` arguments in `numpy`, `cupy`, `torch`, + and `dask` backends. Support for multiple devices is still relatively immature, + and rough edges can be expected. Please report any issues you encounter. + +### Minor changes + +- `finfo` and `iinfo` functions now accept array arguments, in accordance with the + Array API spec; +- `torch.asarray` function propagates the device of the input array. This works around + the [pytorch issue #150199](https://github.com/pytorch/pytorch/issues/150199); +- `torch.repeat` function is now available; +- `torch.count_nonzero` function now correctly handles the case of a tuple `axis` + arguments and `keepdims=True`; +- `torch.meshgrid` wrapper defaults to `indexing="xy"`, in accordance with the + array API specification; +- `cupy.asarray` function now implements the `copy=True` argument; + + +The following users contributed to this release: + +Evgeni Burovski, +Lucas Colley, +Neil Girdhar, +Joren Hammudoglu, +Guido Imperiale + + ## 1.11.2 (2025-03-20) This is a bugfix release with no new features compared to version 1.11. From 97e3cc5b1b32bd0a0d5c2a9810df9145012992ed Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Tue, 13 May 2025 15:45:34 +0200 Subject: [PATCH 2/6] MAINT: update numpy 1.22 xfails --- numpy-1-22-xfails.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/numpy-1-22-xfails.txt b/numpy-1-22-xfails.txt index cacb95b7..e0b96c61 100644 --- a/numpy-1-22-xfails.txt +++ b/numpy-1-22-xfails.txt @@ -131,6 +131,7 @@ array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_sc array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[nextafter] array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[multiply] array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[maximum] +array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[minimum] array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[copysign] array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[pow] array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[pow] From 34e2c6f2799e7f0237c035f61b8f1891baae02d7 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Thu, 15 May 2025 11:47:52 +0200 Subject: [PATCH 3/6] DOC: update the changelog Co-authored-by: Guido Imperiale --- docs/changelog.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index c2d5b2c5..c00c62db 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -7,12 +7,12 @@ - The build system has been updated to use `pyproject.toml` instead of `setup.py` - Support for Python 3.9 has been dropped. The minimum supported Python version is now - 3.10; the minimum supported NumPy version is 1.22; the minimum supported `ndonnx` - version is 0.10.1. -- The `linalg` extension works correctly with `pytorch==2.7`. -- Multiple improvements to handling of `device` arguments in `numpy`, `cupy`, `torch`, - and `dask` backends. Support for multiple devices is still relatively immature, - and rough edges can be expected. Please report any issues you encounter. + 3.10; the minimum supported NumPy version is 1.22. +- The `linalg` extension works correctly with `pytorch>=2.7`. +- Multiple improvements to handling of devices in CuPy and PyTorch backends. + Support for multiple devices in CuPy is still immature and you should use + context managers rather than relying on input-output device propagation or + on the `device` parameter. ### Minor changes @@ -25,7 +25,10 @@ arguments and `keepdims=True`; - `torch.meshgrid` wrapper defaults to `indexing="xy"`, in accordance with the array API specification; -- `cupy.asarray` function now implements the `copy=True` argument; +- `cupy.asarray` function now implements the `copy=False` argument, albeit + at the cost of risking to make a temporary copy. +- In `numpy.take_along_axis` and `cupy.take_along_axis` the `axis` parameter now + defaults to -1, in accordance to the Array API spec. The following users contributed to this release: From cdd1213ea28af34b721d105a25d4b7ff2414ef18 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Thu, 15 May 2025 11:48:47 +0200 Subject: [PATCH 4/6] Update docs/changelog.md --- docs/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index c00c62db..6f6c1251 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -12,7 +12,7 @@ - Multiple improvements to handling of devices in CuPy and PyTorch backends. Support for multiple devices in CuPy is still immature and you should use context managers rather than relying on input-output device propagation or - on the `device` parameter. + on the `device` parameter. Please report any issues you encounter. ### Minor changes From 26a1d2016517ae3bb86ddfef137247fa15ddb512 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Thu, 15 May 2025 12:02:16 +0200 Subject: [PATCH 5/6] MAINT: update CuPy xfails --- cupy-xfails.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cupy-xfails.txt b/cupy-xfails.txt index 77def129..0a91cafe 100644 --- a/cupy-xfails.txt +++ b/cupy-xfails.txt @@ -39,6 +39,11 @@ array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_sc array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[logaddexp] array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[nextafter] array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[hypot] +array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[atan2] +array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[divide] +array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[copysign] +array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[divide] +array_api_tests/test_operators_and_elementwise_functions.py::test_binary_with_scalars_real[maximum] # cupy (arg)min/max wrong with infinities # https://github.com/cupy/cupy/issues/7424 From 8005d6d02c0f1717881de37a710871bb955eb5cd Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Tue, 13 May 2025 14:31:01 +0200 Subject: [PATCH 6/6] REL: bump the version to 1.12.0 --- array_api_compat/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/array_api_compat/__init__.py b/array_api_compat/__init__.py index 60b37e97..653cb40a 100644 --- a/array_api_compat/__init__.py +++ b/array_api_compat/__init__.py @@ -17,6 +17,6 @@ this implementation for the default when working with NumPy arrays. """ -__version__ = '1.12.dev0' +__version__ = '1.12.0' from .common import * # noqa: F401, F403