# mTCP 2020-01-01 Release Notes

This release is mostly for bug fixes, but there is a significant improvement to how TCP handles dropped packets on long streaming data transfers. There were no major changes to the way applications are used.

TCP/IP Library fixes and improvements:

- Add support to shrink and grow the TCP receive window as connection quality changes. This will help keep connections from dropping when packets are being lost.
- Add statistics for UDP and ARP; add checksum error count to TCP; remove redundant stats from IP.
- Fix a bug with the preferred nameserver support.
- Rewrite Utils::dumpBytes to be more efficient.
- Add a warning for whitespace detected at the end of lines in the config file. Treat lines in the config file that are too long has hard errors.

Application fixes and improvements:

- FTP:

- Stuff a BIN command on the command socket as soon as the user logs in to avoid the problem where a server defaults to ASCII and a user forgets to set BIN. Also provide a configuration file override for that behavior for power users.
- Remove direct screen writes from the FTP client to improve compatibility with screen speedup programs.
- Make password optional. (Accounts with no password are legal.)

- FTP Server: Fix an old issue where using the sandbox with the root of a drive fails.
- HTGET:

- Add HTTP 0.9 support.
- Only set STDOUT to binary mode if it is piped to a file.
- Defend better against headers being too long.
- Properly support chunked transport encoding as required by the HTTP spec.
- Add "quiet mode" option.
- Check return codes properly on file operations.

- HTTPServ: Increase the maximum HTTP request buffer size to improve compatibility with very verbose clients.
- IRCjr:

- Lengthen IRC fields so that ZNC can be used.
- Add a work-around for CGA snow.

- Telnet:

- Implement delete key support.
- Terminal emulation fixes: implement ESC c (reset terminal), add save and restore cursor (DECSC and DECRC), exit “overhang” area when an ESC char is detected.
- Add a work-around for CGA snow.
- Add a CGA_MONO color palette.
- Avoid dropping outgoing data when we don’t have available transmit buffers.