Skip to content

Commit 4e8f636

Browse files
authored
Merge pull request #939 from rust-ndarray/doc-0.15
Update release notes in preparation for 0.15.0
2 parents 141facd + 6f6f707 commit 4e8f636

File tree

1 file changed

+196
-21
lines changed

1 file changed

+196
-21
lines changed

RELEASES.md

Lines changed: 196 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,115 @@ Version 0.15.0 (Not released yet)
44
New features
55
------------
66

7-
- Support for compiling ndarray as `no_std` (using core and alloc) by [@xd009642]
7+
- Support inserting new axes while slicing by [@jturner314]. This is an example:
88

9-
https://github.com/rust-ndarray/ndarray/pull/861
9+
```rust
10+
let view = arr.slice(s![.., -1, 2..;-1, NewAxis]);
11+
```
12+
13+
https://github.com/rust-ndarray/ndarray/pull/570
14+
15+
- Support two-sided broadcasting in arithmetic operations with arrays by [@SparrowLii]
16+
17+
Note that this means that a new trait bound is required in some places when
18+
mixing dimensionality types of arrays in arithmetic operations.
19+
20+
https://github.com/rust-ndarray/ndarray/pull/898
21+
22+
- Support for compiling ndarray as `no_std` (using core and alloc) by
23+
[@xd009642] and [@bluss]
24+
25+
https://github.com/rust-ndarray/ndarray/pull/861 <br>
26+
https://github.com/rust-ndarray/ndarray/pull/889
1027

1128
- New methods `.cell_view()` and `ArrayViewMut::into_cell_view` that enable
1229
new ways of working with array elements as if they were in Cells - setting
13-
elements through shared views and broadcast views.
30+
elements through shared views and broadcast views, by [@bluss].
1431

1532
https://github.com/rust-ndarray/ndarray/pull/877
1633

34+
- New methods `slice_each_axis/_mut/_inplace` that make it easier to slice
35+
a dynamic number of axes in some situations, by [@jturner314]
36+
37+
https://github.com/rust-ndarray/ndarray/pull/913
38+
39+
- New method `a.assign_to(b)` with the inverse argument order compared to the
40+
existing `b.assign(a)` and some extra features like assigning into
41+
uninitialized arrays, By [@bluss].
42+
43+
https://github.com/rust-ndarray/ndarray/pull/947
1744

1845
Enhancements
1946
------------
2047

21-
- Fix `Zip` for the 0-dimensional case by [@jturner314]
48+
- New constructors `Array::from_iter` and `Array::from_vec` by [@bluss].
49+
No new functionality, just that these constructors are avaiable without trait
50+
imports.
2251

23-
https://github.com/rust-ndarray/ndarray/pull/862
52+
https://github.com/rust-ndarray/ndarray/pull/921
53+
54+
- Ndarray can now correctly determine that arrays can be contiguous, even if
55+
they have negative strides, by [@SparrowLii]
56+
57+
https://github.com/rust-ndarray/ndarray/pull/885
58+
59+
- `NdProducer::raw_dim` is now a documented method by [@jturner314]
60+
61+
https://github.com/rust-ndarray/ndarray/pull/918
62+
63+
- `AxisDescription` is now a struct with field names, not a tuple struct by
64+
[@jturner314]
65+
66+
https://github.com/rust-ndarray/ndarray/pull/915
67+
68+
- Improvements to `map_inplace` by [@jturner314]
69+
70+
https://github.com/rust-ndarray/ndarray/pull/911
71+
72+
- `.into_dimensionality` performance was improved for the `IxDyn` to `IxDyn`
73+
case by [@bluss]
74+
75+
https://github.com/rust-ndarray/ndarray/pull/906
76+
77+
- Improved performance for scalar + &array and &array + scalar operations by
78+
[@jturner314]
79+
80+
https://github.com/rust-ndarray/ndarray/pull/890
81+
82+
- Methods for array comparison `abs_diff_eq` and `relative_eq` are now
83+
exposed as inherent methods too (no trait import needed), still under the approx
84+
feature flag by [@bluss]
85+
86+
https://github.com/rust-ndarray/ndarray/pull/946
2487

2588
API changes
2689
-----------
2790

