changelog.md 5.46 KB
Newer Older
1 2
# Changelog for [`process` package](http://hackage.haskell.org/package/process)

3 4
## Unreleased changes

5 6 7 8
* Fix a race condition on Windows that happens when you use process jobs and one of
  the child processes terminates but doesn't release its resources immediately.
  Control returns to the caller too soon in this scenario. See [#159](https://github.com/haskell/process/pull/159)

Michael Snoyman's avatar
Michael Snoyman committed
9
## 1.6.6.0 *October 2019*
10

Ben Gamari's avatar
Ben Gamari committed
11 12 13 14
* Fix a potential privilege escalation issue (or, more precisely, privileges
  not being dropped when this was the user's intent) where the groups of the
  spawning process's user would be incorrectly retained due to a missing call to
  `initgroups` [#149].
15 16 17
* Bug fix: Prevent stripping undecodable bytes from environment variables
  when in a non-unicode locale.
  [#152](https://github.com/haskell/process/issues/152)
thomasjm's avatar
thomasjm committed
18 19
* Expose `runInteractiveProcess_lock` in `System.Process.Internals`
  [#154](https://github.com/haskell/process/pull/154)
Ben Gamari's avatar
Ben Gamari committed
20

21 22 23 24
## 1.6.5.1 *June 2019*

* Version bound bumps
* Slightly nicer error messages for internal errors
Michael Snoyman's avatar
Michael Snoyman committed
25

Michael Snoyman's avatar
Michael Snoyman committed
26
## 1.6.5.0 *December 2018*
27

28 29
* Bug fix: On Windows ignore ERROR_ACCESS_DENIED for TerminateProcess() if the process did terminate
  [#110](https://github.com/haskell/process/issues/110)
Michael Snoyman's avatar
Michael Snoyman committed
30
* Improve documentation of the `NoStream` data constructor
31

Michael Snoyman's avatar
Michael Snoyman committed
32
## 1.6.4.0 *July 2018*
33

Yuras's avatar
Yuras committed
34 35
* Bug fix: Don't leak pipes on failure
  [#122](https://github.com/haskell/process/issues/122)
36
* Expose `cleanupProcess` from `System.Process`
37
  [#130](https://github.com/haskell/process/pull/130)
Michael Snoyman's avatar
Michael Snoyman committed
38
* Drop support for GHC before 7.10.3
Yuras's avatar
Yuras committed
39

Michael Snoyman's avatar
Michael Snoyman committed
40
## 1.6.3.0 *January 2018*
Tilman Blumhagen's avatar
Tilman Blumhagen committed
41 42 43 44

* Added `getPid` and export of platform specific `Pid` type
  [#109](https://github.com/haskell/process/pull/109)

Michael Snoyman's avatar
Michael Snoyman committed
45
## 1.6.2.0 *October 2017*
46

MitchellSalad's avatar
MitchellSalad committed
47 48
* Allow async exceptions to be delivered to masked thread calling `waitForProcess`
  [#101](https://github.com/haskell/process/pull/101)
Tamar Christina's avatar
Tamar Christina committed
49
* Update Win32 package version to 2.6.x
MitchellSalad's avatar
MitchellSalad committed
50

51
## 1.6.1.0 *July 2017*
52

53 54 55 56
* Expose `CGid`, `GroupID`, and `UserID` from `System.Process.Internals`
  [#90](https://github.com/haskell/process/issues/90)
  [#91](https://github.com/haskell/process/pull/91)

57
## 1.6.0.0 *February 2017*
58

Michael Snoyman's avatar
Michael Snoyman committed
59 60 61 62
* Fix: waitForProcess race condition
  [#46](https://github.com/haskell/process/issues/46)
  [#58](https://github.com/haskell/process/pull/58)

Michael Snoyman's avatar
Michael Snoyman committed
63
## 1.5.0.0 *February 2017*
Michael Snoyman's avatar
Michael Snoyman committed
64 65 66

* Bug fix: Don't close already closed pipes
  [#81](https://github.com/haskell/process/pull/81)
Tamar Christina's avatar
Tamar Christina committed
67
* Relax version bounds of Win32 to allow 2.5.
Tamar Christina's avatar
Tamar Christina committed
68 69
* Add support for monitoring process tree for termination with the parameter `use_process_jobs`
  in `CreateProcess` on Windows. Also added a function `terminateJob` to kill entire process tree.
Michael Snoyman's avatar
Michael Snoyman committed
70

Michael Snoyman's avatar
Michael Snoyman committed
71
## 1.4.3.0 *December 2016*
Jon Coens's avatar
Jon Coens committed
72

Michael Snoyman's avatar
Michael Snoyman committed
73 74
* New exposed `withCreateProcess`
* Derive `Show` and `Eq` for `CreateProcess`, `CmdSpec`, and `StdStream`
Jon Coens's avatar
Jon Coens committed
75

76 77 78 79 80 81
## 1.4.2.0 *January 2016*

* Added `createPipeFD` [#52](https://github.com/haskell/process/pull/52)
    * New function `createPipeFD` added which returns a POSIX File Descriptor (CInt)
      instead of a GHC Handle to a pipe

Michael Snoyman's avatar
Michael Snoyman committed
82 83 84 85 86 87
## 1.4.1.0 *November 2015*

* Use less CPP [#47](https://github.com/haskell/process/pull/47)
    * Refactor to have separate Windows and POSIX modules internally
    * Remove the broken non-GHC code paths

Michael Snoyman's avatar
Michael Snoyman committed
88
## 1.4.0.0 *November 2015*
Michael Snoyman's avatar
Michael Snoyman committed
89 90 91

* Added `child_user` and `child_group` to `CreateProcess` for unix. [#45](https://github.com/haskell/process/pull/45)

92
## 1.3.0.0 *August 2015*
Michael Snoyman's avatar
Michael Snoyman committed
93

94
* Add `StdStream(NoStream)` to have standard handles closed. [#13](https://github.com/haskell/process/pull/13)
Michael Snoyman's avatar
Michael Snoyman committed
95
* Support for Windows `DETACHED_PROCESS` and `setsid` [#32](https://github.com/haskell/process/issues/32)
96
* Support for Windows `CREATE_NEW_CONSOLE` [#38](https://github.com/haskell/process/issues/38)
Michael Snoyman's avatar
Michael Snoyman committed
97

98
## 1.2.3.0 *March 2015*
99 100 101 102

  * [Meaningful error message when exe not found on close\_fds is
  True](https://ghc.haskell.org/trac/ghc/ticket/3649#comment:10)

103
  * New functions `readCreateProcess` and `readCreateProcessWithExitCode`
104

105 106 107 108 109 110 111 112 113
## 1.2.2.0  *Jan 2015*

  * Fix delegated CTRL-C handling in `createProcess` in case of failed
    process creation. See [issue #15](https://github.com/haskell/process/issues/15)
    for more details.

  * `waitpid` on child PID after pre-exec failure in child to prevent zombies.
    See also [issue #14](https://github.com/haskell/process/issues/14).

114
## 1.2.1.0  *Dec 2014*
115 116 117

  * Add support for `base-4.8.0.0`

118 119
  * Remove Hugs98 specific code

120 121
  * New `IsString CmdSpec` instance

122 123
  * Expose documentation for `System.Process.Internals`

124 125 126
  * With GHC 7.10, `System.Cmd` and `System.Process` are now `Safe`
    (when compiled with older GHC versions they are just `Trustworthy`)

127 128 129
  * Expose `createProcess_` function, and document behavior of `UseHandle` for
    `createProcess`. See [issue #2](https://github.com/haskell/process/issues/2).

130 131
  * New `System.Process.createPipe` operation.
    See also [GHC #8943](https://ghc.haskell.org/trac/ghc/ticket/8943)
132

133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
## 1.2.0.0  *Dec 2013*

  * Update to Cabal 1.10 format
  * Remove NHC specific code
  * Add support for `base-4.7.0.0`
  * Improve `showCommandForUser` to reduce redundant quoting
  * New functions `callProcess`, `callCommand`, `spawnProcess` and `spawnCommand`
  * Implement WCE handling according to http://www.cons.org/cracauer/sigint.html
  * New `delegate_ctlc` field in `CreateProcess` for WCE handling
  * Use `ExitFailure (-signum)` on Unix when a proc is terminated due to
    a signal.
  * Deprecate `module System.Cmd`
  * On non-Windows, the child thread now comunicates any errors back
    to the parent thread via pipes.
  * Fix deadlocks in `readProcess` and `readProcessWithExitCode`