|
| 1 | +# Changelog |
| 2 | + |
| 3 | +## 1.5 (2024-03-07) |
| 4 | + |
| 5 | +### Major Changes |
| 6 | + |
| 7 | +- Add support for Dask ([@lithomas1](https://github.com/lithomas1)). |
| 8 | + |
| 9 | +- Add support for JAX. Note that unlike other array libraries, |
| 10 | + array-api-compat does not contain any wrappers for JAX functions. All JAX |
| 11 | + array API support is in JAX itself. Thus, there is no `array_api_compat.jax` |
| 12 | + submodule, and `array_namespace(<JAX array>)` returns the |
| 13 | + `jax.experimental.array_api` module. |
| 14 | + |
| 15 | +- The functions `is_numpy_array(x)`, `is_cupy_array(x)`, `is_torch_array(x)`, |
| 16 | + `is_dask_array(x)`, `is_jax_array(x)` are now part of the public |
| 17 | + `array_api_compat` API. |
| 18 | + |
| 19 | +- Add wrappers for the `fft` extension module for NumPy, CuPy, and PyTorch. |
| 20 | + |
| 21 | +### Minor Changes |
| 22 | + |
| 23 | +- Allow `'2022.12'` as the `api_version` in `array_namespace()`. `'2021.12'` |
| 24 | + is also supported but will issue a warning since the returned namespace will |
| 25 | + still be a 2022.12 compliant one. |
| 26 | + |
| 27 | +- Add wrapper for numpy.linalg.solve, which broadcasts the inputs according to |
| 28 | + the standard. |
| 29 | + |
| 30 | +- Add wrappers for various PyTorch linalg functions. |
| 31 | + |
| 32 | +- Fix a bug with `numpy.linalg.vector_norm(keepdims=True)`. |
| 33 | + |
| 34 | +- BREAKING: Update `vecdot` wrappers to apply `axes` before broadcasting, not |
| 35 | + after. This matches the updated 2023.12 standard wording, and also the |
| 36 | + behavior of the new `numpy.vecdot` gufunc in NumPy 2.0. |
| 37 | + |
| 38 | +- Fix some linalg functions which were supposed to be in both the main |
| 39 | + namespace and the linalg extension namespace. |
| 40 | + |
| 41 | +- Add Ruff to CI. ([@adonath](https://github.com/adonath)) |
| 42 | + |
| 43 | +- Test that internal definitions of `__all__` are self-consistent, which |
| 44 | + should help to avoid issues where wrappers are accidentally not exported to |
| 45 | + the compat namespaces properly. |
| 46 | + |
| 47 | +## 1.4.1 (2024-01-18) |
| 48 | + |
| 49 | +### Minor Changes |
| 50 | + |
| 51 | +- Add support for the upcoming NumPy 2.0 release. |
| 52 | + |
| 53 | +- Added a torch wrapper for `trace` (`torch.trace` doesn't support the |
| 54 | + `offset` argument or stacking) |
| 55 | + |
| 56 | +- Wrap numpy, cupy, and torch `nonzero` to raise an error for zero-dimensional |
| 57 | + input arrays. |
| 58 | + |
| 59 | +- Add torch wrapper for `newaxis`. |
| 60 | + |
| 61 | +- Improve error message for `array_namespace` |
| 62 | + |
| 63 | +- Fix linalg.cholesky returning the conjugate of the expected upper |
| 64 | + decomposition for numpy and cupy. |
| 65 | + |
| 66 | +## 1.4 (2023-09-13) |
| 67 | + |
| 68 | +### Major Changes |
| 69 | + |
| 70 | +- Releases are now made with GitHub Actions (thanks |
| 71 | + [@matthewfeickert](https://github.com/matthewfeickert)). |
| 72 | + |
| 73 | +### Minor Changes |
| 74 | + |
| 75 | +- Fix `torch.result_type()` cross-kind promotion |
| 76 | + ([@lucascolley](https://github.com/lucascolley)). |
| 77 | + |
| 78 | +- Fix the torch.take() wrapper to make axis optional for ndim = 1. |
| 79 | + |
| 80 | +- Add requires-python metadata to the package |
| 81 | + ([@matthewfeickert](https://github.com/matthewfeickert)). |
| 82 | + |
| 83 | +## 1.3 (2023-06-20) |
| 84 | + |
| 85 | +### Major Changes |
| 86 | + |
| 87 | +- Add [2022.12](https://data-apis.org/array-api/2022.12/) standard support. |
| 88 | + This includes things like adding complex dtype support, adding the new |
| 89 | + `take` function, and various minor changes in the specification. |
| 90 | + |
| 91 | +### Minor Changes |
| 92 | + |
| 93 | +- Support `"cpu"` in CuPy `to_device()`. |
| 94 | + |
| 95 | +- Return a new array in NumPy/CuPy `reshape(copy=False)`. |
| 96 | + |
| 97 | +- Fix signatures for PyTorch `broadcast_to` and `permute_dims`. |
| 98 | + |
| 99 | +## 1.2 (2023-04-03) |
| 100 | + |
| 101 | +### Major Changes |
| 102 | + |
| 103 | +- Support the linalg extension in the `array_api_compat.torch` namespace. |
| 104 | + |
| 105 | +- Add `isdtype()`. |
| 106 | + |
| 107 | +### Minor Changes |
| 108 | + |
| 109 | +- Fix the `k` keyword argument to `tril` and `triu` in `torch`. |
| 110 | + |
| 111 | +## 1.1.1 (2023-03-10) |
| 112 | + |
| 113 | +### Major Changes |
| 114 | + |
| 115 | +- Rename `get_namespace()` to `array_namespace()` (`get_namespace()` is |
| 116 | + maintained as a backwards compatible alias). |
| 117 | + |
| 118 | +### Minor Changes |
| 119 | + |
| 120 | +- The minimum supported NumPy version is now 1.21. Fixed a few issues with |
| 121 | + NumPy 1.21 (with `unique_*` and `asarray`), although there are also a few |
| 122 | + known issues with this version (see the README). |
| 123 | + |
| 124 | +- Add `api_version` to `get_namespace()`. |
| 125 | + |
| 126 | +- `array_namespace()` (*née* `get_namespace()`) now works correctly with |
| 127 | + `torch` tensors. |
| 128 | + |
| 129 | +- `array_namespace()` (*née* `get_namespace()`) now works correctly with |
| 130 | + `numpy.array_api` arrays. |
| 131 | + |
| 132 | +- `array_namespace()` (*née* `get_namespace()`) now raises `TypeError` instead |
| 133 | + of `ValueError`. |
| 134 | + |
| 135 | +- Fix the `torch.std` wrapper. |
| 136 | + |
| 137 | +- Add `torch` wrappers for `ones`, `empty`, and `zeros` so that `shape` can be |
| 138 | + passed as a keyword argument. |
| 139 | + |
| 140 | +## 1.1 (2023-02-24) |
| 141 | + |
| 142 | +### Major Changes |
| 143 | + |
| 144 | +- Added support for PyTorch. |
| 145 | + |
| 146 | +- Add helper function `size()` (required if torch is used as |
| 147 | + `torch.Tensor.size` is a method that is incompatible with the array API |
| 148 | + [`.size`](https://data-apis.org/array-api/latest/API_specification/generated/array_api.array.size.html#array_api.array.size)). |
| 149 | + |
| 150 | +- All wrapper functions that wrap existing library functions now pass through |
| 151 | + arbitrary `**kwargs`. |
| 152 | + |
| 153 | +### Minor Changes |
| 154 | + |
| 155 | +- Added CI to run against the [array API testsuite](https://github.com/data-apis/array-api-tests). |
| 156 | + |
| 157 | +- Fix `sort(stable=False)` and `argsort(stable=False)` with CuPy. |
| 158 | + |
| 159 | +## 1.0 (2022-12-05) |
| 160 | + |
| 161 | +### Major Changes |
| 162 | + |
| 163 | +- Initial release. Includes support for NumPy and CuPy. |
0 commit comments