Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
482 lines (334 sloc) 16.1 KB
2017-07-21 Keith Winstein <>
* Version 1.3.2 released.
* Platform support:
* Explicitly enable binding to both IPv4 and IPv6 addresses.
(Giel van Schijndel)
* Restore perl 5.8.8 support for RHEL5. (Alexander Chernyakhovsky)
* Make tests detect UTF-8 locale with a helper executable. (John Hood)
* Don't print /etc/motd on IllumOS. (John Hood)
* Print {,/var}/run/motd.dynamic on Ubuntu. (John Hood)
* Fix build on Haiku. (Adrien Destugues)
* Disable unicode-later-combining.test for tmux 2.4.
This fixes build failures. (John Hood)
* Bug fixes:
* In tests, explicitly set 80x24 tmux window, for newer versions
of tmux. (John Hood)
* Work around JuiceSSH rendering bug. (John Hood)
* Do not move cursor for SCROLL UP and SCROLL DOWN--
fixes an issue with tmux 2.4. (John Hood)
2017-03-25 Keith Winstein <>
* Version 1.3.0 released.
* New features:
* Change website URLs from to (Keith Winstein)
* Add --no-ssh-pty option for Dropbear compatibility and
other issues.
* Switch to semantic versioning, making this version 1.3.0
instead of 1.2.7.
* Platform support:
* Added nonce-incrementing test. (Keith Winstein)
* Add for Debian. (Keith Winstein)
* Fix CPPFLAGS handling possibly causing curses detection
failure. (John Hood)
* Add an Appveyor/Cygwin CI build.
* Improve warning-flags detection for 'make distcheck'. (John Hood)
* Improve robustness of regression tests. (John Hood)
* Support OpenBSD pledge() sandboxing. (John Hood)
* Use backward-compatible name for AES in
AppleCommonCrypto, fixing builds with older OS X SDKs. (John Hood)
* Detect clock_gettime() and CLOCK_MONOTONIC carefully,
fixing OS X 10.12 + Xcode 7.3 builds. (John Hood)
* Support older versions of Perl, back to 5.10, fixing
RHEL 5 builds. (Anders Kaseorg)
* Add a Travis OS X CI and release build. (John Hood)
* Add --help and --version, enabling Automake's
'std-options' checks. (Anders Kaseorg)
* Add a simple smoke test not requiring tmux, to help
validate builds on older platforms including RHEL 5. (Anders Kaseorg)
* Check for presence of clock_gettime() for OS X, where
the symbol may not be resolved on older OS X versions. (John
* Fix a memory alignment issue in OCB with ARM/Neon. (Carlos Cabanero)
* Mosh now runs correctly on Bash for Windows with Windows 10
Insider builds 15002 and higher. (No change in Mosh)
* Other minor platform compatibility fixes for Mosh
sources and tests. (John Hood)
* Bug fixes:
* Work around a pty buffering issue causing failed
connections on FreeBSD 11, or with Dropbear. (John Hood)
* Restore '-p 0' option for OS-selected UDP port bindings. (John Hood)
* Shell hygiene fixes, including better quoting of
pathnames. (Anders Kaseorg)
* Fix typos in project docs. (Jakub Wilk)
* Fix excess newlines on mosh client startup/shutdown. (John Hood)
* Exit gracefully, closing session, on pty write or ioctl failure. (John Hood)
* Fix two bugs that caused mosh-server to consume
excessive CPU in certain circumstances. (John Hood)
* Fix bug that caused text copied from mosh-client to
paste as long lines joined by spaces. (John Hood)
* Documentation improvements. (chenxiaoqino, Ashish Gupta)
* Use getuid(), not geteuid(), for correct getpw* lookups. (John Hood)
2016-08-10 Keith Winstein <>
* Version 1.2.6 released.
* New features:
* Add Travis CI builds for Linux and Mac. (Anders Kaseorg, others)
* Add a --local option to run without ssh. (John Hood)
* Mosh now returns exitstatus reflecting connection success.
(John Hood)
* Add an end-to-end test suite and many tests. (John Hood)
* Implement timeouts and signals to help address orphaned sessions.
(John Hood)
* Major rework of Mosh's display differencing/rendering
code with much improved performance for slow machines. (John Hood)
* Implement ANSI back/forward tab (CSI CBT, CSI CHT).
(John Hood)
* Do not start user shell until network session starts.
(John Hood)
* Add options for more flexible specification of IPv4/IPv6
hostname resolution. (John Hood)
* Improved bash completion. (Steve Dignam, HIGUCHI Yuta)
* Add options for different methods of resolving the remote host
address, allowing operation without SshProxyCommand. (John Hood)
* Platform support:
* Add configurable support for Apple Common Crypto and
Nettle, in place of OpenSSL. Implement base64 locally.
(John Hood)
* Workaround Cygwin select() bug. (John Hood)
* Updates to Debian packaging. (Anders Kaseorg, Keith Winstein)
* Workaround a glibc-2.22 issue causing segfaults on Debian Sid.
(John Hood with help from many others)
* Prefer c++ to g++, for systems like FreeBSD where g++ is not usable.
(John Hood)
* Fixes for Illumos Hipster 20151003. (John Hood)
* Disable -Werror for protobuf code, to resolve a new gcc6 warning.
(John Hood)
* Link test for -fstack-protector-all on an embedded platform.
(Baruch Siach)
* Resolve issue with bswap64() on FreeBSD-CURRENT with libc++-3.8.0.
(John Hood)
* Fix issue with RECVTOS error message on client on FreeBSD.
(John Hood)
* Bug fixes:
* Remove an assertion causing aborts on Unicode fallback found by
fuzzing with afl. (Keith Winstein)
* Fix a server hang with XON/XOFF on BSD systems. (John Hood)
* Fix a typeahead-prediction bug that caused display corruption on
urxvt. (John Hood)
2015-07-12 Keith Winstein <>
* Version 1.2.5 released.
* New features:
* Bind to a specific IP address with --bind-server. (Philipp
* MOSH_ESCAPE_KEY configures escape character. (Timo
J. Rinne)
* Support non-roaming IPv6. (Anders Kaseorg)
* Implement XTerm mouse mode. (Barosl LEE, Andrew Chin,
Louis Kruger)
* Report Git revision along with version if available.
(John Hood)
* Platform support:
* Add pselect() emulation. (Jérémie Courrèges-Anglas)
* OpenBSD, OS X: Fix be64toh-related issues. (Jérémie
* ARM Neon: fix gcc4.8 compiling problem(Pasi Sjöholm)
* NaCl: Conditionally rename main to mosh_main. (Richard
* FreeBSD: Token pasting, forkpty(), ARM fixes. (John Hood)
* AIX: Implement CTTY grabbing when TIOCSCTTY is missing
(Anton Lundin)
* OS X: Broaden build support to cover OS X 10.5 through
10.10. (John Hood)
* Debian: Improve bash-completion install and
functionality. (Suggested by Gabriel Filion, John Hood)
* Bug fixes:
* Automake/autoconf workarounds. (Anders Kaseorg)
* mosh-server: Allow startup without PTY. (Keith Winstein)
* Properly close old fd on Socket assignment
operator. (Thanks to Igor Bukanov)
* mosh-server: Allow startup with zero-window-size PTY.
(Igor Bukanov)
* AddrInfo: Fix error message generation when node == NULL
(Anders Kaseorg)
* Timestamp: Prevent integer overflow on Darwin PPC 32-bit
(Anders Kaseorg)
* scripts/mosh: Fix hang when remote closes the connection
(Anders Kaseorg)
* Fix issues with parsing of 256-color SGR sequences.
(John Hood)
* Numerous code hygiene, Coverity, and Clang static analyzer
fixes. (Anders Kaseorg, Geoffrey Thomas, John Hood)
2013-03-27 Keith Winstein <>
* Version 1.2.4 released.
* New features:
* Support port ranges with -p LOWPORT:HIGHPORT (Luke Mewburn)
* Ctrl-^ Ctrl-Z suspends mosh client (Nikolai Zeldovich)
* mm:ss display of lost-contact times (Kevin Ballard)
* Show infobar with control chars when Ctrl-^ is typed
* Put terminal in altscreen mode (Anders Kaseorg)
* Tell automake/Debian pkg about our checks (Anders Kaseorg)
* Platform support:
* OS X: Script to build a universal package (Peter Iannucci)
* FreeBSD: Fix build problems (Jimmy Olgeni)
* AIX: port by Anton Lundin
* Solaris with system curses (Anton Lundin)
* Cygwin and others: eliminate use of IO::Pty (Anton Lundin)
* Bug fixes:
* Fix bug (introduced in 1.2.3) where server stays around
if process quits while client is detached
* Clean up spurious entries from detached sessions warning
* Fix freeze when connectivity is one-directional for hours
(reported by Axel Beckert)
* Don't wipe title until a new one is set (sqweek)
* Eliminate memory leaks and cppcheck warnings (Anders Kaseorg)
2012-10-19 Keith Winstein <>
* Version 1.2.3 released.
* Security improvements:
* Use OpenSSL AES implementation
* Update AES-OCB implementation (Keegan McAllister)
* Don't let bad server dictate IP (Felix Groebert)
* New features:
* Client hops ports to survive challenging client-side firewall
* Server stops sending to save client power (Daniel Drown)
* Set DiffServ code point and ECN-capable (Dave Täht)
* Slow down if explicit congestion notification received
* Warn about unattached Mosh sessions on login
* Compatible with KDE konsole (uses BEL to terminate OSC)
* Improved heuristic about color of predicted characters
* Bug fixes:
* Improved performance on systems with expensive time
* No longer choke on "ffff::" address for hosts with IPv6
* More conservative MTU and datagram sizing
* Platform support:
* Build on Solaris and IllumOS (Timo Sirainen, Ira Cooper)
* Build on ARM with gcc 4.7 (Alexander Chernyakhovsky)
* Licensing changes:
* Allow distribution on Apple App Stores
* Allow linking with OpenSSL
2012-06-12 Keith Winstein <>
* Version 1.2.2 released.
* Remove warning on out-of-order/duplicated datagrams
* Add "experimental" prediction mode
2012-05-25 Keith Winstein <>
* Version 1.2.1 released.
* Improve performance on lossy links.
* New diagnostic message when link is dead in only one direction.
* Use less CPU when link is down. (Keegan McAllister)
* Use much less CPU when application or mosh-server sends
large repeat counts (resolves CVE-2012-2385, reported by
Timo Juhani Lindfors).
* Use less memory when mosh-server is malicious.
* Fix vttest regression re: wrapping and tabs.
* Enable roundtrip verifier of terminal emulator correctness
when verbose.
* Remove skalibs as a dependency. (Keegan McAllister)
* Remove use of poll() and OS X poll workaround. (Keegan McAllister)
* Include bash_completion file. (ejeffrey)
* Include UFW firewall profile. (Fumihito YOSHIDA)
* Warning on out-of-order/duplicated datagrams
(or failed nonce increment).
* Clearer error message on invalid port number.
* Cleanups to quit scenario when firewalled.
2012-04-26 Keith Winstein <>
* Version 1.2 released.
* Remove Boost as a dependency (Keegan McAllister)
* Add support for FreeBSD, Cygwin, RHEL/CentOS 5, OS X 10.5 on PPC.
* More verbose and helpful diagnostics. Server now has -v flag.
* Client now has --ssh= flag to set SSH options (like port)
* Remove skalibs as a dependency on Debian/Ubuntu (Keegan McAllister)
* Now passes locale-related env vars over the connection
* Fix startup script to no longer hang on some Macs (Jay Freeman)
* Fix terminal emulation and argument parsing on FreeBSD
* Fix alignment problems on ARM
* Now prints message of the day
* Use binary hardening flags where available (Keegan McAllister)
* Responsiveness and CPU-usage improvements
* Several terminal-emulation improvements and bug fixes
2012-04-03 Keith Winstein <>
* Version 1.1.3 released.
* Builds on armel, armhf, and kFreeBSD.
* Fixes bug causing occasional missing/extra wraparound copy-and-paste.
* Eliminates valgrind complaint over unused winsize fields.
* Close connection after four petabytes (per OCB recommendation).
2012-03-28 Keith Winstein <>
* Version 1.1.2 released.
* Fixes to build on OS X 10.5 with older gcc and -lpoll (Quentin Smith)
* Add --with-utempter and --without-utempter per gentoo request
(Michael Weber)
* configure now requires ncurses headers (and others) to be installed
* Consolidate locale routines to help Android port (Keegan McAllister)
2012-03-27 Keith Winstein <>
* Version 1.1.1 released.
* Fix spec file and build failure on Fedora.
* Print out error message properly on fatal_assert().
* Support for machines without posix_memalign().
2012-03-22 Keith Winstein <>
* Version 1.1 released (stable release).
* Allows user to specify remote command to execute.
* Only advertises 256 colors when user's terminal has 256 colors.
* Add chaff to datagrams to frustrate statistical analysis of length
* Cosmetic fixes to terminal handling
* Improved startup script (Anders Kaseorg)
2012-03-16 Keith Winstein <>
* Version 1.0.2 released.
* Uses xterm-256color and supports 256-color escape sequences.
* Posterizes to 8 colors unless the user has a 256-color terminal.
* Handles terminals without BCE.
* Starts login shell.
2012-03-14 Keith Winstein <>
* Version 1.0.1 released.
* Roughly 40% less CPU usage.
2012-03-12 Keith Winstein <>
* Version 1.0 released.
* mosh now supports --version option and prints no-warranty message.
2012-03-10 Keith Winstein <>
* Version 0.98 released.
* Add option to select server-side UDP port.
* Restrict default UDP port range to 60000..61000.
* Use TERM / terminfo to decide when to send ECH sequence.
* Now works properly inside tmux.
2012-03-07 Keith Winstein <>
* Version 0.97 released.
* Merged Mac OS X port (thanks to Quentin Smith and Anders Kaseorg)
* Server will quit if no connection within first 60 seconds
* Startup script no longer requires threaded Perl
* Add --enable-compile-warnings=error to ./configure
* Fix some flicker issues with adaptive prediction mode
2012-02-26 Keith Winstein <>
* Version 0.96 released.
* Compress all instructions with zlib
2012-02-25 Keith Winstein <>
* Version 0.95 released.
* Make echo acknowledgment reliable to reduce spurious mispredict detections.
* Require two dropped heartbeats before showing blue bar of lost contact
* Print newline before MOSH CONNECT string to make more robust if intermediate keys hit
* Disable ControlMaster in initial SSH connection so proxy is always used
* Make retransmissions occur at frame rate (vs. every 3 seconds) for limited time after loss
2012-02-15 Keith Winstein <>
* Version 0.94 released.
* Make man pages
* Replace C++11 features (lambda and auto) with boost equivalents
(Anders Kaseorg)
* Now builds with g++ or clang (with libstdc++)
2012-02-13 Keith Winstein <>
* Version 0.93 released.
* Make utmp entries
2012-02-13 Keith Winstein <>
* Version 0.92 released.
* Allows user to select prediction mode (always/never/adaptive)
* Fix bug in server startup on slow hosts
* Better prediction when deleting at line ending
2012-02-09 Keith Winstein <>
* Version 0.91 released.
* Startup script support SSH options and aliases (Anders Kaseorg)
* End use of Path MTU discovery and allow IP fragmentation because,
e.g., Cisco VPN has MTU of 1200 and does not pass ICMP too-big.
* Better exception and error handling.
* Restrict predictive local echo display to long-delay links
(>60 ms RTT) or for temporarily after a "glitch." Otherwise simply
show server echos, while maintaining prediction overlay in the
background in case it is needed.
2012-02-07 Keith Winstein <>
* Version 0.9b released.
* Improvements to build system (Anders Kaseorg)
2012-02-06 Keith Winstein <>
* Version 0.9 released.