capataz uses Semantic Versioning. The change log is available on GitHub.
- Support GHC-8.6.3.
- Deprecate
buildLogWorkerSpec
in favour ofbuildLogWorkerSpec1
which takesNatural
instead ofInt
for compatibility withstm-2.5
. - Deprecate
buildLogWorkerOptions
in favour ofbuildLogWorkerOptions1
which takesNatural
instead ofInt
for compatibility withstm-2.5
.
BREAKING CHANGES
- Allow the creation of Supervision Trees on Monad Transformer stacks 🎉
- Move to latest stable stackage snapshot (lts-11.10)
- Remove
protolude
in favor ofrio
(closes #9) - Add convinience module
Capataz
- Add
Control.Concurrent.Capataz.Util
which provideProcessSpec
for normal use-cases - Add
buildLogWorkerSpec
andbuildLogWorkerOptions
which create a dedicated supervised thread that logs messages (sits on top ofrio
logger utilities) - Add
terminateCapataz
andterminateCapataz_
, these functions replace the re-exportedrunTeardown
- Add re-export of
TeardownResult
from theteardown
package - Update the
capataz-simple-example
project to usetyped-process
andrio
- Add export for
WorkerName
andSupervisorName
aliases - Add new dependency
prettyprinter
- Add new dependency
pretty-show
to prettify exceptions - Add
Pretty
instance forCapatazEvent
- Add
Display
instance forCapatazEvent
- Add
ProcessThreadId
newtype to better renderThreadId
values - Add
buildWorkerOptions1
andworkerSpec1
(closes #17) - Move to CircleCI
- Bump bounds of
async
dependency
BREAKING CHANGES
- Introduction of the
Process
type which is composed of bothSupervisor
andWorker
types - Replace
defWorkerSpec
in favor ofworkerSpec
andworkerSpecWithDefaults
to build static workers - Replace of
defWorkerOptions
in favor ofbuildWorkerOptions
andbuildWorkerOptionsWithDefaults
to build dynamic workers - Replace
terminateWorker
in favor ofterminateProcess
- Add
supervisorSpec
,supervisorSpecWithDefaults
to build static supervision trees - Add
forkSupervisor
,buildSupervisorOptions
andbuildSupervisorOptionsWithDefaults
to build dynamic supervision trees - Replace usage of default records semantics in favor of Lenses
- Add
joinCapatazThread
to avoid providing direct access to async of root supervision tree - Add
getSupervisorProcessId
to access theProcessId
of a givenSupervisor
record (for dynamic termination) - Add
getSupervisorAsync
to access theAsync ()
record of a supervisor process thread - Add
getCapatazTeardown
to access theTeardown
record of the capataz system - Move
CapatazEvent
records to new moduleControl.Concurrent.Capataz.Event
to avoid requiringDuplicateRecordFields
extension on API users - Remove
WorkerAction
alias as it is used for library development documentation - Add capataz-repo-watcher example to showcase static supervision trees
- Update capataz-simple-example unix-process example
forkCapataz
signature now requires name for root supervisor
- Bump bounds of
tasty
dependency
- Bump bounds of
tasty
dependency - Bump bounds of
tasty-hunit
dependency
- First release of capataz
- Support for supervising simple worker
IO ()
sub-routines