github MisterTea/EternalTerminal et-v7.1.0
Eternal Terminal v7.1.0

2 hours ago

Breaking change

Short options on the et client now match OpenSSH. These flags changed meaning: -c, -t, -p, -l, -x, -f, -N, -v, and -e. The previous behavior is available as --command, --tunnel, --port, --logdir, --kill-other-sessions, --forward-ssh-agent, --no-terminal, --verbose, and --noexit.

The wire protocol is still version 6, so 7.0.0 and 7.1.0 peers still connect.

What's Changed

  • ci: fix cowbuilder failure on Debian forky — cowdancer removed from repo by @MisterTea with @Copilot in #771
  • Fix GCC 15 build failure — Ubuntu 26.04 (Resolute) PPA by @chenlichao in #774
  • Add GCC-16 to CI by @MisterTea with @Copilot in #776
  • Add windows deployment workflows by @hyec in #777
  • Fix four pre-auth and privilege-escalation issues from security notices. by @MisterTea in #784
  • Keep the client alive when the console fd is not a tty by @jshort in #788
  • Harden HTM sessions, add Windows support, and raise Unix coverage by @MisterTea in #801
  • Stop a stuck client reconnect from blocking every new connection by @vzd3v in #798
  • Fix terminal size query failure propagation by @xz-dev in #803
  • Bring Windows build and tests to feature parity by @MisterTea in #802
  • Disable SO_LINGER: a blocking close() freezes the whole socket layer for 5 seconds by @marchaase in #792
  • Flush large terminal output on Ctrl+C (#631) by @MisterTea in #804
  • Speak tmux -CC from HTM so stock terminals can attach by @MisterTea in #805
  • Replace select() with epoll/kqueue and poll() by @splhack in #809
  • Add optional raw stack traces by @splhack in #812
  • htm: start window ids at @0 and add affinities GUI e2e by @MisterTea in #813
  • Fix session and forwarding FD leaks by @splhack in #810
  • Honor explicit TCP forwarding destinations by @msokolov-meta in #811
  • Isolate SSH config and keep destination options off the jumphost by @MisterTea in #814
  • Preserve partial socket write progress by @miaoever in #815
  • Port all tests to Windows; WSAPoll backend; production code already ported by @MisterTea in #817
  • feat: support OpenWrt builds, packages, and CI (#749) by @MisterTea in #818
  • Add Rocky/Gentoo CI and show SSH login output by @MisterTea in #816
  • fix: parse comma-separated SSH-style tunnels independently (#789) by @MisterTea in #847
  • fix: link executable stacks as non-executable (#677) by @MisterTea in #834
  • fix: tolerate partial listener bind failures (#669) by @MisterTea in #833
  • fix: capture large subprocess output without deadlock (#655) by @MisterTea in #831
  • docs: explain the installed Eternal Terminal programs (#219) by @MisterTea in #821
  • fix: isolate malformed client packets instead of aborting the server (#799) by @MisterTea in #848
  • fix: use a portable login-shell argv[0] (#683) by @MisterTea in #835
  • docs: explain client, server, and helper binaries (#752) by @MisterTea in #841
  • feat: optionally close the remote session on SIGHUP (#707) by @MisterTea in #837
  • fix: honor ProxyJump none in SSH config (#653) by @MisterTea in #830
  • fix: resolve nested SSH Include paths relative to their file (#747) by @MisterTea in #840
  • Fix crash signal infinite loop (#570) by @MisterTea in #829
  • feat: raw command channel for et by @MisterTea in #854
  • feat: positional remote command by @MisterTea in #850
  • feat: close disconnected etterminal sessions after a timeout by @MisterTea in #855
  • feat: local OpenSSH -V and -G queries by @MisterTea in #852
  • feat: propagate remote command exit status by @MisterTea in #851
  • feat: runtime -D and -W forwards by @MisterTea in #849
  • fix: drop journald wall text from tmux -CC streams by @MisterTea in #857
  • feat: cache slow CI dependency and compiler builds by @MisterTea in #859
  • feat: OpenSSH ControlMaster mux for et by @MisterTea in #853
  • test: run htm e2e panes under /bin/sh even when SHELL is set by @tphakala in #865
  • fix: accept TERM values that contain an underscore in etterminal (#860) by @tphakala in #863
  • fix: capture SSH banner stderr during subprocess startup (#769) by @MisterTea in #843
  • feat: install et1 with a one-week disconnect timeout by @MisterTea in #858
  • fix: stop recover from stalling when both sides have large catchup (#861) by @tphakala in #864
  • feat!: give et short flags their OpenSSH meanings by @MisterTea in #867
  • Named sessions and etserver restart survival by @epsalmond in #793
  • feat: honor ssh_config forwards, SendEnv, and session options by @MisterTea in #870
  • fix: initial connect gives up, and reconnect catchup no longer deadlocks (#866, #862, #861) by @MisterTea in #868
  • fix: end sessions when the foreground shell exits (#448) by @MisterTea in #827
  • fix: keep SSH agent forwarding stable across reconnects (#506) by @MisterTea in #828
  • fix: keep listening when one address family is unavailable (#660) by @MisterTea in #832
  • fix: export SSH_TTY for remote sessions (#425) by @MisterTea in #825
  • fix: bound per-connection port-forward work (#298) by @MisterTea in #823
  • Add et --ctl: drive a session through a local control socket by @Kronuz in #819
  • Move platform-specific code behind per-OS implementations by @MisterTea in #872
  • fix: keep VS Code Remote-SSH sessions alive over et across sleep by @MisterTea in #874
  • Make et, etserver, and etterminal mains testable and cover their failure paths by @MisterTea in #875
  • fix: handle client setup failures without exiting or hanging by @jshort in #873
  • fix: ship et1 in the OpenWrt package by @MisterTea in #877
  • fix: show SSH auth banners on the terminal (#769) by @MisterTea in #878
  • docs: explain how to use et with VS Code and Cursor Remote-SSH by @MisterTea in #876
  • Add etctl for driving ET sessions from scripts by @Kronuz in #820
  • Fail the build on compiler warnings by @MisterTea in #884
  • feat: send recorded ssh-agent session bindings on forwarded agent connections (1/3) by @akainth015 in #880
  • Restore real MSan coverage and speed up CI by @MisterTea in #897
  • Document telemetry and how to turn it off by @bos in #896
  • Fix remaining unsafe temporary paths (CVE-2023-23558) by @bos in #893
  • fix: sort wildcard Include matches like OpenSSH by @gaborbernat in #888
  • Fix/windows console modifier nul by @jtbraun in #886
  • Bound descriptors held by port forwarding by @bos in #892
  • Stop running unpinned code in CI and release jobs by @bos in #894
  • Survive hostile remote output in et and etctl by @bos in #895
  • feat: record the ssh-agent session binding made by the bootstrap ssh (2/3) by @akainth015 in #881
  • Refuse forged reattach replies and recover from tampered packets by @bos in #898
  • Fix local privilege escalation and denial of service in etserver and htm by @bos in #890
  • feat: bind forwarded ssh-agent connections to the bootstrap ssh's host key (3/3) by @akainth015 in #879
  • fix: don't treat plain '%' lines as tmux -CC by @MisterTea in #900
  • chore: set the project version to 7.1.0 by @MisterTea in #901

New Contributors

Full Changelog: et-v7.0.0...et-v7.1.0

Don't miss a new EternalTerminal release

NewReleases is sending notifications on new releases.