- Fixed Issues
-
Fixed Issues
-
Enhancements
-
Library Changes
- Now C++17 is required to use the channels (This change was necessary, because the code became really messy to dispatch between copyable, move-only and void types)
-
Additional Comments
- It is necessary to patch std::variant for the combination of clang version <= 7 and stdlibc++. For further details see https://stackoverflow.com/questions/46506387/getstring-for-variants-fail-under-clang-but-not-g and ./travis/patches/patch_std_variant.sh. This is because the clang bug https://bugs.llvm.org/show_bug.cgi?id=31852
-
Fixed Issues
- #154 : Compilation error with gcc
- Race condition in timed blocking_get
-
Enhancements
- The library can now be included as cmake dependency (Many thanks to Austin McCartney)
- Fixed Issues
- #169 : when_all() appears to ignore the passed-in executor
- Fixed Issues
- Fixed Issues
- Library Breaking Changes
- Concurrency Library
- The functionality of channel's
zip
has changed. Now it behaves comparable to the ranges TS zip. The previous functionality is replaced withzip_with
. - The
merge
andjoin
functions are now deprecated and are replaced withmerge_channel<unordered_t>
andmerge_channel<round_robin_t>
.
- The functionality of channel's
- Concurrency Library
- Fixed Issues
- Library Additions
- Concurrency Library
- Adding usage of std::optional, std::variant or std::experimental::optional when compiling with C++17 mode. So the dependency to boost.optional is optional.
- Adding co-routine support for futures. (Only for VS 2017 and clang 5.0)
- Adding main_executor for Qt support
- Concurrency Library
- Fixed Issues
- Fixed Issues
- #94 : Use of moved executor in futures.hpp:1234
- #93 : Stack overflow with exception handling in futures
- #85 : (non-default) Executors and
make_ready_future
- #80 :
stlab::async
will not accept non-const reference parameters - #79 :
when_all
does not support continuing futures that returnvoid
- #69 : Support move-only tasks
- #59 :
task_system
andnotification_queue
doesn't work with move only lambda - #26 : channel TODO get process state under mutex?
- #18 : future TODO
get_try()
- Library Additions
- Concurrency library
- serial queue
- task
- Added feature requests #95 (flatten futures) and #38 (reduction on
future<void>
). Reduction of futures is now supported. So afuture<future<T>>
is reduced tofuture<T>
. Currently this is restricted to copyable typesT
.
- copy on write
- scope
- Test library
- annotate
- regular
- move-only
- Concurrency library
- Build & Test Improvements
- CMake overhaul
- Extended Travis CI support
- AppVeyor support
- Breaking Changes
- With Issue #85 the interface of
make_ready_future
andmake_exceptional_future
now require an executor as a second parameter.
- With Issue #85 the interface of
- Added the concurrency library:
- futures
- executors
- channels