Changelog for distributed-process-0.6.6

2016-10-13 Facundo Domínguez <> 0.6.6 * Remove monitors from remote nodes when a process dies. (#295) 2016-10-12 Facundo Domínguez <> 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 <> 0.6.4 * Fixup build errors. 2016-06-09 Facundo Domínguez <> 0.6.3 * Relax template-haskell upper bound. 2016-06-09 Facundo Domínguez <> 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 <> 0.6.1 * Implement MonadCatch, MonadThrow, MonadMask for Process. 2016-02-18 Facundo Domínguez <> 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 <> 0.5.5 * Fix dependencies. * Add compatibility with GHC-7.10. * Fix various race conditions (DP-99, DP-103). 2014-12-09 Tim Watson <> 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 <> 0.5.1 * Fix cabal docs (thanks Markus Barenhoff) * Expose lifted version of Control.Exception.mask_ (thanks Alexander Vershilov) 2014-05-30 Tim Watson <> 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 * 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 <> 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 <> 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 <> * Fix race condition in spawn 2012-10-04 Edsko de Vries <> * Relax package boundaries 2012-10-03 Edsko de Vries <> 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 <> 0.3.1 * Fix memory leaks * Make Template Haskell support optional * Relax dependency constraints 2012-08-07 Edsko de Vries <> 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 <> * 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 <> * 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 <> * 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 <> * Improve docs * Local versions of spawn 2012-07-16 Edsko de Vries <> * Base 4.6 compatibility * Relax constraints on bytestring and containers 2012-07-16 Edsko de Vries <> * Relax upper bound on 'time' dependency 2012-07-11 Edsko de Vries <> 0.2.1 * Complete redesign of the underlying implementation of static values and closures. * Add support for 'spawnChannel' 2012-07-09 Edsko de Vries <> * Bugfix: Continue processing messages when a connection breaks. 2012-07-07 Edsko de Vries <> 0.2.0 * Initial release.