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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
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.
ProgramHostwas changed such that, if an unhandled exception occurs and noUnhandledExceptionevent 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.ChildProcessBuilderhad its API overhauled to make it easier to use in fluent style.TerminalSizewas 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 anInvalidOperationExceptionif the killed process disappeared too quickly. This unfortunately slipped through because the documentation for the underlyingSystem.Diagnostics.Process.WaitForExit()method only specifies the overly broadSystemExceptionwhich almost all exceptions in the framework derive from.Additionally, some optimization work was done in the form of applying
ValueTaskpooling to allasyncmethods in the internalSynchronizedStreamandSynchronizedTextReaderclasses.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