Changelog of @hackage/extensible-effects-concurrent 0.14.3

Changelog for extensible-effects-concurrent

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 a Calls 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 the ObservationQueueReader functions, and use Interrupts 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 Linking and Monitoring.
  • Make the distinction between recoverable and non-recoverable exit explicit in the type parameter of ExitReason, and introduce interruptXXXX functions in addition to shutdownXXXX functions, to throw recoverable exits.
  • Merge ShutdownRequest and ExitReason
  • Rename receiveLoopSuchThat to receiveSelectedLoop
  • Pass the exit reason to the callback passed to receiveSelectedLoop
  • Rename receiveMessage to receiveAnyMessage
  • Rename receiveAnyLoop to receiveAnyLoop
  • Pass the exit reason to the callback passed to receiveAnyLoop
  • Rename receiveMessage to receiveAnyMessage
  • Rename receiveMessageAs to receiveMessage
  • Rename receiveLoop to receiveLoop
  • 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 and MonadMask
  • 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 from Bool to ApiServerCmd

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 to ReceiveSelectedMessage
  • 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 a LogWriter
  • Remove pure logging, the Logs... constraint must be accompanied by Lifted IO (or MonadIO) in many log functions most prominently logMsg
  • Add a lmDistance field in LogMessage
  • Add increaseLogMessageDistance and dropDistantLogMessages using the new lmDistance field
  • Add a newtype for the argument to selective receives: MessageSelector
  • Add a makeReference function to Process which will return process local unique Ints
  • Rename spawnServer to spawnServerWithEffects and add a simpler version of spawnServerWithEffects called spawnServer
  • Make all ApiHandler handler callbacks optional (by changing the type to Maybe ...)
  • ApiHandler must now return an ApiServerCmd.
  • 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 in Control.Eff.Concurrent introduced in recent versions

0.7.1

  • Improve call-stack support in log messages
  • Expose setLogMessageTimestamp and setLogMessageThreadId

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 version 3.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 version 3.0.0.0
  • Improve single threaded scheduler to be more space efficient
  • Add some strictness annotations
  • Add Control.Eff.Loop with (hopefully) constant space forever and replicateM_
  • 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 to executeAndResumeOrExit
  • Add an actual yieldProcess, that behaves like yield
  • Change the return type of function to () where applicable to avoid all these _ <- sendMessage... or void $ sendMessage dances.
  • Add a simple logging observer: spawnLoggingObserver
  • Removed Control.Eff.Interactive
  • Removed most functions in Control.Eff.ExceptionExtra
  • Make sendMessage and the reply in call 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 to Process
  • Merge MessagePassing and Process
  • Add initial test suite
  • Fix shutdown error in ForkIoScheduler
  • Rename Dispatcher to Scheduler
  • Add receiveAnyLoop function to Process
  • 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 to Api, Api.Client, Api.Server
  • Add registerServer, callRegistered and castRegistered
  • 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