Cathode Progress Report - March 2023 #116
alexrp
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is the first in a new series of progress reports. These will be posted with a monthly-ish cadence when there's notable progress made on the project.
v0.10.40 Release
This month, v0.10.40 was released. This was primarily a housekeeping and bug-fixing release.
ProgramHost
was changed such that, if an unhandled exception occurs and noUnhandledException
event handler is installed, the exception will be printed to standard error. This mirrors the normal behavior of the .NET runtime when Cathode's hosting APIs are not being used.ChildProcessBuilder
had its API overhauled to make it easier to use in fluent style.TerminalSize
was updated to implement the newIEqualityOperators<TerminalSize, TerminalSize, bool>
interface in .NET 7.Bug Fixing and Optimization
In
master
, a bug was fixed whereChildProcess.Kill(bool)
could throw anInvalidOperationException
if the killed process disappeared too quickly. This unfortunately slipped through because the documentation for the underlyingSystem.Diagnostics.Process.WaitForExit()
method only specifies the overly broadSystemException
which almost all exceptions in the framework derive from.Additionally, some optimization work was done in the form of applying
ValueTask
pooling to allasync
methods in the internalSynchronizedStream
andSynchronizedTextReader
classes.Future Plans
Most development focus is on the Celerity project at the moment. That being said, Celerity depends on Cathode and will soon need to implement a rich REPL experience. For that, we will need to address these issues:
The latter issue, in particular, I consider to be the single greatest blocker for v1.0.
Beta Was this translation helpful? Give feedback.
All reactions