A major feature release with some minor API improvements!
This project now has limited Windows support and supports passing custom pipes
and file descriptors to the child process.
This update involves a few minor BC breaks. We've tried hard to avoid BC breaks
where possible and minimize impact otherwise. We expect that most consumers of
this package will actually not be affected by any BC breaks, see below for more
BC note: The optional
$optionsparameter in the
has been removed and a new
$fdsparameter has been added instead. The
$optionsparameter was Windows-only, available options were not
documented or referenced anywhere else in this library, so its actual
impact is expected to be relatively small. See the documentation and the
following changelog entry if you're looking for Windows support.
// advanced: not recommended by default Process::setSigchildEnabled(true);
BC note: The old public sigchild methods have been removed, but its
practical impact is believed to be relatively small due to the automatic detection.
This introduces a simple check to see if the program is already known to be
closed when the last process pipe is closed instead of relying on a periodic
timer. This simple change improves "exit" detection significantly for most
programs and does not cause a noticeable penalty for more advanced use cases.
- Forward compatibility: react/event-loop 1.0 and 0.5, react/stream 0.7.2 and 1.0, and Événement 3.0
(#38 and #44 by @WyriHaximus, and #46 by @clue)
- Windows compatibility: Documentate that windows isn't supported in 0.5 unless used from within WSL
(#41 and #47 by @WyriHaximus)
- Documentation: Termination examples
(#42 by @clue)
- BC: Throw LogicException in Process instanciating when on Windows or when proc_open is missing (was
(#49 by @mdrost)
- Standalone component
- Test against PHP 7 and HHVM, report test coverage, AppVeyor tests
- Fix: Wait for stdout and stderr to close before watching for process exit
(#18 by @mbonneau)
Backwards compatibility release for Reach 0.3.x and PHP 5.3 (see #4).
- Feature: Added ChildProcess to run async child processes within the event loop (@jmikola)