packages feed

concurrency 1.4.0.0 → 1.4.0.1

raw patch · 3 files changed

+276/−293 lines, 3 filesdep ~exceptionsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: exceptions

API changes (from Hackage documentation)

Files

− CHANGELOG.markdown
@@ -1,289 +0,0 @@-Release Notes-=============--All notable changes to this project will be documented in this file.--This project is versioned according to the [Package Versioning Policy](https://pvp.haskell.org), 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 of `MonadConc`-  possible.--    - Old: `MonadConc m => proxy m -> Ticket m a -> a`-    - New: `MonadConc m => Proxy m -> Ticket m a -> a`--[concurrency-1.4.0.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.4.0.0---------------------------------------------------------------------------------------------------------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`, and `withAsyncBoundN` functions for doing-  asynchronous actions on bound threads. (#126)--### Control.Monad.Conc.Class--- `MonadConc` now supports bound threads with new `forkOS`, `forkOSN`, and `isCurrentThreadBound`-  functions. (#126)--- New `runInBoundThread` and `runInUnboundThread` functions. (#126)--- The `rtsSupportsBoundThreads` definition is now the definition from Control.Concurrent-  re-exported, not just `False`. (#126)--Note that bound threads are only supported if you compile with GHC and link with -threaded.--[concurrency-1.3.0.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.3.0.0---------------------------------------------------------------------------------------------------------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`, and `withAsyncOnWithUnmaskN` (#148).--[concurrency-1.2.3.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.2.3.0---------------------------------------------------------------------------------------------------------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 (and `toIsConc`, `fromIsConc` functions), where a value of type `IsConc m a`-  can only be constructed if `m` has a `MonadConc` instance.  Its `STM` type is `IsSTM (STM m)`.-  (#144)--- The provided transformer instances now use the `modifyCRefCAS_` of the underlying monad, rather-  than the default definition in terms of `modifyCRefCAS`.--### Control.Monad.STM.Class--- A new `IsSTM` type (and `toIsSTM`, `fromIsSTM` functions), where a value of type `IsSTM m a` can-  only be constructed if `m` has a `MonadSTM` instance. (#144)--[concurrency-1.2.2.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.2.2.0---------------------------------------------------------------------------------------------------------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 of `MonadConc` in `forkWithUnmask` and-  `forkOnWithUnmask` in 1.2.1.1 (#134).--[concurrency-1.2.1.2]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.2.1.2---------------------------------------------------------------------------------------------------------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 of `MonadConc` now names threads with `GHC.Conc.labelThread`, so thread names-  now appear in debugging traces of normal execution.--[concurrency-1.2.1.1]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.2.1.1---------------------------------------------------------------------------------------------------------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`, and-  `asyncOnWithUnmaskN` (#125).--[concurrency-1.2.1.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.2.1.0---------------------------------------------------------------------------------------------------------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 a `MonadPlus` constraint.-- The `orElse` and `retry` functions have been promoted to top-level definitions, and are aliases-  for `mplus` and `mzero`.--[concurrency-1.2.0.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.2.0.0---------------------------------------------------------------------------------------------------------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 using `tryReadMVar` instead of a combination of-  `tryTakeMVar` and `putMVar`. It no longer modifies the contents of the `MVar` and can no longer-  block.--### Miscellaneous--- There is now a changelog.--[concurrency-1.1.2.1]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.1.2.1---------------------------------------------------------------------------------------------------------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 is `cancel` inside an-      uninterruptible mask.-    - `replicateConcurrently` function, which performs an action many-      times in separate threads.-    - `concurrently_`, `mapConcurrently_`, `forConcurrently_`, and-      `replicateConcurrently_` functions, which discard the result of-      the non-_ version.-- New instances:-    - `Semigroup` instance for `Concurrently` when built with base 4.9.-    - `Monoid` instance for `Concurrently`.--### Control.Monad.Conc.Class--- The `mask_` and `uninterruptibleMask_` functions from Control.Monad.Catch are now re-exported.--### Changed--- The `cancel` and the `withAsync` functions now block until the `Async` action terminates, to match-  changes in the main async package.--### Miscellaneous--- Every definition, class, and instance now has a Haddock "@since" annotation.--[concurrency-1.1.2.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.1.2.0---------------------------------------------------------------------------------------------------------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__.--[concurrency-1.1.1.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.1.1.0---------------------------------------------------------------------------------------------------------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 defines `tryReadMVar`, a non-blocking version of `readMVar` akin to-  `tryTakeMVar`.-- The `MonadConc` class no longer defines `_concMessage`, there is no alternative provided, it is-  just gone.--[concurrency-1.1.0.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.1.0.0---------------------------------------------------------------------------------------------------------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.--[concurrency-1.0.0.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.0.0.0
+ CHANGELOG.rst view
@@ -0,0 +1,272 @@+Release Notes+=============++This project is versioned according to the PVP_, the *de facto*+standard Haskell versioning scheme.++.. _PVP: https://pvp.haskell.org/+++1.4.0.1 (2018-02-26)+--------------------++* Git: :tag:`concurrency-1.4.0.1`+* Hackage: :hackage:`concurrency-1.4.0.1`++Miscellaneous+~~~~~~~~~~~~~++* The upper bound on :hackage:`exceptions` is <0.10.+++1.4.0.0 (2018-01-19)+--------------------++* Git: :tag:`concurrency-1.4.0.0`+* Hackage: :hackage:`concurrency-1.4.0.0`++Changed+~~~~~~~++* ``Control.Monad.Conc.Class.peekTicket'`` has a more concrete type,+  to make deriving newtype instances of ``MonadConc`` possible:++    * Old: ``MonadConc m => proxy m -> Ticket m a -> a``+    * New: ``MonadConc m => Proxy m -> Ticket m a -> a``+++1.3.0.0 - The Bound Thread Release (2017-12-23)+-----------------------------------------------++* Git: :tag:`concurrency-1.3.0.0`+* Hackage: :hackage:`concurrency-1.3.0.0`++**Note:** bound threads are only supported if you compile with GHC and+link with -threaded.++Added+~~~~~++* (:pull:`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:`145`) Bound thread functions in ``MonadConc``:++    * ``Control.Monad.Conc.Class.forkOS``+    * ``Control.Monad.Conc.Class.forkOSN``+    * ``Control.Monad.Conc.Class.isCurrentThreadBound``++* (:pull:`145`) Helper functions for bound threads:++    * ``Control.Monad.Conc.Class.runInBoundThread``+    * ``Control.Monad.Conc.Class.runInUnboundThread``++Changed+~~~~~~~++* (:pull:`145`) ``Control.Monad.Conc.Class.rtsSupportsBoundThreads``+  is a re-export from ``Control.Concurrent``.+++1.2.3.0 (2017-11-30)+--------------------++* Git: :tag:`concurrency-1.2.3.0`+* Hackage: :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: :tag:`concurrency-1.2.2.0`+* Hackage: :hackage:`concurrency-1.2.2.0`++Added+~~~~~++* (:issue:`144`) ``IsConc`` and ``IsSTM`` 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 of ``modifyCRefCAS``.+++1.2.1.2 (2017-10-14)+--------------------++* Git: :tag:`concurrency-1.2.1.2`+* Hackage: :hackage:`concurrency-1.2.1.2`++Fixed+~~~~~++* (:issue:`134`) ``Control.Monad.Conc.Class.forkWithUnmask`` and+  ``forkOnWithUnmask`` for the ``IO`` instance does not infinitely+  loop (bug introduced in :tag:`concurrency-1.2.1.1`).+++1.2.1.1 (2017-10-11)+--------------------++* Git: :tag:`concurrency-1.2.1.1`+* Hackage: :hackage:`concurrency-1.2.1.1`++Changed+~~~~~~~++* Named threads for ``IO`` are implemented with+  ``GHC.Conc.labelThread``.+++1.2.1.0 (2017-10-02)+--------------------++* Git: :tag:`concurrency-1.2.1.0`+* Hackage: :hackage:`concurrency-1.2.1.0`++Added+~~~~~++* (:pull:`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: :tag:`concurrency-1.2.0.0`+* Hackage: :hackage:`concurrency-1.2.0.0`++Changed+~~~~~~~++* ``MonadPlus`` is a superclass of ``MonadSTM``.++* ``Control.Monad.STM.Class.orElse`` is a top-level alias for+  ``mplus``.++* ``Control.Monad.STM.Class.retry`` is a top-level alias for+  ``mzero``.+++1.1.2.1 (2017-06-07)+--------------------++* Git: :tag:`concurrency-1.1.2.1`+* Hackage: :hackage:`concurrency-1.1.2.1`++Changed+~~~~~~~++* ``Control.Concurrent.Classy.MVar.isEmptyMVar`` does not briefly+  empties the ``MVar``, and does not block.+++1.1.2.0 (2017-04-05)+--------------------++* Git: :tag:`concurrency-1.1.2.0`+* Hackage: :hackage:`concurrency-1.1.2.0`++Added+~~~~~++* Missing functions copied from :hackage:`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 a ``Semigroup``+  instance when built with :hackage:`base` >= 4.9.++* ``Control.Concurrent.Classy.Async.Concurrently`` has a ``Monoid``+  instance.++* ``Control.Monad.Conc.Class`` re-exports+  ``Control.Monad.Catch.mask_`` and ``uninterruptibleMask_``.++Changed+~~~~~~~++* (:pull:`77`) To match changes in :hackage:`async`,+  ``Control.Concurrent.Classy.Async.cancel`` and ``withAsync`` block+  until the ``Async`` 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: :tag:`concurrency-1.1.1.0`+* Hackage: :hackage:`concurrency-1.1.1.0`++Added+~~~~~++* The ``Control.Concurrent.Classy.Async`` module.+++1.1.0.0 (2017-02-21)+--------------------++* Git: :tag:`concurrency-1.1.0.0`+* Hackage: :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: :tag:`concurrency-1.0.0.0`+* Hackage: :hackage:`concurrency-1.0.0.0`++Added+~~~~~++* Everything.
concurrency.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                concurrency-version:             1.4.0.0+version:             1.4.0.1 synopsis:            Typeclasses, functions, and data types for concurrency and STM.  description:@@ -22,7 +22,7 @@ copyright:           (c) 2016--2017 Michael Walker category:            Concurrency build-type:          Simple-extra-source-files:  README.markdown CHANGELOG.markdown+extra-source-files:  README.markdown CHANGELOG.rst cabal-version:       >=1.10  source-repository head@@ -32,7 +32,7 @@ source-repository this   type:     git   location: https://github.com/barrucadu/dejafu.git-  tag:      concurrency-1.4.0.0+  tag:      concurrency-1.4.0.1  library   exposed-modules:     Control.Monad.Conc.Class@@ -58,7 +58,7 @@   build-depends:       base              >=4.8  && <5                      , array             >=0.5  && <0.6                      , atomic-primops    >=0.8  && <0.9-                     , exceptions        >=0.7  && <0.9+                     , exceptions        >=0.7  && <0.10                      , monad-control     >=1.0  && <1.1                      , mtl               >=2.2  && <2.3                      , stm               >=2.4  && <2.5