28-
- Removed deprecated methods by [@bluss]:
91+
- Changes to the slicing-related types and macro by [@jturner314] and [@bluss]:
92+
93+
- Remove the `Dimension::SliceArg` associated type, and add a new `SliceArg`
94+
trait for this purpose.
95+
- Change the return type of the `s![]` macro to an owned `SliceInfo` rather
96+
than a reference.
97+
- Replace the `SliceOrIndex` enum with `SliceInfoElem`, which has an
98+
additional `NewAxis` variant and does not have a `step_by` method.
99+
- Change the type parameters of `SliceInfo` in order to support the `NewAxis`
100+
functionality and remove some tricky `unsafe` code.
101+
- Mark the `SliceInfo::new` method as `unsafe`. The new implementations of
102+
`TryFrom` can be used as a safe alternative.
103+
- Remove the `AsRef<SliceInfo<[SliceOrIndex], D>> for SliceInfo<T, D>`
104+
implementation. Add the similar `From<&'a SliceInfo<T, Din, Dout>> for
105+
SliceInfo<&'a [SliceInfoElem], Din, Dout>` conversion as an alternative.
106+
- Change the *expr* `;` *step* case in the `s![]` macro to error at compile
107+
time if an unsupported type for *expr* is used, instead of panicking at
108+
runtime.
109+
110+
https://github.com/rust-ndarray/ndarray/pull/570 <br>
111+
https://github.com/rust-ndarray/ndarray/pull/940 <br>
112+
https://github.com/rust-ndarray/ndarray/pull/943 <br>
113+
https://github.com/rust-ndarray/ndarray/pull/945 <br>
114+
115+
- Removed already deprecated methods by [@bluss]:
29116

30117
- Remove deprecated `.all_close()` - use approx feature and methods like `.abs_diff_eq` instead
31118
- Mark `.scalar_sum()` as deprecated - use `.sum()` instead
@@ -34,21 +121,106 @@ API changes
34121

35122
https://github.com/rust-ndarray/ndarray/pull/874
36123

37-
- Remove deprecated methods: rows, cols (for row and column count; the new
38-
names are nrows and ncols) by [@bluss]
124+
- Remove already deprecated methods: rows, cols (for row and column count; the
125+
new names are nrows and ncols) by [@bluss]
39126

40127
https://github.com/rust-ndarray/ndarray/pull/872
41128

42-
- Renamed methods (old names are now deprecated) by [@bluss]
129+
- Renamed `Zip` methods by [@bluss] and [@SparrowLii]:
130+
131+
- `apply` -> `for_each`
132+
- `apply_collect` -> `map_collect`
133+
- `apply_collect_into` -> `map_collect_into`
134+
- (`par_` prefixed methods renamed accordingly)
135+
136+
https://github.com/rust-ndarray/ndarray/pull/894 <br>
137+
https://github.com/rust-ndarray/ndarray/pull/904 <br>
138+
139+
- Deprecate `Array::uninitialized` and revamped its replacement by [@bluss]
140+
141+
Please use new new `Array::uninit` which is based on `MaybeUninit` (renamed
142+
from `Array::maybe_uninit`, the old name is also deprecated).
143+
144+
https://github.com/rust-ndarray/ndarray/pull/902 <br>
145+
https://github.com/rust-ndarray/ndarray/pull/876
146+
147+
- Renamed methods (old names are now deprecated) by [@bluss] and [@jturner314]
43148

44149
- `genrows/_mut` -> `rows/_mut`
45150
- `gencolumns/_mut` -> `columns/_mut`
151+
- `stack_new_axis` -> `stack` (the new name already existed)
152+
- `visit` -> `for_each`
46153

47-
https://github.com/rust-ndarray/ndarray/pull/872
154+
https://github.com/rust-ndarray/ndarray/pull/872 <br>
155+
https://github.com/rust-ndarray/ndarray/pull/937 <br>
156+
https://github.com/rust-ndarray/ndarray/pull/907 <br>
157+
158+
- `blas-src` dependency updated to 0.7.0 by [@bluss]
159+
160+
https://github.com/rust-ndarray/ndarray/pull/891
161+
162+
- Updated `matrixmultiply` dependency to 0.3.0 by [@bluss]
163+
and adding new feature flag `matrixmultiply-threading` to enable its threading
164+
165+
https://github.com/rust-ndarray/ndarray/pull/888 <br>
166+
https://github.com/rust-ndarray/ndarray/pull/938 <br>
167+
168+
169+
Bug fixes
170+
---------
171+
172+
- Fix `Zip::indexed` for the 0-dimensional case by [@jturner314]
173+
174+
https://github.com/rust-ndarray/ndarray/pull/862
175+
176+
- Fix bug in layout computation that broke parallel collect to f-order
177+
array in some circumstances by [@bluss]
178+
179+
https://github.com/rust-ndarray/ndarray/pull/900
180+
181+
- Fix an unwanted panic in shape overflow checking by [@bluss]
182+
183+
https://github.com/rust-ndarray/ndarray/pull/855
184+
185+
- Mark the `SliceInfo::new` method as `unsafe` due to the requirement that
186+
`indices.as_ref()` always return the same value when called multiple times,
187+
by [@bluss] and [@jturner314]
188+
189+
https://github.com/rust-ndarray/ndarray/pull/570
48190

