Releases: facebookexperimental/libunifex
v0.4.0
What's Changed
- deprecations #538 #539 #542
- fixes #543 #546 #549 #550 #551 #553 #563 #568
- fix cancellation lifetime issue in
type_erased_stream
#565 #566 - clang-13...clang-17, gcc-11...gcc-13 support #571 #573 #575
- doc #572 #570
New algorithms
- nothrow task #540
- cancellation for
io_uring_context
#534 - support value channel references in
finally
#545 #557 #562
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- revamp blocking_kind calculation #524
- reimplement scheduler affinity #527
- documentation and examples #512, #514, #515
- fixes, optimizations & improvements #522, #521, #520, #519, #523
New algorithms
debug_async_scope
#536 and #537cleanup_adapt_stream
algorithm #517io_uring_context::open_listening_socket
#531
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- move
v1::async_scope
into inlinev1
namespace #511 - Breaking change:
v1::async_scope
becameunifex::async_scope
- previous generation
v0::async_scope
must be fully qualified
- Migration to
v1::async_scope
:- replace existing use of
spawn()
withdetached_spawn()
- replace
spawn_on
withdetached_spawn_on()
- replace
spawn_call_on()
withdetached_spawn_call_on()
- replace existing use of
Full Changelog: v0.1.0...v0.2.0
v0.1.0
What's Changed
task<>
scheduler affinity #290 and #506- Breaking change:
task<>
is Scheduler-aware. It inherits and propagates the current Scheduler just as it does with stop tokens. When awaiting arbitrary awaitables and senders, it wraps the awaitable/sender intyped_via
to thunk back onto the current Scheduler
Concludes #435: broken-stdlib
is merged into main
and will be removed.
Full Changelog: v.0.0.3...v0.1.0
v0.0.3
State of the main
after last of the non-breaking changes to the API from broken-stdlib
and unstable
got merged #372. Strategy for convergence described in #435.
The original async_scope
is an alias to v0::async_scope
. Newly added are v1::async_scope
, v2::async_scope
and related algorithms without Scheduler
affinity in unifex::task
.
New algorithms:
Full Changelog: v0.0.2...v0.0.3
v0.0.2
State of the main
after non-breaking changes to the API from broken-stdlib
and unstable
got merged #498 and #491. Strategy for convergence described in #435.
This is a release with algorithms added into unstable
or broken-stdlib
without Scheduler
affinity in unifex::task
and without v2/async_scope
or related algorithms.
New algorithms:
- async_auto_reset_event
- detach_on_cancel
- fused_stop_source utility draft #497
- let_value_with_stop_token
- variant_sender
- when_all_range
Full Changelog: v0.0.1...v0.0.2