Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion io-classes-mtl/io-classes-mtl.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ library
array,
mtl,

io-classes ^>= 1.0.0.0,
io-classes >= 1.0 && < 1.2,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no changelog entry for this change

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, because I will just add a revision on hackage, no need to bump its version.

si-timers,


Expand Down
6 changes: 5 additions & 1 deletion io-classes/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
# Revsion history of io-classes

## Next version
## 1.1.0.0

### Breaking changes

* `Control.Monad.Class.MonadMVar` is now deprecated in favour of
`Control.Concurrent.Class.MonadMVar`.

### Non breaking changes

* Fixed building haddocks with `ghc-8.10`.

## 1.0.0.1

### Non breaking changes
Expand Down
2 changes: 1 addition & 1 deletion io-classes/io-classes.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: io-classes
version: 1.0.0.1
version: 1.1.0.0
synopsis: Type classes for concurrency with STM, ST and timing
description:
IO Monad class hierarchy compatible with
Expand Down
13 changes: 7 additions & 6 deletions io-classes/src/Control/Monad/Class/MonadSTM/Internal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,6 @@ module Control.Monad.Class.MonadSTM.Internal
, labelTChanDefault
) where

-- $default-implementations
--
-- The default implementations are based on a `TVar` defined in the class. They
-- are tailored towards `IOSim` rather than instances which would like to derive
-- from `IO` or monad transformers.

import Prelude hiding (read)

import qualified Control.Concurrent.STM.TArray as STM
Expand Down Expand Up @@ -136,6 +130,13 @@ import GHC.Stack
import Numeric.Natural (Natural)


-- $default-implementations
--
-- The default implementations are based on a `TVar` defined in the class. They
-- are tailored towards `IOSim` rather than instances which would like to derive
-- from `IO` or monad transformers.


-- | The STM primitives parametrised by a monad `m`.
--
class (Monad m, Monad (STM m)) => MonadSTM m where
Expand Down
6 changes: 6 additions & 0 deletions io-sim/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Revsion history of io-sim

## 1.1.0.0

### Non breaking changes

* `io-classes-1.1.0.0`

## 1.0.0.1

### Non breaking changes
Expand Down
8 changes: 4 additions & 4 deletions io-sim/io-sim.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: io-sim
version: 1.0.0.1
version: 1.1.0.0
synopsis: A pure simulator for monadic concurrency with STM.
description:
A pure simulator monad with support of concurency (base, async), stm,
Expand Down Expand Up @@ -77,14 +77,14 @@ library
ScopedTypeVariables,
TypeFamilies
build-depends: base >=4.9 && <4.19,
io-classes ^>=1.0,
io-classes ^>=1.1,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would >= 1.0 && < 1.2 also suffice? I think building with 1.0 would cause some deprecation warnings to be emitted with respect to moving the MonadMVar module, but would it lead to actual build failures?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did this because io-sim:test would fail to compile with io-classes-1.0.

exceptions >=0.10,
containers,
nothunks,
parallel,
psqueues >=0.2 && <0.3,
strict-stm ^>=1.0,
si-timers ^>=1.0,
strict-stm >=1.0 && <1.2,
si-timers >=1.0 && <1.2,
time >=1.9.1 && <1.13,
quiet,
QuickCheck,
Expand Down
6 changes: 6 additions & 0 deletions si-timers/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## 1.1.0.0

### Non breaking changes

* `io-classes-1.1.0.0`

## 1.0.0.1

### Non breaking changes
Expand Down
4 changes: 2 additions & 2 deletions si-timers/si-timers.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: si-timers
version: 1.0.0.1
version: 1.1.0.0
synopsis: timers using SI units (seconds)
description:
Timers using SI units (seconds) which are safe on 32-bit platforms and
Expand Down Expand Up @@ -59,7 +59,7 @@ library
stm,
time >=1.9.1 && <1.13,

io-classes ^>=1.0
io-classes >=1.0 && <1.2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is the only change made to the package between 1.0.0.0 and 1.1.0.0, would a revision of 1.0.0.0 be sufficient? Or is it the goal to release the packages in lockstep with the same version for each package?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do release io-classes, io-sim, strict-stm, strict-mvar and si-timers (but not io-classes-mtl) in lock step, but I am fine to be more relaxed with lower bounds when I am sure things will still work.

if flag(asserts)
ghc-options: -fno-ignore-asserts

Expand Down
6 changes: 6 additions & 0 deletions strict-mvar/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Revsion history of strict-mvar

## 1.1.0.0

### Non breaking changes

* `io-classes-1.1.0.0`

Comment on lines +3 to +8
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

## 1.0.0.1

### Non breaking changes
Expand Down
4 changes: 2 additions & 2 deletions strict-mvar/strict-mvar.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: strict-mvar
version: 1.0.0.1
version: 1.1.0.0
synopsis: Strict MVars for IO and IOSim
description:
Strict @MVar@ interface compatible with
Expand Down Expand Up @@ -35,7 +35,7 @@ library
exposed-modules: Control.Concurrent.Class.MonadMVar.Strict
default-language: Haskell2010
build-depends: base >= 4.9 && <4.19,
io-classes ^>= 1.0
io-classes >= 1.0 && <1.2
ghc-options: -Wall
-Wno-unticked-promoted-constructors
-Wcompat
Expand Down
6 changes: 5 additions & 1 deletion strict-stm/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
# Changelog

## next version
## 1.1.0.0

### Breaking changes

* Removed deprecated API

### Non breaking changes

* `io-classes-1.1.0.0`

## 1.0.0.1

### Non breaking changes
Expand Down
4 changes: 2 additions & 2 deletions strict-stm/strict-stm.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: strict-stm
version: 1.0.0.1
version: 1.1.0.0
synopsis: Strict STM interface polymorphic over stm implementation.
description:
Strict STM interface provided on top of
Expand Down Expand Up @@ -59,7 +59,7 @@ library
array,
stm >= 2.5 && <2.6,

io-classes ^>= 1.0
io-classes >= 1.0 && <1.2
ghc-options: -Wall
-Wno-unticked-promoted-constructors
-Wcompat
Expand Down