|
| 1 | +# Release rayon 1.1.0 / rayon-core 1.5.0 (2019-06-05) |
| 2 | + |
| 3 | +- FIFO spawns are now supported using the new `spawn_fifo()` and `scope_fifo()` |
| 4 | + global functions, and their corresponding `ThreadPool` methods. |
| 5 | + - Normally when tasks are queued on a thread, the most recent is processed |
| 6 | + first (LIFO) while other threads will steal the oldest (FIFO). With FIFO |
| 7 | + spawns, those tasks are processed locally in FIFO order too. |
| 8 | + - Regular spawns and other tasks like `join` are not affected. |
| 9 | + - The `breadth_first` configuration flag, which globally approximated this |
| 10 | + effect, is now deprecated. |
| 11 | + - For more design details, please see [RFC 1]. |
| 12 | +- `ThreadPoolBuilder` can now take a custom `spawn_handler` to control how |
| 13 | + threads will be created in the pool. |
| 14 | + - `ThreadPoolBuilder::build_scoped()` uses this to create a scoped thread |
| 15 | + pool, where the threads are able to use non-static data. |
| 16 | + - This may also be used to support threading in exotic environments, like |
| 17 | + WebAssembly, which don't support the normal `std::thread`. |
| 18 | +- `ParallelIterator` has 3 new methods: `find_map_any()`, `find_map_first()`, |
| 19 | + and `find_map_last()`, like `Iterator::find_map()` with ordering constraints. |
| 20 | +- The new `ParallelIterator::panic_fuse()` makes a parallel iterator halt as soon |
| 21 | + as possible if any of its threads panic. Otherwise, the panic state is not |
| 22 | + usually noticed until the iterator joins its parallel tasks back together. |
| 23 | +- `IntoParallelIterator` is now implemented for integral `RangeInclusive`. |
| 24 | +- Several internal `Folder`s now have optimized `consume_iter` implementations. |
| 25 | +- `rayon_core::current_thread_index()` is now re-exported in `rayon`. |
| 26 | +- The minimum `rustc` is now 1.26, following the update policy defined in [RFC 3]. |
| 27 | + |
| 28 | +## Contributors |
| 29 | + |
| 30 | +Thanks to all of the contributors for this release! |
| 31 | + |
| 32 | +- @cuviper |
| 33 | +- @didroe |
| 34 | +- @GuillaumeGomez |
| 35 | +- @huonw |
| 36 | +- @janriemer |
| 37 | +- @kornelski |
| 38 | +- @seanchen1991 |
| 39 | +- @yegeun542 |
| 40 | + |
| 41 | +[RFC 1]: https://github.com/rayon-rs/rfcs/blob/master/accepted/rfc0001-scope-scheduling.md |
| 42 | +[RFC 3]: https://github.com/rayon-rs/rfcs/blob/master/accepted/rfc0003-minimum-rustc.md |
| 43 | + |
| 44 | + |
1 | 45 | # Release rayon 1.0.3 (2018-11-02)
|
2 | 46 |
|
3 | 47 | - `ParallelExtend` is now implemented for tuple pairs, enabling nested
|
|
0 commit comments