Skip to content

v0.7.40

Pre-release
Pre-release
Compare
Choose a tag to compare
@alexrp alexrp released this 13 Mar 19:08
· 497 commits to master since this release
v0.7.40
  • Renamed the project from System.Terminal to Cathode.
  • Relicensed from ISC to 0BSD.
  • Improvements and refactoring to I/O APIs.
    • Stream, TextReader, and TextWriter instances exposed by the library are now fully synchronized.
    • TextReader/TextWriter properties on TerminalReader/TerminalWriter are now abstract.
  • Improvements to child process APIs.
    • Overhauled the APIs and moved them to the Cathode.Processes namespace.
    • Renamed TerminalProcess to ChildProcess (ditto for related types).
    • Added clean integration with async/await and cancellation.
    • Changed a number of options to have more intuitive defaults.
    • Added background buffering of process output with an optional buffer size limit.
    • Removed the SendSignal method as it cannot be implemented sanely on Windows at the moment.
    • Removed support for inspecting running processes and enumerating threads, modules, etc.
  • Improvements to control sequence construction.
    • Added support for rapid blink.
    • Added support for underline colors and styles.
    • Renamed bold decoration to intense.
  • Various platform-specific driver improvements.
    • Added upfront cancellation checks in TerminalReader implementations.
    • Switched to SemaphoreSlim for locking so that cancellation causes a lock acquisition to be canceled.
    • Windows console code page is now changed/restored alongside console modes.
    • Throw PlatformNotSupportedException when a signal cannot be generated.
  • Updates to Cathode.Extensions functionality.
    • Fixed UseColors property on TerminalLoggerOptions being false by default.