Release Notes
This project is versioned according to the PVP, the de facto standard Haskell versioning scheme.
1.11.0.3 (2023-06-17)
- Git: concurrency-1.11.0.3
- Hackage: concurrency-1.11.0.3
Miscellaneous
- The upper bound on mtl is <2.4.
- The upper bound on transformers is <0.7.
1.11.0.2 (2021-08-15)
- Git: concurrency-1.11.0.2
- Hackage: concurrency-1.11.0.2
Miscellaneous
- Remove reference to freenode in README.
1.11.0.1 (2021-03-14)
- Git: concurrency-1.11.0.1
- Hackage: concurrency-1.11.0.1
Fixed
- (issue #334) Compilation error under GHC 9 due to use of
const
.
1.11.0.0 (2020-05-14)
- Git: concurrency-1.11.0.0
- Hackage: concurrency-1.11.0.0
Contributors: mitchellwrosen (pull request #319).
Added
- (issue #316)
Control.Monad.Conc.Class.unsafeUnmask
. Control.Monad.Conc.Class.interruptible
.
1.10.0.0 (2020-05-10)
- Git: concurrency-1.10.0.0
- Hackage: concurrency-1.10.0.0
Added
- (issue #312)
Control.Monad.Conc.Class.getMaskingState
.
1.9.0.0 (2020-02-26)
- Git: concurrency-1.9.0.0
- Hackage: concurrency-1.9.0.0
Changed
-
(issue #286) Pulled in changes from stm-2.5.0.0 package:
- Changed
newTBQueue
to acceptNatural
as a size. - Changed
lengthTBQueue
to return aNatural
.
- Changed
1.8.1.0 (2019-11-16)
- Git: concurrency-1.8.1.0
- Hackage: concurrency-1.8.1.0
Added
- (issue #303)
Control.Monad.Conc.Class.newTVarConc
, with a default implementation ofatomically . newTVar
.
1.8.0.0 (2019-10-04)
- Git: concurrency-1.8.0.0
- Hackage: concurrency-1.8.0.0
Added
MonadFail
instances forControl.Monad.Conc.Class.IsConc
andControl.Monad.STM.IsSTM
.
Changed
- Added
MonadFail
constraints toControl.Concurrent.Classy.QSem.newQSem
andControl.Concurrent.Classy.QSemN.newQSemN
.
Miscellaneous
- Fixed a compilation error with GHC 8.8
1.7.0.0 (2019-03-24)
- Git: concurrency-1.7.0.0
- Hackage: concurrency-1.7.0.0
Added
- The
Control.Monad.Conc.Class.supportsBoundThreads
function, likertsSupportsBoundThreads
but returns a monadic result.
Deprecated
Control.Monad.Conc.Class.rtsSupportsBoundThreads
, in favour ofsupportsBoundThreads
.
1.6.2.0 (2018-11-28)
- Git: concurrency-1.6.2.0
- Hackage: concurrency-1.6.2.0
Contributors: gip (pull request #289).
Added
- (pull request #289) The
Control.Concurrent.Classy.BoundedChan
module. - (pull request #289) The
Control.Concurrent.Classy.Lock
module. - (pull request #289) The
Control.Concurrent.Classy.RWLock
module.
1.6.1.0 (2018-09-23)
- Git: concurrency-1.6.1.0
- Hackage: concurrency-1.6.1.0
Added
-
(issue #286) Copy across additions from the stm package:
Control.Concurrent.Classy.STM.TQueue.flushTQueue
Control.Concurrent.Classy.STM.TBQueue.flushTBQueue
Control.Concurrent.Classy.STM.TBQueue.lengthTBQueue
Control.Concurrent.Classy.STM.TVar.stateTVar
-
(issue #287) The
Control.Concurrent.Classy.STM.TSem
module.
Changed
-
(issue #286) Copy across changes from the stm package:
- Make definition of
readTQueue
consistent withreadTBQueue
- Performance improvements to
peekTQueue
andpeekTBQueue
.
- Make definition of
Miscellaneous
- The upper bound on stm is <2.6.
1.6.0.0 - IORefs (2018-07-01)
- Git: concurrency-1.6.0.0
- Hackage: concurrency-1.6.0.0
Added
Control.Concurrent.Classy.CRef
, deprecated*CRef
functions and aCRef
alias.
Changed
- (issue #274)
CRef
is nowIORef
: all functions, modules, and types have been renamed.
1.5.0.0 - No More 7.10 (2018-03-28)
- Git: concurrency-1.5.0.0
- Hackage: concurrency-1.5.0.0
Added
- (issue #132)
forkOSWithUnmask
inMonadConc
Changed
- (issue #132)
Control.Monad.Conc.Class.fork
,forkOn
,forkOS
, andforkOSN
are top-level definitions.
Miscellaneous
-
GHC 7.10 support is dropped. Dependency lower bounds are:
- base: 4.9
- array: 0.5.1
- transformers: 0.5
1.4.0.2 (2018-03-11)
- Git: concurrency-1.4.0.2
- Hackage: concurrency-1.4.0.2
Miscellaneous
- (pull request #245) The upper bound on exceptions is <0.11.
1.4.0.1 (2018-02-26)
- Git: concurrency-1.4.0.1
- Hackage: concurrency-1.4.0.1
Miscellaneous
- The upper bound on exceptions is <0.10.
1.4.0.0 (2018-01-19)
- Git: concurrency-1.4.0.0
- Hackage: concurrency-1.4.0.0
Changed
-
Control.Monad.Conc.Class.peekTicket'
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 - The Bound Thread Release (2017-12-23)
- Git: concurrency-1.3.0.0
- Hackage: concurrency-1.3.0.0
Note: bound threads are only supported if you compile with GHC and link with -threaded.
Added
-
(pull request #145) Bound thread variants of the
withAsync
functions:Control.Concurrent.Classy.Async.asyncBound
Control.Concurrent.Classy.Async.asyncBoundN
Control.Concurrent.Classy.Async.withAsyncBound
Control.Concurrent.Classy.Async.withAsyncBoundN
-
(pull request #145) Bound thread functions in
MonadConc
:Control.Monad.Conc.Class.forkOS
Control.Monad.Conc.Class.forkOSN
Control.Monad.Conc.Class.isCurrentThreadBound
-
(pull request #145) Helper functions for bound threads:
Control.Monad.Conc.Class.runInBoundThread
Control.Monad.Conc.Class.runInUnboundThread
Changed
- (pull request #145)
Control.Monad.Conc.Class.rtsSupportsBoundThreads
is a re-export fromControl.Concurrent
.
1.2.3.0 (2017-11-30)
- Git: concurrency-1.2.3.0
- Hackage: concurrency-1.2.3.0
Added
-
(issue #148) Named thread variants of the
withAsync
functions:Control.Concurrent.Classy.Async.withAsyncN
Control.Concurrent.Classy.Async.withAsyncOnN
Control.Concurrent.Classy.Async.withAsyncWithUnmaskN
Control.Concurrent.Classy.Async.withAsyncOnWithUnmaskN
1.2.2.0 (2017-11-05)
- Git: concurrency-1.2.2.0
- Hackage: concurrency-1.2.2.0
Added
-
(issue #144)
IsConc
andIsSTM
wrapper types:Control.Monad.Conc.Class.IsConc
(constructor unexported)Control.Monad.Conc.Class.toIsConc
Control.Monad.Conc.Class.fromIsConc
Control.Monad.STM.Class.IsSTM
(constructor unexported)Control.Monad.STM.Class.toIsSTM
Control.Monad.STM.Class.fromIsSTM
Changed
Control.Monad.Conc.Class.modifyCRefCAS_
for transformer instances delegates to the underlying monad, rather than using the default definition in terms ofmodifyCRefCAS
.
1.2.1.2 (2017-10-14)
- Git: concurrency-1.2.1.2
- Hackage: concurrency-1.2.1.2
Fixed
- (issue #134)
Control.Monad.Conc.Class.forkWithUnmask
andforkOnWithUnmask
for theIO
instance does not infinitely loop (bug introduced in concurrency-1.2.1.1).
1.2.1.1 (2017-10-11)
- Git: concurrency-1.2.1.1
- Hackage: concurrency-1.2.1.1
Changed
- Named threads for
IO
are implemented withGHC.Conc.labelThread
.
1.2.1.0 (2017-10-02)
- Git: concurrency-1.2.1.0
- Hackage: concurrency-1.2.1.0
Added
-
(pull request #125) Named thread variants of the
async
functions:Control.Concurrent.Classy.Async.asyncN
Control.Concurrent.Classy.Async.asyncOnN
Control.Concurrent.Classy.Async.asyncWithUnmaskN
Control.Concurrent.Classy.Async.asyncOnWithUnmaskN
1.2.0.0 (2017-09-16)
- Git: concurrency-1.2.0.0
- Hackage: concurrency-1.2.0.0
Changed
MonadPlus
is a superclass ofMonadSTM
.Control.Monad.STM.Class.orElse
is a top-level alias formplus
.Control.Monad.STM.Class.retry
is a top-level alias formzero
.
1.1.2.1 (2017-06-07)
- Git: concurrency-1.1.2.1
- Hackage: concurrency-1.1.2.1
Changed
Control.Concurrent.Classy.MVar.isEmptyMVar
does not briefly empties theMVar
, and does not block.
1.1.2.0 (2017-04-05)
- Git: concurrency-1.1.2.0
- Hackage: concurrency-1.1.2.0
Added
-
Missing functions copied from async:
Control.Concurrent.Classy.Async.uninterruptibleCancel
Control.Concurrent.Classy.Async.replicateConcurrently
Control.Concurrent.Classy.Async.concurrently_
Control.Concurrent.Classy.Async.mapConcurrently_
Control.Concurrent.Classy.Async.forConcurrently_
Control.Concurrent.Classy.Async.replicateConcurrently_
-
Control.Concurrent.Classy.Async.Concurrently
has aSemigroup
instance when built with base >= 4.9. -
Control.Concurrent.Classy.Async.Concurrently
has aMonoid
instance. -
Control.Monad.Conc.Class
re-exportsControl.Monad.Catch.mask_
anduninterruptibleMask_
.
Changed
- (pull request #77) To match changes in async,
Control.Concurrent.Classy.Async.cancel
andwithAsync
block until theAsync
is killed.
Miscellaneous
- Every definition, class, and instance now has a Haddock
@since
annotation.
1.1.1.0 - The Async Release (2017-03-04)
- Git: concurrency-1.1.1.0
- Hackage: concurrency-1.1.1.0
Added
- The
Control.Concurrent.Classy.Async
module.
1.1.0.0 (2017-02-21)
- Git: concurrency-1.1.0.0
- Hackage: concurrency-1.1.0.0
Added
Control.Monad.Conc.Class.tryReadMVar
Removed
Control.Monad.Conc.Class._concMessage
1.0.0.0 - The Initial Release (2016-09-10)
- Git: concurrency-1.0.0.0
- Hackage: concurrency-1.0.0.0
Added
- Everything.