Skip to content

winTerm 1.3.0-beta2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Aug 16:02
3919320

winTerm 1.3.0-beta2

This is a beta prerelease. The current stable release remains
v1.2.0, and
/releases/latest continues to point there. The beta is listed on the winTerm
website next to the stable download and is published as a GitHub prerelease;
it is not submitted to WinGet.

winTerm 1.3.0-beta2 is the second beta of the Command Timeline release.
It fixes one defect found in 1.3.0-beta1 and is otherwise identical to it.

Fixed since 1.3.0-beta1

  • Failed commands are reported as failed again. In beta1, every finished
    command showed ✓ Succeeded, including commands that clearly failed. The
    PowerShell prompt wrapper executed Get-Module before it read $?, so the
    shell always reported exit code 0. The wrapper now captures $? as its
    first statement and hands it to the prompt function: a failed cmdlet
    reports exit code 1, a native command reports its real exit code, and the
    Timeline resolves entries to ✕ Failed accordingly. The shell integration
    test suite now drives the installed prompt wrapper exactly like the console
    host and locks in the first-prompt, success, cmdlet-failure, native-failure,
    and recovery sequences.

What is new since v1.2.0: Command Timeline

The Command Timeline is a per-pane, in-memory list of the commands that pane
has run. Open it with Ctrl+Tab, or with the thin auto-hiding handle on the
left edge of the terminal; click the terminal, press Escape, or press
Ctrl+Tab again to close it.

  • Per-pane history. Each pane keeps its own list, built from OSC 133
    shell integration only. winTerm never guesses where a prompt or output
    begins, and cmd.exe — which does not report command boundaries — shows
    Command timeline unavailable rather than untrustworthy results.
  • Works out of the box. A profile whose commandline is a bare
    powershell.exe or pwsh.exe (optionally with -NoLogo/-NoExit)
    automatically imports the packaged winTerm.Shell integration module at
    startup. Any customized commandline launches unchanged; the per-profile
    setting "shellIntegration.autoInject": false turns the rewrite off.
  • Load without executing. Enter or a single click puts the selected
    command on the input line and stops there. No carriage return is ever sent,
    the Windows clipboard is never read, and input broadcast never forwards the
    load to another pane.
  • Filtering. Press / or Tab and type to narrow the list. Matching is
    a plain, case-insensitive substring match over command text only — no
    wildcards, no regular expressions, no fuzzy matching, and command output is
    never searched.
  • Copy and jump. Right-click an entry to copy the command, copy its
    output, or scroll to where its output begins. Output is read from the
    terminal buffer only at that moment and is never cached.
  • Trustworthy status. A command shows ● Running while it executes and
    resolves to ✓ Succeeded or ✕ Failed when the shell reports its exit code.
    Unknown appears only when the shell genuinely did not report a result,
    and explains itself on hover. Status is never conveyed by color alone.
  • Readable rows. Hover any row for the full command text; the selection
    moves without rebuilding rows, so the list stays steady under the arrow
    keys.

Keyboard

Shortcut Behavior
Ctrl+Tab Toggle the Command Timeline for the focused pane
Ctrl+T Next tab
Ctrl+Shift+T Previous tab
Ctrl+Alt+T Open new tab

While the Timeline is open:

Key Behavior
/ or Tab Move focus to the filter box
Up / Down Move the selection by one command
Left / Right Select the first / last command on the current page
Enter Load the selected command; never runs it
Space Scroll the terminal to that command's output
Ctrl+C Copy the selected command text
Escape Clear the filter, or close the Timeline if the filter is empty

Your own key bindings take precedence over every default above. Keys the
Timeline consumes are not sent to the shell, and filter text never reaches
the shell.

Settings

{
  "commandTimeline.enabled": true,
  "commandTimeline.historyLimit": 500
}

Per profile:

{
  "shellIntegration.autoInject": true
}
  • Show command timeline defaults on. Turning it off hides the handle,
    closes an open overlay, and stops Ctrl+Tab from opening it.
  • Commands remembered per pane defaults to 500 and accepts 50 through
    5000. An out-of-range value is clamped rather than failing the settings
    load.

An existing settings file needs no migration.

Changes accumulated through the prerelease series

  • alpha2: auto-injected shell integration, the auto-hiding handle,
    terminal-click light dismiss, and the recognition-engine fixes for stuck
    progress bars.
  • alpha3: correct FinalTerm mark emission (no stray characters, exact command
    capture), no progress bar at an idle prompt, no phantom Timeline row, no
    selection jitter, and silent degradation when antivirus blocks an optional
    module component.
  • alpha4: the antivirus write-then-execute false positive removed at its
    source, ✓/✕ results restored through the Enter-keypress lifecycle
    notification, and full-command tooltips.
  • beta2: real exit codes restored to the finished mark, so failures resolve
    to ✕ Failed instead of a false ✓ Succeeded.

Privacy

  • Command text lives only in memory, only in the pane that ran it, and only
    while that pane is open. Nothing is written to disk; there is no command
    history file or database.
  • Command output is never cached, indexed, or searched.
  • Filter text is never saved and never leaves the pane.
  • No telemetry is written, and no command, output, path, or filter text is
    logged.
  • The clipboard is written only by an explicit copy action, and is never
    read.

See the privacy policy.

Unchanged in this release

Workspace schema (2), docking model (1), shell protocol (1), theme schema
(1), update manifest schema (1), package identity, and signing policy are all
unchanged from v1.2.0. Visual Progress behavior is unchanged apart from the
recognition fixes above.

Known limitations

  • The Timeline requires OSC 133 shell integration; it stays unavailable under
    cmd.exe.
  • A multi-line command is refused when the shell has not enabled bracketed
    paste, because unbracketed line breaks would be read as pressing Enter.
  • Loading a command longer than 1024 characters asks for a confirming
    Enter.
  • Command history does not survive closing a pane, and is intentionally never
    persisted.

Installation

The Setup EXE supports current-user and all-users installation; the Portable
ZIP can be extracted to a writable directory and run without installation.
Installing the beta over v1.2.0 or an earlier prerelease is supported; the
file version is 1.3.0.5. Package identity stays separate from Microsoft
Terminal, so it does not disturb an existing Windows Terminal installation.

Publisher: helloThisWorld. Tag: v1.3.0-beta2.

Signing

The winTerm 1.3.0-beta2 Setup EXE is not Authenticode-signed. Windows may
display Unknown Publisher or a SmartScreen warning. Download only from the
official GitHub Release and verify the file against SHA256SUMS.txt before
running it.

Policies