Skip to content

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 08 Sep 23:42
· 40 commits to main since this release
  • Add ShellScriptFile, a TextWriter that builds and executes Windows batch or Unix shell scripts with optional
    elevation, cancellation, captured process output, argument lists, platform-conditional writes, comments, and
    environment variables. CreateTemporary(...) and the pathless constructor assign a unique temporary path and delete
    it on disposal by default, while an explicit path keeps the script; content is buffered and written atomically by
    Flush, by Execute, and on disposal.
    WriteLines, WriteLinesAsync, WriteLinesIf, WriteLinesIfWindows/MacOS/Linux/Unix, and WriteComments
    write several lines at once, taking params or an IEnumerable<string?>
  • Add raw and structured script-argument support to ProcessHelper.CreateShellScriptProcessStartInfo, plus
    StartShellScript and StartShellScriptAsync overloads matching the process-start helpers
  • Move process lifetime metadata from ApplicationKit.StartingTimestamp, RuntimeElapsed, and SessionId to
    EntryApplication.ProcessStartingTimestamp, ProcessUptime, and ProcessSessionId; the former APIs have been
    removed
  • Add structured process snapshots and configurable runtime reports to RuntimeDiagnostics, including process, GC,
    thread-pool, runtime-feature, culture, and time-zone details plus reusable custom report formatting
  • Add portable processor and multi-adapter graphics information to HostSystem, with native or structured detection,
    Windows filtering for indirect USB and software display drivers, bounded external queries, retry-after-failure
    behavior, and compatibility for the original GraphicCardName spelling
  • Add cached system manufacturer and model detection plus a portable HostSystem.SystemUptime measurement
  • Add HostSystem.IsNetworkAvailable() for a fast, cross-platform local network-availability check and
    IsInternetAvailableAsync() for an active, timeout-bound internet connectivity probe with captive-portal detection
  • Add cached HostSystem.OperatingSystemName and OperatingSystemNameWithArch display values, including Mac Catalyst,
    WASI, and correctly styled tvOS and watchOS names
  • Add immutable, platform-neutral host memory snapshots with native Windows/macOS queries, span-based Linux parsing,
    readable physical-memory properties, and explicit failure detection
  • Show live host memory totals, availability, usage, and load in the Avalonia demo with automatic two-second refreshes
  • Add StringExtensions.InsertCharBetweenCamelCase to StageKit.Primitives for splitting camelCase/PascalCase (and,
    optionally, digit) transitions with a configurable separator character
  • Add HostSystem.Beep and HostSystem.BeepAsync to StageKit.Primitives. Both report success as a bool instead of
    throwing, clamp the frequency to the 37 Hz floor Console.Beep requires, format the Linux sleep interval with the
    invariant culture, probe for speaker-test before using it, and fall back to the macOS system alert sound
  • Add a host beep section to the Avalonia demo with frequency and duration editors, single and looping playback through
    HostSystem.BeepAsync, and a stop button that cancels the loop
  • Add LinuxRpm and DotNetSingleFile to StageKit releases
  • Fix cross-architecture RPM publishing by passing the target architecture to rpmbuild, fail immediately when a
    packaging command exits unsuccessfully, and report successful AppImage progress as regular output
  • Run Linux and macOS release jobs on matching native x64 or ARM64 GitHub-hosted runners
  • Retry transient hdiutil create resource-busy failures when producing macOS DMG packages
  • Log shell tool output at information level regardless of its output stream, skip unnecessary Arch dependency checks,
    and include complete Snap store metadata; the StageKit demo Snap now stages its fontconfig runtime dependency
  • Set CreateNoWindow = true on ProcessHelper by default to avoid a console window on Linux
  • Add ProcessHelper.StartProcessWithShellExecute and StartProcessWithShellExecuteAsync overloads for targets that
    must be opened through the operating system shell