8.5 KiB
Release Notes
All notable changes to this project will be documented in this file.
This project is versioned according to the Package Versioning Policy, the de facto standard Haskell versioning scheme.
1.4.0.0
- Date 2017-01-19
- Git tag concurrency-1.4.0.0
- Hackage https://hackage.haskell.org/package/concurrency-1.4.0.0
Control.Monad.Conc.Class
-
The
peekTicket'
now has a more concrete type, to make deriving newtype instances ofMonadConc
possible.- Old:
MonadConc m => proxy m -> Ticket m a -> a
- New:
MonadConc m => Proxy m -> Ticket m a -> a
- Old:
1.3.0.0
- Date 2017-12-23
- Git tag concurrency-1.3.0.0
- Hackage https://hackage.haskell.org/package/concurrency-1.3.0.0
Control.Concurrent.Classy.Async
- New
asyncBound
,asyncBoundN
,withAsyncBound
, andwithAsyncBoundN
functions for doing asynchronous actions on bound threads. (#126)
Control.Monad.Conc.Class
-
MonadConc
now supports bound threads with newforkOS
,forkOSN
, andisCurrentThreadBound
functions. (#126) -
New
runInBoundThread
andrunInUnboundThread
functions. (#126) -
The
rtsSupportsBoundThreads
definition is now the definition from Control.Concurrent re-exported, not justFalse
. (#126)
Note that bound threads are only supported if you compile with GHC and link with -threaded.
1.2.3.0
- Date 2017-11-30
- Git tag concurrency-1.2.3.0
- Hackage https://hackage.haskell.org/package/concurrency-1.2.3.0
Control.Concurrent.Classy.Async
- New named-thread variants of the
withAsync*
functions:withAsyncN
,withAsyncOnN
,withAsyncWithUnmaskN
, andwithAsyncOnWithUnmaskN
(#148).
1.2.2.0
- Date 2017-11-05
- Git tag concurrency-1.2.2.0
- Hackage https://hackage.haskell.org/package/concurrency-1.2.2.0
Control.Monad.Conc.Class
-
A new
IsConc
type (andtoIsConc
,fromIsConc
functions), where a value of typeIsConc m a
can only be constructed ifm
has aMonadConc
instance. ItsSTM
type isIsSTM (STM m)
. (#144) -
The provided transformer instances now use the
modifyCRefCAS_
of the underlying monad, rather than the default definition in terms ofmodifyCRefCAS
.
Control.Monad.STM.Class
- A new
IsSTM
type (andtoIsSTM
,fromIsSTM
functions), where a value of typeIsSTM m a
can only be constructed ifm
has aMonadSTM
instance. (#144)
1.2.1.2
- Date 2017-10-14
- Git tag concurrency-1.2.1.2
- Hackage https://hackage.haskell.org/package/concurrency-1.2.1.2
Control.Monad.Conc.Class
- Fixes an infinite loop introduced for the
IO
instance ofMonadConc
inforkWithUnmask
andforkOnWithUnmask
in 1.2.1.1 (#134).
1.2.1.1
- Date 2017-10-11
- Git tag concurrency-1.2.1.1
- Hackage https://hackage.haskell.org/package/concurrency-1.2.1.1
Control.Monad.Conc.Class
- The
IO
instance ofMonadConc
now names threads withGHC.Conc.labelThread
, so thread names now appear in debugging traces of normal execution.
1.2.1.0
- Date 2017-10-02
- Git tag concurrency-1.2.1.0
- Hackage https://hackage.haskell.org/package/concurrency-1.2.1.0
Control.Concurrent.Classy.Async
- New named-thread variants of the
async*
functions:asyncN
,asyncOnN
,asyncWithUnmaskN
, andasyncOnWithUnmaskN
(#125).
1.2.0.0
- Date 2017-09-16
- Git tag concurrency-1.2.0.0
- Hackage https://hackage.haskell.org/package/concurrency-1.2.0.0
Control.Monad.STM.Class
MonadSTM
now has aMonadPlus
constraint.- The
orElse
andretry
functions have been promoted to top-level definitions, and are aliases formplus
andmzero
.
1.1.2.1
- Date 2017-06-07
- Git tag concurrency-1.1.2.1
- Hackage https://hackage.haskell.org/package/concurrency-1.1.2.1
Changed
- The
isEmptyMVar
function is now implemented usingtryReadMVar
instead of a combination oftryTakeMVar
andputMVar
. It no longer modifies the contents of theMVar
and can no longer block.
Miscellaneous
- There is now a changelog.
1.1.2.0
- Date 2017-04-05
- Git tag concurrency-1.1.2.0
- Hackage https://hackage.haskell.org/package/concurrency-1.1.2.0
Control.Concurrent.Classy.Async
- New functions:
uninterruptibleCancel
function, which iscancel
inside an uninterruptible mask.replicateConcurrently
function, which performs an action many times in separate threads.concurrently_
,mapConcurrently_
,forConcurrently_
, andreplicateConcurrently_
functions, which discard the result of the non-_ version.
- New instances:
Semigroup
instance forConcurrently
when built with base 4.9.Monoid
instance forConcurrently
.
Control.Monad.Conc.Class
- The
mask_
anduninterruptibleMask_
functions from Control.Monad.Catch are now re-exported.
Changed
- The
cancel
and thewithAsync
functions now block until theAsync
action terminates, to match changes in the main async package.
Miscellaneous
- Every definition, class, and instance now has a Haddock "@since" annotation.
1.1.1.0
- Date 2017-03-04
- Git tag concurrency-1.1.1.0
- Hackage https://hackage.haskell.org/package/concurrency-1.1.1.0
Miscellaneous
- The async-dejafu package has been pulled into this package as the Control.Concurrent.Classy.Async module. async-dejafu is now deprecated.
1.1.0.0
- Date 2017-02-21
- Git tag concurrency-1.1.0.0
- Hackage https://hackage.haskell.org/package/concurrency-1.1.0.0
Control.Monad.Conc.Class
- The
MonadConc
class now definestryReadMVar
, a non-blocking version ofreadMVar
akin totryTakeMVar
. - The
MonadConc
class no longer defines_concMessage
, there is no alternative provided, it is just gone.
1.0.0.0
- Date 2016-09-10
- Git tag concurrency-1.0.0.0
- Hackage https://hackage.haskell.org/package/concurrency-1.0.0.0
Initial release. Go read the API docs.