Changelog for extensible-effects-concurrent-0.18.1
Changelog for extensible-effects-concurrent
0.18.1
- Fix inappropriate
LinkedProcessCrashed
interrupt when a process exits withNotRecovered ProcessFinished
0.18.0
- Split-up and replace
spawnLinkObservationQueue
with a simpler (but more verbose) alternative
0.17.0
- Rename misspelled
spawnLinkObserverationQueue
tospawnLinkObservationQueue
0.16.1
- Export
ObserverRegistry
constructors for custom event registration handling
0.16.0
API Stabilization and cleanup release with major API changes.
-
Replace
Control.Eff.Concurrent.Api.Server
withControl.Eff.Concurrent.Api.Server2
and renameControl.Eff.Concurrent.Api.Server2
toControl.Eff.Concurrent.Api.Server
-
Rewrite
Observer
and related modules likeObserver.Queue
- Remove all type classes
- Rely on
Server2
- Remove
CallBackObserver
- Remove the observer support code in
Server2
-
Remove the
SchedulerProxy
parameter and tell library users to enableAllowAmbiguousTypes
andTypeApplications
- Remove dependent support code like
HasScheduler
- Remove dependent support code like
0.15.0
- Add
Api
Request
andReply
types - Add
RequestOrigin
which can be used inServer2
based Api servers to queue and defer replies toCall
s
0.14.3
- Export the functions introduced in 0.14.2 in
Control.Eff.Concurrent
.
0.14.2
- Add
Server2
functions to spawn and link - Add a
Server2
function to defer the reply to aCall
s called:handleCallsDeferred
0.14.1
- Add Server2 based observation handling with
handleObservations
0.14.0
- Fix/Improve Server2
0.13.2
- Add
ProcessFinished
- Add
tryUninterrupted
- Add simpler
Server2
0.13.1
- Remove misguided
MonadCatch
constraints in theObservationQueueReader
functions, and useInterrupts
instead
0.13.0
- Fix bad constraints in
Queue
observer
0.12.2
- Fix some compiler warnings
0.12.1
- Fix build errors with GHC-8.6
0.12.0
- Add implicit SchedulerProxy
- Add flushMessages
- Add receiving with timeout
- Add process
Link
ing andMonitoring
. - Make the distinction between recoverable and non-recoverable exit explicit in
the type parameter of
ExitReason
, and introduceinterruptXXXX
functions in addition toshutdownXXXX
functions, to throw recoverable exits. - Merge
ShutdownRequest
andExitReason
- Rename
receiveLoopSuchThat
toreceiveSelectedLoop
- Pass the exit reason to the callback passed to
receiveSelectedLoop
- Rename
receiveMessage
toreceiveAnyMessage
- Rename
receiveAnyLoop
toreceiveAnyLoop
- Pass the exit reason to the callback passed to
receiveAnyLoop
- Rename
receiveMessage
toreceiveAnyMessage
- Rename
receiveMessageAs
toreceiveMessage
- Rename
receiveLoop
toreceiveLoop
- Pass the exit reason to the callback passed to
receiveAnyLoop
- Remove
SchedulerShuttingDown
- Improve logging for exceptions in
ForkIOScheduler
- Fix a bug in the logging system that caused all log filters to be forgotten
when using unliftings such as
MonadBaseControl
,MonadThrow
,MonadCatch
andMonadMask
- Fix the scheduler schutdown to not always run into the cancellation timeout
0.11.1
- Fix a compilation error
0.11.0
- Change the return type of
spawnCallbackObserver
fromBool
toApiServerCmd
0.10.0
- Re-introduce a Logs Effect but keep the LogWriter Reader
- Get rid of the LogWriterProxy and the implicit argument
- Make logging stricter: require log message to be NFData instances
0.9.2
- Try to adapt the dependency versions to make hackage happy again
0.9.1
- Add smart constructors for
MessageSelector
- Remove
ReceiveMessage
Process
action - Rename
ReceiveMessageSuchThat
toReceiveSelectedMessage
- Improve some Show instances, e.g. ProcessId
- Rewrite Logging API:
- Vastly simplified API
0.9.0
- Make
ForkIOScheduler
faster and more robust - Add
ExitReason
- Add
ProcessState
- Add
ShutdownRequest
type - Rewrite logging to be a
Reader
of aLogWriter
- Remove pure logging, the
Logs...
constraint must be accompanied byLifted IO
(orMonadIO
) in many log functions most prominentlylogMsg
- Add a
lmDistance
field inLogMessage
- Add
increaseLogMessageDistance
anddropDistantLogMessages
using the newlmDistance
field - Add a newtype for the argument to selective receives:
MessageSelector
- Add a
makeReference
function toProcess
which will return process local uniqueInt
s - Rename
spawnServer
tospawnServerWithEffects
and add a simpler version ofspawnServerWithEffects
calledspawnServer
- Make all
ApiHandler
handler callbacks optional (by changing the type toMaybe ...
) ApiHandler
must now return anApiServerCmd
.- Add
ApiServerCmd
which allows handler functions to leave to server loop without exitting the process - Fix
Observer.Queue
- Rename fields in
ApiHandler
- Add smart constructors for
ApiHandler
0.8.0
- Add selective receive
- Complete
Api.Server
rewrite (simplification) - Move examples to
./examples/
and add executables to the cabal file
0.7.3
- Add
withFrozenCallStack
to exposed functions - Add
ObserverState
type alias
0.7.2
- Add
ObservationQueue
utility - Fix missing re-exports from
Control.Eff.Concurrent.Api.Client
inControl.Eff.Concurrent
introduced in recent versions
0.7.1
- Improve call-stack support in log messages
- Expose
setLogMessageTimestamp
andsetLogMessageThreadId
0.7.0
- Remove the parameter from
closeLogChannelAfter
that had the optional: last-log-message-before-channel-closes
0.6.4
- Add
whereIsServer
0.6.3
- Add
ServerReader
type alias
0.6.2
- Fix bad
containers
version boundary
0.6.1
- Improve Experimental Nix Expressions
0.6.0
- Rewrite Logging
- Improve Experimental Nix Expressions
0.5.0.0
- Switch to
extensible-effects
version3.1.0.0
- Bump to stackage LTS-12.9
- Add
Control.Eff.Log.MessageFactory
- Add
Control.Eff.Log.Message
0.4.0.0
- Switch to
extensible-effects
version3.0.0.0
- Improve single threaded scheduler to be more space efficient
- Add some strictness annotations
- Add
Control.Eff.Loop
with (hopefully) constant spaceforever
andreplicateM_
- Add
Control.Eff.Concurrent
, a module that conveniently re-exports most library functions.
0.3.0.2
- Improve single threaded scheduler such that the main process can return a value
0.3.0.1
- Fix a race condition in the SchedulerSession shutdown
- Improve the interactive scheduler session API
- Rename
SchedulerVar
->SchedulerSession
- Remove
submitPrint
0.3.0.0
- Add support for running and interacting with a scheduler and it's processes from IO, for example from ghci
- Rename
yieldProcess
toexecuteAndResumeOrExit
- Add an actual
yieldProcess
, that behaves likeyield
- Change the return type of function to
()
where applicable to avoid all these_ <- sendMessage...
orvoid $ sendMessage
dances. - Add a simple logging observer:
spawnLoggingObserver
- Removed
Control.Eff.Interactive
- Removed most functions in
Control.Eff.ExceptionExtra
- Make
sendMessage
and the reply incall
strict with respect to the message payload
0.2.0.3
- Improve 'Api' documentation
- Improve
LogChannel
API - Reorganize unit tests
- Hopefully tune travis ci test parameter enough to get a stable build result
0.2.0.2
- Fix minor
stack upload
complaints about the cabal file
0.2.0.1
- Simplify IO Exception handling in
ForkIoScheduler
, - Add many unit tests for exception, exit and shutdown
0.2.0.0
- Add
Spawn
toProcess
- Merge
MessagePassing
andProcess
- Add initial test suite
- Fix shutdown error in
ForkIoScheduler
- Rename
Dispatcher
toScheduler
- Add
receiveAnyLoop
function toProcess
- Change
Api.Server
serve
to loop instead of handling just one request - Allow combining multiple
ApiHandler
such that one process can handle multiple APIs
0.1.3.0
- Rename and split
GenServer
toApi
,Api.Client
,Api.Server
- Add
registerServer
,callRegistered
andcastRegistered
- Remove the variant of
cast
that returns a boolean
0.1.2.2
- Try to fix version bounds for hackage
0.1.2.1
- Add more documentation
- Simplify Scheduler API
- Make more exception safe
0.1.2.0
- Add Observer module
- Implement Exception handling
- Improve Scheduler shutdown
- Add logging support via the logging-effect library
0.1.1.0
- Substantial API reorganization
- Rename/Move modules
0.1.0.1
- Stack/Cabal/Github Cosmetics
- Travis build job
0.1.0.0
- Initial Version