49191
Other changes
50192
-------------
51193

194+
- Various improvements to tests and CI by [@jturner314]
195+
196+
https://github.com/rust-ndarray/ndarray/pull/934 <br>
197+
https://github.com/rust-ndarray/ndarray/pull/924 <br>
198+
199+
- The `sort-axis.rs` example file's implementation of sort was bugfixed and now
200+
has tests, by [@dam5h] and [@bluss]
201+
202+
https://github.com/rust-ndarray/ndarray/pull/916 <br>
203+
https://github.com/rust-ndarray/ndarray/pull/930
204+
205+
- We now link to the #rust-sci room on matrix in the readme by [@jturner314]
206+
207+
https://github.com/rust-ndarray/ndarray/pull/619
208+
209+
- Internal cleanup with builder-like methods for creating arrays by [@bluss]
210+
211+
https://github.com/rust-ndarray/ndarray/pull/908
212+
213+
- Implementation fix of `.swap(i, j)` by [@bluss]
214+
215+
https://github.com/rust-ndarray/ndarray/pull/903
216+
217+
- Minimum supported Rust version (MSRV) is Rust 1.49.
218+
219+
https://github.com/rust-ndarray/ndarray/pull/902
220+
221+
- Minor improvements to docs by [@insideoutclub]
222+
223+
https://github.com/rust-ndarray/ndarray/pull/887
52224

53225

54226
Version 0.14.0 (2020-11-28)
@@ -1069,21 +1241,24 @@ Earlier releases
10691241
[@bluss]: https://github.com/bluss
10701242
[@jturner314]: https://github.com/jturner314
10711243
[@LukeMathWalker]: https://github.com/LukeMathWalker
1072-
[@max-sixty]: https://github.com/max-sixty
1244+
[@acj]: https://github.com/acj
1245+
[@andrei-papou]: https://github.com/andrei-papou
1246+
[@dam5h]: https://github.com/dam5h
1247+
[@d-dorazio]: https://github.com/d-dorazio
1248+
[@Eijebong]: https://github.com/Eijebong
1249+
[@insideoutclub]: https://github.com/insideoutclub
10731250
[@JP-Ellis]: https://github.com/JP-Ellis
1074-
[@sebasv]: https://github.com/sebasv
1251+
[@lifuyang]: https://github.com/liufuyang
1252+
[@max-sixty]: https://github.com/max-sixty
10751253
[@mneumann]: https://github.com/mneumann
1076-
[@termoshtt]: https://github.com/termoshtt
1077-
[@rth]: https://github.com/rth
1078-
[@nitsky]: https://github.com/nitsky
1079-
[@d-dorazio]: https://github.com/d-dorazio
1254+
[@mockersf]: https://github.com/mockersf
10801255
[@nilgoyette]: https://github.com/nilgoyette
1256+
[@nitsky]: https://github.com/nitsky
1257+
[@rth]: https://github.com/rth
1258+
[@sebasv]: https://github.com/sebasv
1259+
[@SparrowLii]: https://github.com/SparrowLii
1260+
[@termoshtt]: https://github.com/termoshtt
10811261
[@TheLortex]: https://github.com/TheLortex
1082-
[@mockersf]: https://github.com/mockersf
10831262
[@viniciusd]: https://github.com/viniciusd
1084-
[@lifuyang]: https://github.com/liufuyang
1085-
[@acj]: https://github.com/acj
1086-
[@Eijebong]: https://github.com/Eijebong
1087-
[@andrei-papou]: https://github.com/andrei-papou
10881263
[@xd009642]: https://github.com/xd009642
10891264
[@Zuse64]: https://github.com/Zuse64

0 commit comments

Comments
 (0)