Check if waitpidLock is held in getProcessExitCode
[packages/process.git] / changelog.md
1 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
2
3 ## Unreleased changes
4
5 * Bug fix: Don't close already closed pipes
6   [#81](https://github.com/haskell/process/pull/81)
7 * Relax version bounds of Win32 to allow 2.5.
8 * Add support for monitoring process tree for termination with the parameter `use_process_jobs`
9   in `CreateProcess` on Windows. Also added a function `terminateJob` to kill entire process tree.
10
11 ## 1.4.3.0 *December 2016*
12
13 * New exposed `withCreateProcess`
14 * Derive `Show` and `Eq` for `CreateProcess`, `CmdSpec`, and `StdStream`
15
16 ## 1.4.2.0 *January 2016*
17
18 * Added `createPipeFD` [#52](https://github.com/haskell/process/pull/52)
19     * New function `createPipeFD` added which returns a POSIX File Descriptor (CInt)
20       instead of a GHC Handle to a pipe
21
22 ## 1.4.1.0 *November 2015*
23
24 * Use less CPP [#47](https://github.com/haskell/process/pull/47)
25     * Refactor to have separate Windows and POSIX modules internally
26     * Remove the broken non-GHC code paths
27
28 ## 1.4.0.0 *November 2015*
29
30 * Added `child_user` and `child_group` to `CreateProcess` for unix. [#45](https://github.com/haskell/process/pull/45)
31
32 ## 1.3.0.0 *August 2015*
33
34 * Add `StdStream(NoStream)` to have standard handles closed. [#13](https://github.com/haskell/process/pull/13)
35 * Support for Windows `DETACHED_PROCESS` and `setsid` [#32](https://github.com/haskell/process/issues/32)
36 * Support for Windows `CREATE_NEW_CONSOLE` [#38](https://github.com/haskell/process/issues/38)
37
38 ## 1.2.3.0 *March 2015*
39
40   * [Meaningful error message when exe not found on close\_fds is
41   True](https://ghc.haskell.org/trac/ghc/ticket/3649#comment:10)
42
43   * New functions `readCreateProcess` and `readCreateProcessWithExitCode`
44
45 ## 1.2.2.0  *Jan 2015*
46
47   * Fix delegated CTRL-C handling in `createProcess` in case of failed
48     process creation. See [issue #15](https://github.com/haskell/process/issues/15)
49     for more details.
50
51   * `waitpid` on child PID after pre-exec failure in child to prevent zombies.
52     See also [issue #14](https://github.com/haskell/process/issues/14).
53
54 ## 1.2.1.0  *Dec 2014*
55
56   * Add support for `base-4.8.0.0`
57
58   * Remove Hugs98 specific code
59
60   * New `IsString CmdSpec` instance
61
62   * Expose documentation for `System.Process.Internals`
63
64   * With GHC 7.10, `System.Cmd` and `System.Process` are now `Safe`
65     (when compiled with older GHC versions they are just `Trustworthy`)
66
67   * Expose `createProcess_` function, and document behavior of `UseHandle` for
68     `createProcess`. See [issue #2](https://github.com/haskell/process/issues/2).
69
70   * New `System.Process.createPipe` operation.
71     See also [GHC #8943](https://ghc.haskell.org/trac/ghc/ticket/8943)
72
73 ## 1.2.0.0  *Dec 2013*
74
75   * Update to Cabal 1.10 format
76   * Remove NHC specific code
77   * Add support for `base-4.7.0.0`
78   * Improve `showCommandForUser` to reduce redundant quoting
79   * New functions `callProcess`, `callCommand`, `spawnProcess` and `spawnCommand`
80   * Implement WCE handling according to http://www.cons.org/cracauer/sigint.html
81   * New `delegate_ctlc` field in `CreateProcess` for WCE handling
82   * Use `ExitFailure (-signum)` on Unix when a proc is terminated due to
83     a signal.
84   * Deprecate `module System.Cmd`
85   * On non-Windows, the child thread now comunicates any errors back
86     to the parent thread via pipes.
87   * Fix deadlocks in `readProcess` and `readProcessWithExitCode`