|
1 | 1 | Release Notes {#release_notes}
|
2 | 2 | =============
|
3 | 3 |
|
| 4 | +\section v0-12-0 Version 0.12.0 "Dude, Where's My Bored Ape?" |
| 5 | + |
| 6 | +_Released:_ June 19, 2022 |
| 7 | + |
| 8 | +> **IMPORTANT:** This release deprecates `views::group_by` which was |
| 9 | +> an endless source of confusion. `group_by` is replaced with |
| 10 | +> `views::chunk_by` (which, beware, has _subtly_ different semantics, |
| 11 | +> see below.) |
| 12 | +
|
| 13 | +Changes: |
| 14 | +* **NEW:** `views::chunk_by` which, like the old `views::group_by` it replaces, |
| 15 | + splits a range into a range-of-ranges, where adjacent elements satisfy a binary |
| 16 | + predicate ([\#1648](https://github.com/ericniebler/range-v3/pull/1648)). [_Note:_ Whereas `views::group_by` evaluated the predicate |
| 17 | + between the current element and the _first_ element in the chunk, `views::chunk_by` |
| 18 | + evaluates the predicate between _adjacent_ elements. -- _end note_] |
| 19 | +* **NEW:** `constexpr` all the algorithms that are `constexpr` in C++20's `std::ranges` |
| 20 | + ([\#1683](https://github.com/ericniebler/range-v3/pull/1683)). |
| 21 | +* **NEW:** Fold algorithms from [P2322](http://wg21.link/P2322) ([\#1628](https://github.com/ericniebler/range-v3/pull/1628)), ([\#1668](https://github.com/ericniebler/range-v3/pull/1668)). |
| 22 | +* **NEW:** `ranges::unformatted_ostream_iterator` ([\#1586](https://github.com/ericniebler/range-v3/pull/1586)). |
| 23 | +* **NEW:** Support for the `build2` build system ([\#1562](https://github.com/ericniebler/range-v3/pull/1562)). |
| 24 | +* Implement [P2328](http://wg21.link/P2328): relax the constraint on `ranges::join_view` |
| 25 | + to support joining ranges of prvalue non-`view` ranges ([\#1655](https://github.com/ericniebler/range-v3/pull/1655)). |
| 26 | +* Improved algorithm for `ranges::linear_distribute` ([\#1679](https://github.com/ericniebler/range-v3/pull/1679)). |
| 27 | +* Renamed `safe_subrange_t` to `borrowed_subrange_t` ([\#1542](https://github.com/ericniebler/range-v3/pull/1542)). |
| 28 | +* Extend `ranges::to` to support conversion to container-of-containers ([\#1553](https://github.com/ericniebler/range-v3/pull/1553)). |
| 29 | +* `views::enumerate` can be a `borrowed_view` ([\#1571](https://github.com/ericniebler/range-v3/pull/1571)). |
| 30 | +* `ranges::upper_bound` works in the presence of overloaded `operator&` ([\#1632](https://github.com/ericniebler/range-v3/pull/1632)). |
| 31 | +* Input iterators are no longer required to be default-constructible ([\#1652](https://github.com/ericniebler/range-v3/pull/1652)). |
| 32 | + |
| 33 | +Bugs fixed: |
| 34 | +* `ranges::to<std::map>(v)` does not work ([\#1700](https://github.com/ericniebler/range-v3/pull/1700)) |
| 35 | +* `ranges::reverse_iterator` has the wrong `value_type` when reversing a proxy |
| 36 | + range ([\#1670](https://github.com/ericniebler/range-v3/pull/1670)). |
| 37 | +* A post-increment of a `ranges::counted_iterator` wrapping an input iterator with |
| 38 | + a `void`-returning post-increment operator isn't incrementing the count ([\#1664](https://github.com/ericniebler/range-v3/pull/1664)). |
| 39 | +* Bad assert in `views::drop_last` ([\#1599](https://github.com/ericniebler/range-v3/pull/1599)). |
| 40 | +* Read of uninitialized `bool` in `views::cache1` ([\#1610](https://github.com/ericniebler/range-v3/pull/1610)). |
| 41 | +* `ranges::unstable_remove_if` calls predicate on same element twice ([\#1629](https://github.com/ericniebler/range-v3/pull/1629)). |
| 42 | +* `ranges::on(f,g)(x...)` should be `f(g(x)...)` instead of `f(g(x...))` ([\#1661](https://github.com/ericniebler/range-v3/pull/1661)). |
| 43 | +* Broken qualification of cmake targets ([\#1557](https://github.com/ericniebler/range-v3/pull/1557)). |
| 44 | +* Various portability and documentation fixes. |
| 45 | + |
| 46 | +**Credits:** I would like to thank the following people who contributed to this release |
| 47 | +(in no particular order): Barry Revzin, @dvirtz, Gonzalo Brito, Johel Ernesto Guerrero |
| 48 | +Peña, Joël Lamotte, Doug Roeper, Facundo Tuesca, Vitaly Zaitsev, @23rd, @furkanusta, |
| 49 | +Jonathan Haigh, @SmorkalovG, @marehr, Matt Beardsley, Chris Glover, Louis Dionne, Jin |
| 50 | +Shang (@js8544), Hui Xie, @huixie90, Robert Maynard, Silver Zachara, @sergegers, |
| 51 | +Théo DELRIEU, @LesnyRumcajs, Yehezkel Bernat, Maciej Patro, Klemens Nanni, Thomas |
| 52 | +Madlener, and Jason Merrill. |
| 53 | + |
| 54 | +🎉 Special thanks to Barry Revzin for stepping up to be part-time co-maintainer of |
| 55 | +range-v3. 🎉 |
| 56 | + |
4 | 57 | \section v0-11-0 Version 0.11.0 "Thanks, ISO"
|
5 | 58 |
|
6 | 59 | _Released:_ August 6, 2020
|
@@ -54,18 +107,18 @@ Changes:
|
54 | 107 | * Better conformance with C++20's use of the _`boolean-testable`_ concept.
|
55 | 108 | * Support C++20 coroutines.
|
56 | 109 | * Honor CMake's `CMAKE_CXX_STANDARD` variable.
|
57 |
| -* A fix for the cardinality of `views::zip[_with]` (#1486). |
| 110 | +* A fix for the cardinality of `views::zip[_with]` ([\#1486](https://github.com/ericniebler/range-v3/pull/1486)). |
58 | 111 | * Add `view_interface::data()` member function.
|
59 | 112 | * Add necessary specializations for `std::basic_common_reference` and
|
60 | 113 | `std::common_type`.
|
61 | 114 | * Numerous workarounds for MSVC.
|
62 | 115 | * Various CMake fixes and improvements.
|
63 | 116 | * `drop_while_view` is not a `sized_range`.
|
64 | 117 | * Added support for Wind River Systems.
|
65 |
| -* Bug fixes to `views::group_by` (#1393). |
| 118 | +* Bug fixes to `views::group_by` ([\#1393](https://github.com/ericniebler/range-v3/pull/1393)). |
66 | 119 | * `common_[reference|type]` of `common_[tuple|pair]` now yields a `common_[tuple|pair]`
|
67 |
| - instead of a `std::[tuple|pair]` (#1422). |
68 |
| -* Avoid UB when currying an lvalue in some views and actions (#1320). |
| 120 | + instead of a `std::[tuple|pair]` ([\#1422](https://github.com/ericniebler/range-v3/pull/1422)). |
| 121 | +* Avoid UB when currying an lvalue in some views and actions ([\#1320](https://github.com/ericniebler/range-v3/pull/1320)). |
69 | 122 |
|
70 | 123 | **Credits:** I would like to thank the following people who contributed to this release
|
71 | 124 | (in no particular order): Christopher Di Bella, @marehr, Casey Carter, Dvir Yitzchaki,
|
|
0 commit comments