- #117: Document that empty for Concurrently waits forever
- #120: Add ConcurrentlyE.
- #123: Fix failing concurrentlyE tests in older GHCs.
- #124: Allow hashable 1.4
- #126: Semigroup and Monoid instances for ConcurrentlyE
- #120: Add ConcurrentlyE
- #138: expose internals as Control.Concurrent.Async.Internal
- #131: Fix typos in docs
- #132: waitAny(Catch): clarify non-empty input list requirement
- #142: Add cancelMany
- #135, #145, #150: Support for GHC 9.4, 9.6, 9.8
- Document that empty for Concurrently waits forever.
- Support for GHC 9.2
- Documentation fixes
- Builds with GHC 8.6.x
- linkOnly and link2Only are now exported
- wait now has the same behaviour with BlockedIndefinitelyOnSTM as waitCatch
- Documentation fixes
- Add a Hashable instance for Async
- Bump upper bounds
- Documentation updates
- cancel now throws AsyncCancelled instead of ThreadKilled
- link and link2 now wrap exceptions in ExceptionInLinkedThread when throwing to the linked thread. ExceptionInLinkedThread is a child of AsyncException in the exception hierarchy, so this maintains the invariant that exceptions thrown asynchronously should be AsyncExceptions.
- link and link2 do not propagate AsyncCancelled, so it's now possible to cancel a linked thread without cancelling yourself.
- Added linkOnly and link2Only to specify which exceptions should be propagated,if you want something other than the default behaviour of ignoring AsyncCancelled.
- new utility function compareAsyncs for comparing Asyncs of different types.
- Add a
Hashable
instance forAsync a
- Make 'cancelWith' wait for the cancelled thread to terminate, like 'cancel'
- Updates to dependency bounds for GHC 8.2
- Add
concurrently_
- Add
replicateConcurrently
- Add
replicateConcurrently_
- Fix incorrect argument order in
forConcurrently_
- Generalize
mapConcurrently_
andforConcurrently_
toFoldable
withAsync
now reliably kills the thread, by using an uninterruptible cancel- Make
cancel
wait for the thread to finish, and adjust 'concurrently' to match
- Bump base dependency to allow 4.10
- Remove invalid Monad instance for
Concurrently
- Add
Monoid
andSemigroup
instances forConcurrently
- Add
forConcurrently
(flipped version ofmapConcurrently
) - Add STM version of all applicable IO functions:
waitAnySTM
,waitAnyCatchSTM
,waitEitherSTM
,waitEitherCatchSTM
,waitEitherSTM_
, andwaitBothSTM
.
- Add a Monad instance for
Concurrently
- Bump base dependency to allow 4.9
- Add workaround to waitCatch for #14
- Bump
base
dependencies for GHC 7.8
- Bump
base
dependency of test suite
- Bump
base
dependency to allow 4.6
- Bump
stm
dependency to 2.4
- Safe Haskell support:
Control.Concurrent.Async
is nowTrustworthy
- Added a
Functor
instance forAsync
- Added
asyncBound
,asyncOn
,asyncWithUnmask
,asyncOnWithUnmask
,withAsyncBound
,withAsyncOn
,withAsyncWithUnmask
,withAsyncOnWithUnmask
. - Added
mapConcurrently
- Added
Concurrently
(withApplicative
andAlternative
instances)