- A race condition where a process executing too fast was reported as failing even though it succeeded
- Output generated while writing the input is now directly available (previously it was when the whole input was written)
- Using too much CPU when waiting for processes (due to polling)
- Requires
innmind/filesystem:~7.0
- Support for
innmind/immutable:~5.0
- Support for PHP
8.1
Innmind\Server\Control\Server\Process\Success
Innmind\Server\Control\Server\Process\Failed::output()
Innmind\Server\Control\Server\Process\TimedOut::output()
Innmind\Server\Control\Server\Process\Signaled::output()
Innmind\Server\Control\ServerFactory::build()
second argument now expectInnmind\Stream\Capabilities
Innmind\Server\Control\Server\Process::wait()
right side of the returnedEither
is nowInnmind\Server\Control\Server\Process\Success
instead ofInnmind\Immutable\SideEffect
- Support for
innmind/filesystem:~6.0
Command::withEnvironments
to define multiple variables at once
Command::foreground
andCommand::background
are now declared pure
- It is now allowed to call
output()
andwait()
on the same foreground process
- Some processes hanging forever once killed
Innmind\Server\Control\ScriptFailed
Innmind\Server\Control\Server\Process\Failed
Innmind\Server\Control\Server\Process\Signaled
Innmind\Server\Control\Server\Process\TimedOut
Innmind\Server\Control\Server\Process\Output::chunks()
Innmind\Server\Control\Server::reboot()
now returnsInnmind\Immutable\Either<Innmind\Server\Control\ScriptFailed, Innmind\Immutable\SideEffect>
instead of throwing an exceptionInnmind\Server\Control\Server::shutdown()
now returnsInnmind\Immutable\Either<Innmind\Server\Control\ScriptFailed, Innmind\Immutable\SideEffect>
instead of throwing an exceptionInnmind\Server\Control\Server\Command::withInput()
now expect aInnmind\Filesystem\File\Content
Innmind\Server\Control\Server\Process::pid()
now returns aInnmind\Immutable\Maybe<Innmind\Server\Control\Server\Process\Pid>
instead of throwing an exceptionInnmind\Server\Control\Server\Process::wait()
now returns aInnmind\Immutable\Either<Innmind\Server\Control\Server\Process\Failed|Innmind\Server\Control\Server\Process\Signaled|Innmind\Server\Control\Server\Process\TimedOut, Innmind\Immutable\SideEffect>
instead of throwing an exception- Calling
Innmind\Server\Control\Server\Process::output()
twice when streaming the output will throw an exception Innmind\Server\Control\Server\Process\BackgroundProcess
has been renamed toBackground
Innmind\Server\Control\Server\Process\ForegroundProcess
has been renamed toForeground
Innmind\Server\Control\Server\Process\LoggerProcess
has been renamed toLogger
Innmind\Server\Control\Server\Process\Logger
constructor is now private, use::psr()
named constructor insteadInnmind\Server\Control\Server\Process\Output::foreach()
now returnsInnmind\Immutable\SideEffect
Innmind\Server\Control\Server\Process\Output\Logger
constructor is now private, use::psr()
named constructor insteadInnmind\Server\Control\Server\Process\Output\Type
is now an enumInnmind\Server\Control\Server\Processes\LoggerProcesses
has been renamed toLogger
Innmind\Server\Control\Server\Processes\Logger
constructor is now private, use::psr()
named constructor insteadInnmind\Server\Control\Server\Processes\RemoteProcesses
has been renamed toRemote
Innmind\Server\Control\Server\Processes\UnixProcesses
has been renamed toUnix
Innmind\Server\Control\Server\Processes\Unix
constructor is now private, use::of()
named constructor insteadInnmind\Server\Control\Server\Script::__invoke()
now returnsInnmind\Immutable\Either<Innmind\Server\Control\ScriptFailed, Innmind\Immutable\SideEffect>
instead of throwing exceptionsInnmind\Server\Control\Server\Signal
is now an enumInnmind\Server\Control\Server\Volumes::mount()
now returnsInnmind\Immutable\Either<Innmind\Server\Control\ScriptFailed, Innmind\Immutable\SideEffect>
instead of throwing exceptionsInnmind\Server\Control\Server\Volumes::unmount()
now returnsInnmind\Immutable\Either<Innmind\Server\Control\ScriptFailed, Innmind\Immutable\SideEffect>
instead of throwing exceptionsInnmind\Server\Control\Servers\Logger
constructor is now private, use::psr()
named constructor insteadInnmind\Server\Control\Servers\Unix
constructor is now private, use::of()
named constructor instead
- Support for php
7.4
and8.0
Innmind\Server\Control\Exception\BackgroundProcessInformationNotAvailable
Innmind\Server\Control\Exception\CannotGroupEmptyOutput
Innmind\Server\Control\Exception\DomainException
Innmind\Server\Control\Exception\EmptyEnvironmentKeyNotAllowed
Innmind\Server\Control\Exception\EmptyExecutableNotAllowed
Innmind\Server\Control\Exception\EmptyOptionNotAllowed
Innmind\Server\Control\Exception\LogicException
Innmind\Server\Control\Exception\LowestPidPossibleIsTwo
Innmind\Server\Control\Exception\OutOfRangeException
Innmind\Server\Control\Exception\OutOfRangeExitCode
Innmind\Server\Control\Exception\ProcessStillRunning
Innmind\Server\Control\Exception\ProcessTimedOut
Innmind\Server\Control\Exception\ScriptFailed
Innmind\Server\Control\Server\Process::exitCode()
has been removed, use::wait()
insteadInnmind\Server\Control\Server\Process::isRunning()
Innmind\Server\Control\Server\Process\ExitCode::isSuccessful()
Innmind\Server\Control\Server\Process\Input\Bridge