2017-04-07 20:16:08 +03:00
|
|
|
Release Notes
|
|
|
|
=============
|
|
|
|
|
2017-04-07 21:48:37 +03:00
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
|
2017-04-07 20:16:08 +03:00
|
|
|
This project is versioned according to the [Package Versioning Policy](https://pvp.haskell.org), the
|
|
|
|
*de facto* standard Haskell versioning scheme.
|
|
|
|
|
2017-10-11 11:17:13 +03:00
|
|
|
|
2017-11-05 04:53:22 +03:00
|
|
|
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
|
2017-11-05 04:33:43 +03:00
|
|
|
|
|
|
|
### Control.Monad.Conc.Class
|
|
|
|
|
2017-11-05 04:47:30 +03:00
|
|
|
- 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)`.
|
2017-11-05 04:53:22 +03:00
|
|
|
(#144)
|
2017-11-05 04:47:30 +03:00
|
|
|
|
2017-11-05 04:33:43 +03:00
|
|
|
- The provided transformer instances now use the `modifyCRefCAS_` of the underlying monad, rather
|
|
|
|
than the default definition in terms of `modifyCRefCAS`.
|
|
|
|
|
2017-11-05 04:47:30 +03:00
|
|
|
### Control.Monad.STM.Class
|
|
|
|
|
|
|
|
- A new `IsSTM` type (and `toIsSTM`, `fromIsSTM` functions), where a value of type `IsSTM m a` can
|
2017-11-05 04:53:22 +03:00
|
|
|
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
|
2017-11-05 04:47:30 +03:00
|
|
|
|
2017-11-05 04:33:43 +03:00
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2017-10-14 07:51:47 +03:00
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2017-10-11 11:17:13 +03:00
|
|
|
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
|
2017-10-11 11:09:46 +03:00
|
|
|
|
|
|
|
### 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.
|
|
|
|
|
2017-10-11 11:17:13 +03:00
|
|
|
[concurrency-1.2.1.1]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.2.1.1
|
|
|
|
|
2017-10-11 11:09:46 +03:00
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
2017-04-07 20:16:08 +03:00
|
|
|
|
2017-10-02 14:37:45 +03:00
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2017-09-16 22:42:31 +03:00
|
|
|
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
|
2017-09-16 22:37:17 +03:00
|
|
|
|
|
|
|
### 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`.
|
|
|
|
|
2017-09-16 22:42:31 +03:00
|
|
|
[concurrency-1.2.0.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.2.0.0
|
|
|
|
|
2017-09-16 22:37:17 +03:00
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
1.1.2.1
|
2017-06-07 19:09:01 +03:00
|
|
|
-------
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
- **Date** 2017-06-07
|
|
|
|
- **Git tag** [concurrency-1.1.2.1][]
|
|
|
|
- **Hackage** https://hackage.haskell.org/package/concurrency-1.1.2.1
|
2017-04-07 20:16:08 +03:00
|
|
|
|
2017-04-08 00:55:54 +03:00
|
|
|
### 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.
|
|
|
|
|
2017-04-07 20:16:08 +03:00
|
|
|
### Miscellaneous
|
|
|
|
|
|
|
|
- There is now a changelog.
|
|
|
|
|
2017-06-07 19:09:01 +03:00
|
|
|
[concurrency-1.1.2.1]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.1.2.1
|
|
|
|
|
2017-04-07 20:16:08 +03:00
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
1.1.2.0
|
2017-04-07 20:16:08 +03:00
|
|
|
-------
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
- **Date** 2017-04-05
|
|
|
|
- **Git tag** [concurrency-1.1.2.0][]
|
|
|
|
- **Hackage** https://hackage.haskell.org/package/concurrency-1.1.2.0
|
2017-04-07 20:16:08 +03:00
|
|
|
|
|
|
|
### 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.
|
|
|
|
|
2017-04-07 21:48:37 +03:00
|
|
|
[concurrency-1.1.2.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.1.2.0
|
|
|
|
|
2017-04-07 20:16:08 +03:00
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
1.1.1.0
|
2017-04-07 20:16:08 +03:00
|
|
|
-------
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
- **Date** 2017-03-04
|
|
|
|
- **Git tag** [concurrency-1.1.1.0][]
|
|
|
|
- **Hackage** https://hackage.haskell.org/package/concurrency-1.1.1.0
|
2017-04-07 20:16:08 +03:00
|
|
|
|
|
|
|
### Miscellaneous
|
|
|
|
|
|
|
|
- The async-dejafu package has been pulled into this package as the Control.Concurrent.Classy.Async
|
|
|
|
module. async-dejafu is now __deprecated__.
|
|
|
|
|
2017-04-07 21:48:37 +03:00
|
|
|
[concurrency-1.1.1.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.1.1.0
|
|
|
|
|
2017-04-07 20:16:08 +03:00
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
1.1.0.0
|
2017-04-07 20:16:08 +03:00
|
|
|
-------
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
- **Date** 2017-02-21
|
|
|
|
- **Git tag** [concurrency-1.1.0.0][]
|
|
|
|
- **Hackage** https://hackage.haskell.org/package/concurrency-1.1.0.0
|
2017-04-07 20:16:08 +03:00
|
|
|
|
|
|
|
### 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.
|
|
|
|
|
2017-04-07 21:48:37 +03:00
|
|
|
[concurrency-1.1.0.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.1.0.0
|
|
|
|
|
2017-04-07 20:16:08 +03:00
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
1.0.0.0
|
2017-04-07 20:16:08 +03:00
|
|
|
-------
|
|
|
|
|
2017-08-19 18:38:23 +03:00
|
|
|
- **Date** 2016-09-10
|
|
|
|
- **Git tag** [concurrency-1.0.0.0][]
|
|
|
|
- **Hackage** https://hackage.haskell.org/package/concurrency-1.0.0.0
|
2017-04-07 20:16:08 +03:00
|
|
|
|
|
|
|
Initial release. Go read the API docs.
|
2017-04-07 21:48:37 +03:00
|
|
|
|
|
|
|
[concurrency-1.0.0.0]: https://github.com/barrucadu/dejafu/releases/tag/concurrency-1.0.0.0
|