Skip to content

v0.9.156

Pre-release
Pre-release
Compare
Choose a tag to compare
@alexrp alexrp released this 09 Jan 20:52
· 372 commits to master since this release
v0.9.156
fb9de2e
  • Updated to .NET 7.0.0.
  • Changed required target framework to net7.0.
  • Updated library dependencies.
    • Updated System.IO.Pipelines to 7.0.0.
    • Updated Microsoft.Extensions.Hosting to 7.0.0.
    • Updated Microsoft.Extensions.Hosting.Systemd to 7.0.0.
    • Updated Wcwidth to 1.0.0.
  • Applied [SkipLocalsInit] to all libraries.
  • Applied [DisableRuntimeMarshalling] to all libraries except Vezel.Cathode (core library).
  • Switched to [ThreadStatic] instead of ThreadLocal<T> throughout the project.
  • Applied scoped parameter annotations throughout the project.
  • Vezel.Cathode
    • Bundled analyzers library (Vezel.Cathode.Analyzers) with the core library.
    • Referenced Microsoft.CodeAnalysis.CSharp instead of Microsoft.CodeAnalysis.CSharp.Workspaces in the analyzers.
    • Eliminated some allocations in thread pool and cancellation callbacks.
    • Improvements and refactoring to I/O APIs.
      • Added cancellation support in TerminalReader.ReadLineAsync().
      • Removed (broken) cancellation support from all synchronous APIs.
      • Added missing buffer validation to TerminalStream.Read().
      • Fixed some unsafe SafeHandle manipulation in UnixCancellationPipe.
      • Added [NotNullWhen(true)] attribute to TerminalSize.Equals().
      • Implemented ToString() on TerminalSize.
      • Applied [UnsupportedOSPlatform("windows")] on Terminal.GenerateSignal().
    • Improvements to child process APIs.
      • Kill entire process tree on cancellation.
      • Reject null array argument in ChildProcessBuilder.WithArguments().
    • Improvements to control sequence construction.
      • Added support for DECARM.
      • Added support for DECPS.
      • Added support for DECSCA, DECSED, and DECSEL.
      • Fixed incorrect argument order in CUP construction.
      • Eliminated most allocations in ControlSequences.
    • Improvements to rune/string measurement API.
      • Updated to Unicode 15.0.0.
      • Removed an unnecessary MonospaceWidth.Measure(string?) overload.
  • Vezel.Cathode.Hosting
    • Added a CancellationToken property to ProgramContext that is wired up to terminal signals.
    • Converted EntryPointGenerator to an incremental source generator.
    • Switched to file accessibility for the generated entry point type.
    • Use fully-qualified name of the IProgram implementation in EntryPointGenerator.
    • Added support for struct implementations of IProgram.
  • Vezel.Cathode.Extensions
    • Updates in line with .NET 7.
    • Fixed TerminalLoggerOptions.LogToStandardErrorThreshold defaulting to LogLevel.Trace instead of LogLevel.None.