v0.9.156
Pre-release
Pre-release
- 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 ofThreadLocal<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 inUnixCancellationPipe
. - Added
[NotNullWhen(true)]
attribute toTerminalSize.Equals()
. - Implemented
ToString()
onTerminalSize
. - Applied
[UnsupportedOSPlatform("windows")]
onTerminal.GenerateSignal()
.
- Added cancellation support in
- 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
, andDECSEL
. - Fixed incorrect argument order in
CUP
construction. - Eliminated most allocations in
ControlSequences
.
- Added support for
- 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 toProgramContext
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 inEntryPointGenerator
. - Added support for struct implementations of
IProgram
.
- Added a
- Vezel.Cathode.Extensions
- Updates in line with .NET 7.
- Fixed
TerminalLoggerOptions.LogToStandardErrorThreshold
defaulting toLogLevel.Trace
instead ofLogLevel.None
.