Skip to content

Commit 656f279

Browse files
committed
DOC: update the changelog for the 2.3 release
1 parent 5ccb0e7 commit 656f279

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

docs/changelog.md

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

570
### Major Changes

0 commit comments

Comments
 (0)