Skip to content

v0.12.42

Pre-release
Pre-release
Compare
Choose a tag to compare
@alexrp alexrp released this 18 Jan 16:45
· 114 commits to master since this release
v0.12.42
d7b7967
  • Added Black Box, Contour, Guake, Tilix, tmux, Xfce Terminal, and Yakuake to the list of supported terminal emulators.
  • Vezel.Cathode
    • Improvements to child process APIs.
      • Added some extra Run() and RunIn() convenience methods to ChildProcess.
      • Added a new ChildProcessErrorException type, derived from ChildProcessException.
        • Changed ChildProcess to throw ChildProcessErrorException for non-zero exit codes if ChildProcessBuilder.ThrowOnError is set.
        • Changed ChildProcess APIs to throw ChildProcessException if something goes wrong with starting or killing a process.
      • Changed ChildProcess.Kill() to handle the broader SystemException instead of InvalidOperationException, preventing various unhelpful OS exceptions from bubbling up.
      • Changed ChildProcessReader to not bubble up IOExceptions resulting from the child process somehow closing the pipe.
      • Fixed ChildProcessReader to properly cancel its read loop when cancellation is requested for the child process.
  • Vezel.Cathode.Native
    • Reimplemented terminal drivers in a helper library written in C.
      • The library is currently available for linux-arm, linux-arm64, linux-x64, osx-arm64, osx-x64, win-arm64, win-x86, and win-x64.
        • Support for linux-musl-arm, linux-musl-arm64, and linux-musl-x64 will come in a future release.
      • Added support for proper read cancellation on Windows, but only in raw mode for now.
      • Changed the Unix driver to support cancellation for writes too.
      • Changed the drivers to reliably restore terminal state on normal process exit.
  • Vezel.Cathode.Hosting
    • Removed this library as Vezel.Cathode.Native has obviated the need for it.