Skip to content

Commit 93f6c99

Browse files
committed
DOC: update the changelog for the 2.3 release
1 parent 52f4c19 commit 93f6c99

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

docs/changelog.md

+68
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,73 @@
11
# Changelog
22

3+
## 2.3 (2025-XX-XX)
4+
5+
### Major Changes
6+
7+
- The default version of the array API standard is now 2024.12. Previous versions can
8+
still be enabled via the [flags API](array-api-strict-flags).
9+
10+
Note that this support is still relatively untested. Please [report any
11+
issues](https://github.com/data-apis/array-api-strict/issues) you find.
12+
13+
- Binary elementwise functions now accept python scalars: the only requirement is that
14+
at least one of the arguments must be an array; the other argument may be either
15+
a python scalar or an array. Python scalars are handled in accordance with the
16+
type promotion rules, as specified by the standard.
17+
This change unifies the behavior of binary functions and their matching operators,
18+
(where available), such as `multiply(x1, x2)` and `__mul__(self, other)`.
19+
20+
`where` accepts arrays or scalars as its 2nd and 3rd arguments, `x1` and `x2`.
21+
The first argument, `condition`, must be an array.
22+
23+
`result_type` accepts arrays and scalars and computes the result dtype according
24+
to the promotion rules.
25+
26+
- Ergonomics of working with complex values has been improved:
27+
28+
- binary operators accept complex scalars and real arrays and preserve the floating point
29+
precision: `1j*f32_array` returns a `complex64` array
30+
- `mean` accepts complex floating-point arrays.
31+
- `real` and `conj` accept numeric arguments, including real floating point data.
32+
Note that `imag` still requires its input to be a complex array.
33+
34+
- The following functions, new in the 2024.12 standard revision, are implemented:
35+
36+
- `count_nonzero`
37+
- `cumulative_prod`
38+
39+
- `fftfreq` and `rfftfreq` functions accept a new `dtype` argument to control the
40+
the data type of their output.
41+
42+
43+
### Minor Changes
44+
45+
- `vecdot` now conjugates the first argument, in accordance with the standard.
46+
47+
- `astype` now raises a `TypeError` instead of casting a complex floating-point
48+
array to a real-valued or an integral data type.
49+
50+
- `where` requires that its first argument, `condition` has a boolean data dtype,
51+
and raises a `TypeError` otherwise.
52+
53+
- `isdtype` raises a `TypeError` is its argument is not a dtype object.
54+
55+
- arrays created with `from_dlpack` now correctly set their `device` attribute.
56+
57+
- the build system now uses `pyproject.toml`, not `setup.py`.
58+
59+
### Contributors
60+
61+
The following users contributed to this release:
62+
63+
Aaron Meurer
64+
Clément Robert
65+
Guido Imperiale
66+
Evgeni Burovski
67+
Lucas Colley
68+
Tim Head
69+
70+
371
## 2.2 (2024-11-11)
472

573
### Major Changes

0 commit comments

Comments
 (0)