Skip to content

v1.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Jul 18:19
· 6 commits to main since this release
Immutable release. Only release title and notes can be modified.

Overview

v1.3.0 adds MiniPty.Terminal, a new NuGet package that turns MiniPty into a terminal backend for frontends such as xterm.js and VS Code’s Pseudoterminal. It provides a node-pty–style push model (output callbacks, pause/resume flow control, drain-then-exit semantics) plus ready-made bridges over WebSocket and framed stdio. The package stays NativeAOT-compatible, depends only on MiniPty, and ships with browser and VS Code samples.

Key feature

Build real embedded terminals in .NET, in the browser, in VS Code, or behind your own UI.

With MiniPty.Terminal you can do followings.

  • Run a shell behind xterm.js, serve PTY I/O over WebSocket with built-in ACK-based flow control so fast output doesn’t stall or blow memory.
  • Wire a VS Code integrated terminal, spawn a NativeAOT helper (PtyStdioBridge) and bridge it to vscode.Pseudoterminal without node-pty or P/Invoke in the extension host.
  • Keep sessions alive across reconnects, PtyWebSocketSessionManager retains output and replays from the last acknowledged offset when a client drops and comes back.
  • Integrate any custom frontend, use PtyTerminal directly for push-model output, resize, signals, and backpressure when you bring your own transport.

Same cross-platform PTY core (Windows ConPTY, Unix PTY), now shaped for editor and web terminal backends.

MiniPty as xterm.js Web Terminal Backend

$ dotnet samples/WebTerminal.cs
WebTerminal listening on http://localhost:5170/ (Ctrl+C to stop)
terminal session started
terminal session started
terminal session ended: exit 0 # exit command
terminal session ended: exit 1 # tab closed
image

MiniPty as VS Code Terminal Backend.

image

What's Changed

  • ci: add pr harness check by @guitarrapc in #39
  • chore(deps): bump actions/setup-dotnet from 5.3.0 to 5.4.0 in the dependencies group by @dependabot[bot] in #40
  • feat: Terminal Backend PTY Support by @guitarrapc in #41
  • feat: add MiniPty.Terminal which offer persistent terminal backend PTY by @guitarrapc in #42

Full Changelog: v1.2.0...v1.3.0