Changelog of @hackage/distributed-process 0.7.7

2024-09-03 Laurent P. René de Cotret laurent.decotret@outlook.com 0.7.7

  • Bumped dependency bounds to support GHC 8.10.7 - GHC 9.10.1
  • Updated links to point to Distributed Haskell monorepo

2024-04-03 David Simmons-Duffin dsd@caltech.edu 0.7.6

  • Bumped hashable upper bound.

2018-06-12 David Simmons-Duffin dsd@caltech.edu 0.7.5

  • Bumped dependencies to build with ghc-9.8
  • Turn Serializable into a type synonym
  • Remove tests for ghc-8.8.* and earlier

2018-06-12 Facundo Domínguez facundo.dominguez@tweag.io 0.7.4

  • Added support for exceptions >= 0.10

2017-08-31 Facundo Domínguez facundo.dominguez@tweag.io 0.7.3

  • Drop support for ghc-7.8.* and earlier.

2017-08-31 Facundo Domínguez facundo.dominguez@tweag.io 0.7.2

  • Fixed build errors with ghc-8.2.1.

2017-08-22 Facundo Domínguez facundo.dominguez@tweag.io 0.7.1

  • Relax upper bounds in dependencies to build with ghc-8.2.1.

2017-08-21 Facundo Domínguez facundo.dominguez@tweag.io 0.7.0

  • Change type of message sent by say from a 3-tuple to a proper type (SayMessage) with a proper UTCTime. (#291)
  • Expose the MonitorRef in the withMonitor call.
  • Have unmonitor remove the monitor message in the inbox. (#268)
  • Remove Mx Data Tables. This API isn't used, is easy to replace with various other packages. (#276)
  • Add Ord instance to SpawnRef.

2016-10-13 Facundo Domínguez facundo.dominguez@tweag.io 0.6.6

  • Remove monitors from remote nodes when a process dies. (#295)

2016-10-12 Facundo Domínguez facundo.dominguez@tweag.io 0.6.5

  • Use only one connection to communicate between NCs. (#296, #297)
  • Improve documentation of CQueue.
  • Implement bidirectional multimaps for links and monitors. (#293, #294)
  • Fix various warnings. (#292)
  • Fix some of the intermittent failures in tests.
  • Improve error messages when node controllers receive invalid requests. (#290)

2016-06-09 Facundo Domínguez facundo.dominguez@tweag.io 0.6.4

  • Fixup build errors.

2016-06-09 Facundo Domínguez facundo.dominguez@tweag.io 0.6.3

  • Relax template-haskell upper bound.

2016-06-09 Facundo Domínguez facundo.dominguez@tweag.io 0.6.2

  • Provide compatibility with ghc-8.0.1
  • Remove dependency on ghc-prim.
  • Don't throw exceptions asynchronously.
  • Bump upper bounds of dependencies.
  • Fix exception handling in callLocal.
  • Have spawnLocal inherit the masking state of the caller.
  • Have nsend send unencoded messages to local processes.

2016-03-03 Facundo Domínguez facundo.dominguez@tweag.io 0.6.1

  • Implement MonadCatch, MonadThrow, MonadMask for Process.

2016-02-18 Facundo Domínguez facundo.dominguez@tweag.io 0.6.0

  • Have nsendRemote skip the transport for local communication.
  • Unsafe primitives for usend and nsendRemote.
  • Stop using the transport for local communication.
  • Skip the transport for whereisRemoteAsync and registerRemoteAsync.
  • Have nsendRemote skip the transport for local communication.
  • Have runProcess forward exceptions.
  • Reimport distributed-process-tests. d-p and d-p-test now can be kept in sync.
  • Add a stack.yaml file for building tests and d-p all at once conveniently.
  • Implement unreliable forward (uforward).
  • Add Functor instance for Match data type
  • Have spawnAsync not use the transport in the local case.
  • Fix monitor race in 'call'.
  • Add compatibility with ghc-7.10: support new typeable, loosen deps, write proper NFData instances, support new TH.
  • Kill processes on a local node upon closeLocalNode.
  • Fix getNodeStats function, see DP-97
  • Return size of the queue in ProcessInfo.
  • Implement unreliable send (usend).
  • Implement MonadFix instance for Process.
  • Introduce callLocal primitive.
  • Prevent message loss due to timeouts in CQueue.
  • More informative ProcessRegistrationException. Now includes the identifier of the process that owns the name, if any.
  • Avoid message loop between threads when tracing received messages.

2015-06-15 Facundo Domínguez facundo.dominguez@tweag.io 0.5.5

  • Fix dependencies.
  • Add compatibility with GHC-7.10.
  • Fix various race conditions (DP-99, DP-103).

2014-12-09 Tim Watson watson.timothy@gmail.com 0.5.2

  • Fix docstring for register
  • Added Data instance to ProcessId, LocalProcessId and NodeId
  • Add static serialiation dictionary for 'Static', for completeness
  • Add Closure static serialization dictionary
  • Replacement for modifyMVarMasked for GHC <= 7.4
  • Document the use of built-in trace flags
  • Make forkProcess exception-safe
  • Make -Wall clean

2014-08-13 Tim Watson watson.timothy@gmail.com 0.5.1

  • Fix cabal docs (thanks Markus Barenhoff)
  • Expose lifted version of Control.Exception.mask_ (thanks Alexander Vershilov)

2014-05-30 Tim Watson watson.timothy@gmail.com 0.5.0

  • Dependency on STM implicitly changed from 1.3 to 1.4, but was not reflected in the cabal file
  • Race condition in local monitoring when using call
  • mask now works correctly if unmask is called by another process
  • Improve efficiency of local message passing
  • nsend uses local communication channels
  • Link Node Controller and Network Listener
  • Label spawned processes using labelThread
  • Relaxed upper bound on syb in the cabal manifest
  • Bump binary version to include 0.7.*
  • Exposed process info
  • Exposed node statistics
  • Moved tests to https://github.com/haskell-distributed/distributed-process-tests
  • Added "polymorphic expect"
  • Exposed Message type and broaden scope of polymorphic expect
  • Added Management API (for working with internal/system events)
  • Tracing can no longer be disabled
  • We now report node statistics for monitoring/management
  • Node.runProcess now propagates exceptions to its caller
  • Added simple micro benchmarks

2013-01-27 Tim Watson watson.timothy@gmail.com 0.4.2

  • Improved exception handling for deferred type checked exit reasons
  • Add matchChan primitive (thanks Simon Marlow)
  • Expose deferred message handling/checking for AbstractMessage
  • Add `getProcessInfo' API
  • Add `trace' API backed by the GHC eventlog

2012-11-22 Edsko de Vries edsko@well-typed.com 0.4.1

  • Make behaviour of 'register' more Erlang-like (register will now fail if the name is already registered). Patch by Jeff Epstein.
  • Functor, Applicative, Alternative and Monad instances for ReceivePort
  • Add support for receiveChanTimeout
  • Improved documentation
  • Avoid name clashes in the TH generation for closures
  • Relax package bounds to allow for Binary 0.6

2012-10-23 Edsko de Vries edsko@well-typed.com 0.4.0.2

  • Fix race condition in spawn

2012-10-04 Edsko de Vries edsko@well-typed.com 0.4.0.1

  • Relax package boundaries

2012-10-03 Edsko de Vries edsko@well-typed.com 0.4.0

  • Improved treatment of network failure, using new failure semantics of Network.Transport.
  • Make NodeId Typeable
  • Extend Template Haskell support with "remotableDec" so that you can refer to $(mkClosure 'f) within the body of "f".
  • Fix bug in spawnChannelLocal
  • Numerous memory leaks plugged
  • Relax upper bound on dependency on 'network'
  • New primitive 'matchAny'
  • Remove 'whereisRemote' (see comment of 'whereisRemoteAsync')

2012-08-16 Edsko de Vries edsko@well-typed.com 0.3.1

  • Fix memory leaks
  • Make Template Haskell support optional
  • Relax dependency constraints

2012-08-07 Edsko de Vries edsko@well-typed.com 0.3.0

  • Extract 'static' into a separate package (C.D.Static)
  • Use new package rank1dynamic to proper runtime checks for polymorphic values

2012-08-02 Edsko de Vries edsko@well-typed.com 0.2.3.0

  • Expose the constructors of Closure
  • Add instance (Typeable a => Serializable (Static a)) and make sure we only use the internal representation of Static where really necessary
  • Improved docs

2012-07-31 Edsko de Vries edsko@well-typed.com 0.2.2.0

  • Add exception handling primitives
  • Fix runProcess: if the process threw an exception, a 'waiting indefinitely on MVar' exception would be thrown.

2012-07-21 Edsko de Vries edsko@well-typed.com 0.2.1.4

  • Bugfix in the node controller (one way this bug materialized: when using the SimpleLocalnet backend, slave nodes could not be reused)
  • Improved documentation in Control.Distributed.Process.Closure

2012-07-20 Edsko de Vries edsko@well-typed.com 0.2.1.3

  • Improve docs
  • Local versions of spawn

2012-07-16 Edsko de Vries edsko@well-typed.com 0.2.1.2

  • Base 4.6 compatibility
  • Relax constraints on bytestring and containers

2012-07-16 Edsko de Vries edsko@well-typed.com 0.2.1.1

  • Relax upper bound on 'time' dependency

2012-07-11 Edsko de Vries edsko@well-typed.com 0.2.1

  • Complete redesign of the underlying implementation of static values and closures.

  • Add support for 'spawnChannel'

2012-07-09 Edsko de Vries edsko@well-typed.com 0.2.0.1

  • Bugfix: Continue processing messages when a connection breaks.

2012-07-07 Edsko de Vries edsko@well-typed.com 0.2.0

  • Initial release.