Changelog for extensible-effects-concurrent-0.21.0
Changelog for extensible-effects-concurrent
0.21.0
-
Add more log message renderers
- Multiple extra time stamp formats
- RFC3164
-
Add IO log writer for unix domain sockets, e.g.
/dev/log -
Add IO log writer for UDP
-
Extract and simplify the async logger
-
Extract and simplify the file log writers
0.20.0
- Rewrite Logging API so that usage is not as bloated
0.19.1
- Fix Travis build
- Fix typos
- Fix README
0.19.0
- Adapt to extensible-effects-concurrent 5.0.0.1
- Update to Stackage LTS-13.13
- Improve NIX expressions
- Rewrite the logging API
- Improve Documentation
- Add Examples
0.18.1
- Fix inappropriate
LinkedProcessCrashedinterrupt when a process exits withNotRecovered ProcessFinished
0.18.0
- Split-up and replace
spawnLinkObservationQueuewith a simpler (but more verbose) alternative
0.17.0
- Rename misspelled
spawnLinkObserverationQueuetospawnLinkObservationQueue
0.16.1
- Export
ObserverRegistryconstructors for custom event registration handling
0.16.0
API Stabilization and cleanup release with major API changes.
-
Replace
Control.Eff.Concurrent.Api.ServerwithControl.Eff.Concurrent.Api.Server2and renameControl.Eff.Concurrent.Api.Server2toControl.Eff.Concurrent.Api.Server -
Rewrite
Observerand related modules likeObserver.Queue- Remove all type classes
- Rely on
Server2 - Remove
CallBackObserver - Remove the observer support code in
Server2
-
Remove the
SchedulerProxyparameter and tell library users to enableAllowAmbiguousTypesandTypeApplications- Remove dependent support code like
HasScheduler
- Remove dependent support code like
0.15.0
- Add
ApiRequestandReplytypes - Add
RequestOriginwhich can be used inServer2based Api servers to queue and defer replies toCalls
0.14.3
- Export the functions introduced in 0.14.2 in
Control.Eff.Concurrent.
0.14.2
- Add
Server2functions to spawn and link - Add a
Server2function to defer the reply to aCalls 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
MonadCatchconstraints in theObservationQueueReaderfunctions, and useInterruptsinstead
0.13.0
- Fix bad constraints in
Queueobserver
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
Linking andMonitoring. - Make the distinction between recoverable and non-recoverable exit explicit in
the type parameter of
ExitReason, and introduceinterruptXXXXfunctions in addition toshutdownXXXXfunctions, to throw recoverable exits. - Merge
ShutdownRequestandExitReason - Rename
receiveLoopSuchThattoreceiveSelectedLoop - Pass the exit reason to the callback passed to
receiveSelectedLoop - Rename
receiveMessagetoreceiveAnyMessage - Rename
receiveAnyLooptoreceiveAnyLoop - Pass the exit reason to the callback passed to
receiveAnyLoop - Rename
receiveMessagetoreceiveAnyMessage - Rename
receiveMessageAstoreceiveMessage - Rename
receiveLooptoreceiveLoop - 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,MonadCatchandMonadMask - Fix the scheduler shutdown to not always run into the cancellation timeout
0.11.1
- Fix a compilation error
0.11.0
- Change the return type of
spawnCallbackObserverfromBooltoApiServerCmd
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
ReceiveMessageProcessaction - Rename
ReceiveMessageSuchThattoReceiveSelectedMessage - Improve some Show instances, e.g. ProcessId
- Rewrite Logging API:
- Vastly simplified API
0.9.0
- Make
ForkIOSchedulerfaster and more robust - Add
ExitReason - Add
ProcessState - Add
ShutdownRequesttype - Rewrite logging to be a
Readerof aLogWriter - Remove pure logging, the
Logs...constraint must be accompanied byLifted IO(orMonadIO) in many log functions most prominentlylogMsg - Add a
lmDistancefield inLogMessage - Add
increaseLogMessageDistanceanddropDistantLogMessagesusing the newlmDistancefield - Add a newtype for the argument to selective receives:
MessageSelector - Add a
makeReferencefunction toProcesswhich will return process local uniqueInts - Rename
spawnServertospawnServerWithEffectsand add a simpler version ofspawnServerWithEffectscalledspawnServer - Make all
ApiHandlerhandler callbacks optional (by changing the type toMaybe ...) ApiHandlermust now return anApiServerCmd.- Add
ApiServerCmdwhich allows handler functions to leave to server loop without exiting the process - Fix
Observer.Queue - Rename fields in
ApiHandler - Add smart constructors for
ApiHandler
0.8.0
- Add selective receive
- Complete
Api.Serverrewrite (simplification) - Move examples to
./examples/and add executables to the cabal file
0.7.3
- Add
withFrozenCallStackto exposed functions - Add
ObserverStatetype alias
0.7.2
- Add
ObservationQueueutility - Fix missing re-exports from
Control.Eff.Concurrent.Api.ClientinControl.Eff.Concurrentintroduced in recent versions
0.7.1
- Improve call-stack support in log messages
- Expose
setLogMessageTimestampandsetLogMessageThreadId
0.7.0
- Remove the parameter from
closeLogChannelAfterthat had the optional: last-log-message-before-channel-closes
0.6.4
- Add
whereIsServer
0.6.3
- Add
ServerReadertype alias
0.6.2
- Fix bad
containersversion boundary
0.6.1
- Improve Experimental Nix Expressions
0.6.0
- Rewrite Logging
- Improve Experimental Nix Expressions
0.5.0.0
- Switch to
extensible-effectsversion3.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-effectsversion3.0.0.0 - Improve single threaded scheduler to be more space efficient
- Add some strictness annotations
- Add
Control.Eff.Loopwith (hopefully) constant spaceforeverandreplicateM_ - 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
yieldProcesstoexecuteAndResumeOrExit - Add an actual
yieldProcess, that behaves likeyield - Change the return type of function to
()where applicable to avoid all these_ <- sendMessage...orvoid $ sendMessagedances. - Add a simple logging observer:
spawnLoggingObserver - Removed
Control.Eff.Interactive - Removed most functions in
Control.Eff.ExceptionExtra - Make
sendMessageand the reply incallstrict with respect to the message payload
0.2.0.3
- Improve 'Api' documentation
- Improve
LogChannelAPI - Reorganize unit tests
- Hopefully tune travis ci test parameter enough to get a stable build result
0.2.0.2
- Fix minor
stack uploadcomplaints 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
SpawntoProcess - Merge
MessagePassingandProcess - Add initial test suite
- Fix shutdown error in
ForkIoScheduler - Rename
DispatchertoScheduler - Add
receiveAnyLoopfunction toProcess - Change
Api.Serverserveto loop instead of handling just one request - Allow combining multiple
ApiHandlersuch that one process can handle multiple APIs
0.1.3.0
- Rename and split
GenServertoApi,Api.Client,Api.Server - Add
registerServer,callRegisteredandcastRegistered - Remove the variant of
castthat 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