|
| 1 | +--- |
| 2 | +layout: changelog |
| 3 | +code: DPP |
| 4 | +project: distributed-process-platform |
| 5 | +status: Released |
| 6 | +date: 28-05-2014 |
| 7 | +version: 0.5.0 |
| 8 | +commits: b3dee891...master |
| 9 | +release: 10003 |
| 10 | +--- |
| 11 | + |
| 12 | +### Notes / Highlights |
| 13 | + |
| 14 | +This is the first release of distributed-process-platform. |
| 15 | +Modelled after Erlang's OTP, this framework provides similar |
| 16 | +facilities for Cloud Haskell, grouping essential practices |
| 17 | +into a set of modules and standards designed to help you build |
| 18 | +concurrent, distributed applications with relative ease. |
| 19 | + |
| 20 | +#### Highlights |
| 21 | + |
| 22 | +* [UnsafePrimitives][2] - Extended version of the [UnsafePrimitives module from distributed-process][1] |
| 23 | +* [Time][3] - API for working with time delays and timeouts |
| 24 | +* [Timer][4] - Timer API (for running code or sending messages based on timers) |
| 25 | +* [Async][21] - API for spawning asynchronous operations, waiting for results, cancelling, etc |
| 26 | +* [Async - STM][22] - Async implementation built on STM |
| 27 | +* [Async - Chan][23] - Async implementation built on Typed Channels |
| 28 | +* [Managed Processes][5] - Build complex 'Processes' by abstracting out management of the process' mailbox, reply/response handling, timeouts, process hiberation, error handling and shutdown/stop procedures |
| 29 | +* [Managed Processes - Prioritised Mailbox][6] - Prioritised Message Processing |
| 30 | +* [Managed Processes - Restricted Execution][7] - Restricted (pure) execution environment |
| 31 | +* [Managed Processes - Client API][8] - Client facing `ManagedProcess` API |
| 32 | +* [Managed Processes - Unsafe Clients][9] - Unsafe client API |
| 33 | +* [Process Supervision][10] - A generic API for supervising trees of managed processes |
| 34 | +* [Execution Framework][11] - Framework for managing non-functional implementation aspects such as load regulation |
| 35 | +* [Execution - Buffers][12] - Mailbox bounding and buffering |
| 36 | +* [Execution - Routing][13] - The "exchange" message routing pattern |
| 37 | +* [Execution - Event Handling][14] - Generic *event handling* mechanism |
| 38 | +* [Task Framework][15] - Task management, work scheduling and execution management |
| 39 | +* [Task Framework - Queues][16] - Bounded (i.e., blocking) work queues |
| 40 | +* [Service Framework][17] - Framework for developing re-usable service components |
| 41 | +* [Service - Monitoring][18] - Node monitoring API |
| 42 | +* [Service - Registry][19] - General Purpose Extended Process Registry |
| 43 | +* [Service - System Log][20] - Extensible System Logging Capability |
| 44 | + |
| 45 | +#### Improvements / New Features |
| 46 | + |
| 47 | +* [DPP-68](https://cloud-haskell.atlassian.net/browse/DPP-68) - a variant of `link` that only signals in case of abnormal termination |
| 48 | +* [DPP-4](https://cloud-haskell.atlassian.net/browse/DPP-4) - Managed Processes (aka gen-server) |
| 49 | +* [DPP-74](https://cloud-haskell.atlassian.net/browse/DPP-74) - Priority Queue based Managed Process |
| 50 | +* [DPP-71](https://cloud-haskell.atlassian.net/browse/DPP-71) - ManagedProcess API consistency |
| 51 | +* [DPP-7](https://cloud-haskell.atlassian.net/browse/DPP-7) - Channel vs Process based GenServer |
| 52 | +* [DPP-1](https://cloud-haskell.atlassian.net/browse/DPP-1) - Supervision trees |
| 53 | +* [DPP-79](https://cloud-haskell.atlassian.net/browse/DPP-79) - Add support for Akka-style routers |
| 54 | +* [DPP-81](https://cloud-haskell.atlassian.net/browse/DPP-81) - Have two Supervisor.ChildSpec constructors, one for RemoteChild (current one) and one for LocalChild |
| 55 | + |
| 56 | +#### Bugs |
| 57 | + |
| 58 | +Since this is the first release, see [github](https://github.com/haskell-distributed/distributed-process-platform/commits) for |
| 59 | +a view on bugs that have been filed and fixed during the development process. |
| 60 | + |
| 61 | +[1]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-UnsafePrimitives.html |
| 62 | +[2]: https://hackage.haskell.org/package/distributed-process-platform-0.1.0/docs/Control-Distributed-Process-Platform-UnsafePrimitives.html |
| 63 | +[3]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Time.html |
| 64 | +[4]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Timer.html |
| 65 | +[5]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-ManagedProcess.html |
| 66 | +[6]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-ManagedProcess-Server-Priority.html |
| 67 | +[7]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-ManagedProcess-Server-Restricted.html |
| 68 | +[8]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-ManagedProcess-Client.html |
| 69 | +[9]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-ManagedProcess-UnsafeClient.html |
| 70 | +[10]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Supervisor.html |
| 71 | +[11]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Execution.html |
| 72 | +[12]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Execution-Mailbox.html |
| 73 | +[13]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Execution-Exchange.html |
| 74 | +[14]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Execution-EventManager.html |
| 75 | +[15]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Task.html |
| 76 | +[16]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Task=Queue-BlockingQueue.html |
| 77 | +[17]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Service.html |
| 78 | +[18]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Service-Monitoring.html |
| 79 | +[19]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Service-Registry.html |
| 80 | +[20]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Service-SystemLog.html |
| 81 | +[21]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Async.html |
| 82 | +[22]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Async-AsyncSTM.html |
| 83 | +[23]: https://hackage.haskell.org/package/distributed-process-0.5.0/docs/Control-Distributed-Process-Platform-Async-AsyncChan.html |
0 commit comments