diff --git a/RELEASES.md b/RELEASES.md
index 2f4104730..910378d02 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -4,28 +4,115 @@ Version 0.15.0 (Not released yet)
New features
------------
-- Support for compiling ndarray as `no_std` (using core and alloc) by [@xd009642]
+- Support inserting new axes while slicing by [@jturner314]. This is an example:
- https://github.com/rust-ndarray/ndarray/pull/861
+ ```rust
+ let view = arr.slice(s![.., -1, 2..;-1, NewAxis]);
+ ```
+
+ https://github.com/rust-ndarray/ndarray/pull/570
+
+- Support two-sided broadcasting in arithmetic operations with arrays by [@SparrowLii]
+
+ Note that this means that a new trait bound is required in some places when
+ mixing dimensionality types of arrays in arithmetic operations.
+
+ https://github.com/rust-ndarray/ndarray/pull/898
+
+- Support for compiling ndarray as `no_std` (using core and alloc) by
+ [@xd009642] and [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/861
+ https://github.com/rust-ndarray/ndarray/pull/889
- New methods `.cell_view()` and `ArrayViewMut::into_cell_view` that enable
new ways of working with array elements as if they were in Cells - setting
- elements through shared views and broadcast views.
+ elements through shared views and broadcast views, by [@bluss].
https://github.com/rust-ndarray/ndarray/pull/877
+- New methods `slice_each_axis/_mut/_inplace` that make it easier to slice
+ a dynamic number of axes in some situations, by [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/913
+
+- New method `a.assign_to(b)` with the inverse argument order compared to the
+ existing `b.assign(a)` and some extra features like assigning into
+ uninitialized arrays, By [@bluss].
+
+ https://github.com/rust-ndarray/ndarray/pull/947
Enhancements
------------
-- Fix `Zip` for the 0-dimensional case by [@jturner314]
+- New constructors `Array::from_iter` and `Array::from_vec` by [@bluss].
+ No new functionality, just that these constructors are avaiable without trait
+ imports.
- https://github.com/rust-ndarray/ndarray/pull/862
+ https://github.com/rust-ndarray/ndarray/pull/921
+
+- Ndarray can now correctly determine that arrays can be contiguous, even if
+ they have negative strides, by [@SparrowLii]
+
+ https://github.com/rust-ndarray/ndarray/pull/885
+
+- `NdProducer::raw_dim` is now a documented method by [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/918
+
+- `AxisDescription` is now a struct with field names, not a tuple struct by
+ [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/915
+
+- Improvements to `map_inplace` by [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/911
+
+- `.into_dimensionality` performance was improved for the `IxDyn` to `IxDyn`
+ case by [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/906
+
+- Improved performance for scalar + &array and &array + scalar operations by
+ [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/890
+
+- Methods for array comparison `abs_diff_eq` and `relative_eq` are now
+ exposed as inherent methods too (no trait import needed), still under the approx
+ feature flag by [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/946
API changes
-----------
-- Removed deprecated methods by [@bluss]:
+- Changes to the slicing-related types and macro by [@jturner314] and [@bluss]:
+
+ - Remove the `Dimension::SliceArg` associated type, and add a new `SliceArg`
+ trait for this purpose.
+ - Change the return type of the `s![]` macro to an owned `SliceInfo` rather
+ than a reference.
+ - Replace the `SliceOrIndex` enum with `SliceInfoElem`, which has an
+ additional `NewAxis` variant and does not have a `step_by` method.
+ - Change the type parameters of `SliceInfo` in order to support the `NewAxis`
+ functionality and remove some tricky `unsafe` code.
+ - Mark the `SliceInfo::new` method as `unsafe`. The new implementations of
+ `TryFrom` can be used as a safe alternative.
+ - Remove the `AsRef> for SliceInfo`
+ implementation. Add the similar `From<&'a SliceInfo> for
+ SliceInfo<&'a [SliceInfoElem], Din, Dout>` conversion as an alternative.
+ - Change the *expr* `;` *step* case in the `s![]` macro to error at compile
+ time if an unsupported type for *expr* is used, instead of panicking at
+ runtime.
+
+ https://github.com/rust-ndarray/ndarray/pull/570
+ https://github.com/rust-ndarray/ndarray/pull/940
+ https://github.com/rust-ndarray/ndarray/pull/943
+ https://github.com/rust-ndarray/ndarray/pull/945
+
+- Removed already deprecated methods by [@bluss]:
- Remove deprecated `.all_close()` - use approx feature and methods like `.abs_diff_eq` instead
- Mark `.scalar_sum()` as deprecated - use `.sum()` instead
@@ -34,21 +121,106 @@ API changes
https://github.com/rust-ndarray/ndarray/pull/874
-- Remove deprecated methods: rows, cols (for row and column count; the new
- names are nrows and ncols) by [@bluss]
+- Remove already deprecated methods: rows, cols (for row and column count; the
+ new names are nrows and ncols) by [@bluss]
https://github.com/rust-ndarray/ndarray/pull/872
-- Renamed methods (old names are now deprecated) by [@bluss]
+- Renamed `Zip` methods by [@bluss] and [@SparrowLii]:
+
+ - `apply` -> `for_each`
+ - `apply_collect` -> `map_collect`
+ - `apply_collect_into` -> `map_collect_into`
+ - (`par_` prefixed methods renamed accordingly)
+
+ https://github.com/rust-ndarray/ndarray/pull/894
+ https://github.com/rust-ndarray/ndarray/pull/904
+
+- Deprecate `Array::uninitialized` and revamped its replacement by [@bluss]
+
+ Please use new new `Array::uninit` which is based on `MaybeUninit` (renamed
+ from `Array::maybe_uninit`, the old name is also deprecated).
+
+ https://github.com/rust-ndarray/ndarray/pull/902
+ https://github.com/rust-ndarray/ndarray/pull/876
+
+- Renamed methods (old names are now deprecated) by [@bluss] and [@jturner314]
- `genrows/_mut` -> `rows/_mut`
- `gencolumns/_mut` -> `columns/_mut`
+ - `stack_new_axis` -> `stack` (the new name already existed)
+ - `visit` -> `for_each`
- https://github.com/rust-ndarray/ndarray/pull/872
+ https://github.com/rust-ndarray/ndarray/pull/872
+ https://github.com/rust-ndarray/ndarray/pull/937
+ https://github.com/rust-ndarray/ndarray/pull/907
+
+- `blas-src` dependency updated to 0.7.0 by [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/891
+
+- Updated `matrixmultiply` dependency to 0.3.0 by [@bluss]
+ and adding new feature flag `matrixmultiply-threading` to enable its threading
+
+ https://github.com/rust-ndarray/ndarray/pull/888
+ https://github.com/rust-ndarray/ndarray/pull/938
+
+
+Bug fixes
+---------
+
+- Fix `Zip::indexed` for the 0-dimensional case by [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/862
+
+- Fix bug in layout computation that broke parallel collect to f-order
+ array in some circumstances by [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/900
+
+- Fix an unwanted panic in shape overflow checking by [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/855
+
+- Mark the `SliceInfo::new` method as `unsafe` due to the requirement that
+ `indices.as_ref()` always return the same value when called multiple times,
+ by [@bluss] and [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/570
Other changes
-------------
+- Various improvements to tests and CI by [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/934
+ https://github.com/rust-ndarray/ndarray/pull/924
+
+- The `sort-axis.rs` example file's implementation of sort was bugfixed and now
+ has tests, by [@dam5h] and [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/916
+ https://github.com/rust-ndarray/ndarray/pull/930
+
+- We now link to the #rust-sci room on matrix in the readme by [@jturner314]
+
+ https://github.com/rust-ndarray/ndarray/pull/619
+
+- Internal cleanup with builder-like methods for creating arrays by [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/908
+
+- Implementation fix of `.swap(i, j)` by [@bluss]
+
+ https://github.com/rust-ndarray/ndarray/pull/903
+
+- Minimum supported Rust version (MSRV) is Rust 1.49.
+
+ https://github.com/rust-ndarray/ndarray/pull/902
+
+- Minor improvements to docs by [@insideoutclub]
+
+ https://github.com/rust-ndarray/ndarray/pull/887
Version 0.14.0 (2020-11-28)
@@ -1069,21 +1241,24 @@ Earlier releases
[@bluss]: https://github.com/bluss
[@jturner314]: https://github.com/jturner314
[@LukeMathWalker]: https://github.com/LukeMathWalker
-[@max-sixty]: https://github.com/max-sixty
+[@acj]: https://github.com/acj
+[@andrei-papou]: https://github.com/andrei-papou
+[@dam5h]: https://github.com/dam5h
+[@d-dorazio]: https://github.com/d-dorazio
+[@Eijebong]: https://github.com/Eijebong
+[@insideoutclub]: https://github.com/insideoutclub
[@JP-Ellis]: https://github.com/JP-Ellis
-[@sebasv]: https://github.com/sebasv
+[@lifuyang]: https://github.com/liufuyang
+[@max-sixty]: https://github.com/max-sixty
[@mneumann]: https://github.com/mneumann
-[@termoshtt]: https://github.com/termoshtt
-[@rth]: https://github.com/rth
-[@nitsky]: https://github.com/nitsky
-[@d-dorazio]: https://github.com/d-dorazio
+[@mockersf]: https://github.com/mockersf
[@nilgoyette]: https://github.com/nilgoyette
+[@nitsky]: https://github.com/nitsky
+[@rth]: https://github.com/rth
+[@sebasv]: https://github.com/sebasv
+[@SparrowLii]: https://github.com/SparrowLii
+[@termoshtt]: https://github.com/termoshtt
[@TheLortex]: https://github.com/TheLortex
-[@mockersf]: https://github.com/mockersf
[@viniciusd]: https://github.com/viniciusd
-[@lifuyang]: https://github.com/liufuyang
-[@acj]: https://github.com/acj
-[@Eijebong]: https://github.com/Eijebong
-[@andrei-papou]: https://github.com/andrei-papou
[@xd009642]: https://github.com/xd009642
[@Zuse64]: https://github.com/Zuse64