- Support for reflex-0.9.3
- Add
Lines
for keeping track of accumulated output, including both terminated and unterminated lines
- Allow reflex-vty 0.5
- Derive Eq, Ord, and Show instances for SendPipe
- Loosen version bounds to support reflex-0.9 and reflex-vty 0.4
- Update readme example to support reflex-vty 0.3
- Update readme example to use reflex-vty 0.2
- Support reflex 0.8
- Fix a handle leak (#23) and a thread leak (#24)
- (#15, #13) (Breaking change) Introduce
SendPipe
type for encoding when an input stream should send EOF. ChangecreateProcess
to take aProcessConfig t (SendPipe ByteString)
so that sending EOF is possible.- IMPORTANT: For
createProcess
messages tostdin
must now be wrapped inSendPipe_Message
and have a"\n"
manually appended to regain the old behavior. PreviouslycreateProcess
implicitly added a"\n"
to all messages sent to the process. This has been removed and you must now manually add any necessary new lines to your messages. This change allowscreateProcess
to work with processes in a encoding-agnostic way onstdin
.
- IMPORTANT: For
- (#17) Deprecate
createRedirectedProcess
in favor of a new, scarier name:unsafeCreateProcessWithHandles
. This was done to communicate that it does not enforce necessary guarantees for the process to be handled correctly. - (#11) Add
createProcessBufferingInput
for buffering input to processes and changecreateProcess
to use an unbounded buffer instead of blocking the FRP network when the process blocks on its input handle. - (#11, #14)
ProcessConfig
now includes a_processConfig_createProcess
field for customizing how the process is created. - (#13) Fix race condition between process completion
Event
s and processstdout
/stderr
Event
s. Process completion is now always the very lastEvent
to fire for a givenProcess
. - (#17) Add
defProcessConfig
to avoid forcing users to depend ondata-default
.
createProcess
: Ensure that handle is open before attempting to check whether it is readable
- Breaking change: Generalise input and output parameters of createRedirectedProcess. Existing programs should replace
Process t
withProcess t ByteString ByteString
andProcessConfig t
withProcessConfig t ByteString
.
- Loosen reflex-vty version bounds
- Initial release. The core of the interface is
Reflex.Process.createProcess
, which runs aSystem.Process.CreateProcess
command, takingEvent
s of input and producingEvent
s of output.