Changelog for distributed-process-0.5.0

2014-30-05 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.