BSD-3-Clause licensed 
This version can be pinned in stack with:stm-2.5.0.2@sha256:0dcf3f32b40f2208aad44fa72cb877b78018de5ea79c126ef74467b78fdf44d1,2230
Module documentation for 2.5.0.2
- Control
- Control.Concurrent
 
- Control.Monad
 
 
Used by 137 packages in 
nightly-2022-09-07(full list with versions):
acid-state, 
advent-of-code-api, 
Agda, 
alarmclock, 
alternators, 
amqp, 
arbor-lru-cache, 
async, 
async-pool, 
async-refresh, 
aura, 
blank-canvas, 
brick, 
cache, 
chan, 
classy-prelude, 
concurrency, 
concurrent-extra, 
concurrent-output, 
conduit-algorithms, 
conduit-extra, 
core-program, 
core-telemetry, 
data-ref, 
di-core, 
di-df1, 
di-monad, 
eventstore, 
every, 
exceptions, 
experimenter, 
filecache, 
flush-queue, 
haskeline, 
hasql-pool, 
hasql-queue, 
hedgehog, 
hedis, 
HMock, 
hruby, 
and many more 
2.5.0.2 Dec 2021
2.5.0.1 May 2020
- Optimise implementation of 
peekTQueue and peekTBQueue to reduce
probability of transaction conflicts. 
2.5.0.0 Sep 2018
- 
Removed alwaysSucceeds and always, GHC’s invariant checking primitives. (GHC #14324)
 
- 
Add lengthTBQueue to Control.Concurrent.STM.TBQueue (gh-9)
 
- 
Add stateTVar :: TVar s -> (s -> (a, s)) -> STM a combinator (gh-14)
 
- 
Switched newTBQueue and newTBQueueIO to accept Natural as size (gh-17)
 
- 
Switched signalTSemN and newTSem to accept Natural and Integer respectively (gh-17)
 
2.4.5.1 Sep 2018
2.4.5.0 Feb 2018
- 
Fix space leak in TBQueue (gh-2, GHC#14494)
 
- 
Make signalTSem resilient against Int overflows (gh-4)
 
- 
Make definition of readTQueue consistent with readTBQueue (gh-3, GHC#9539)
 
- 
Add flushTQueue to Control.Concurrent.STM.TQueue (gh-1)
 
- 
Add flushTBQueue to Control.Concurrent.STM.TBQueue (gh-1)
 
- 
Add signalTSemN operation (gh-5)
 
2.4.4.1  Dec 2015
2.4.4  Dec 2014
- 
Add support for base-4.8.0.0
 
- 
Tighten Safe Haskell bounds
 
- 
Add mkWeakTMVar to Control.Concurrent.STM.TMVar
 
- 
Add @since-annotations
 
2.4.3  Mar 2014
- 
Update behaviour of newBroadcastTChanIO to match
newBroadcastTChan in causing an error on a read from the
broadcast channel
 
- 
Add mkWeakTVar
 
- 
Add isFullTBQueue
 
- 
Fix TChan created via newBroadcastTChanIO to throw same
exception on a readTChan as when created via newBroadcastTChan
 
- 
Update to Cabal 1.10 format
 
2.4.2  Nov 2012
- 
Add Control.Concurrent.STM.TSem (transactional semaphore)
 
- 
Add Applicative/Alternative instances of STM for GHC <7.0
 
- 
Throw proper exception when readTChan called on a broadcast TChan
 
2.4  Jul 2012
- 
Add Control.Concurrent.STM.TQueue (a faster TChan)
 
- 
Add Control.Concurrent.STM.TBQueue (a bounded channel based on TQueue)
 
- 
Add Eq instance for TChan
 
- 
Add newBroadcastTChan and newBroadcastTChanIO
 
- 
Some performance improvements for TChan
 
- 
Add cloneTChan