- A full manual has been written, and is supplied as a Windows Help file alongside the program executables.
- Support for public keys in SSH-2, both RSA and DSA. Agent forwarding is supported, but only to OpenSSH servers, because ssh.com have a different agent protocol which they haven't published.
- (Yes, I know I've been claiming DSA is horrifically insecure for ages, but now I've been told about a clever way to get round the insecurity. Details are in sshdss.c for anyone who's interested; credit mostly goes to Colin Plumb for letting me know about it. We still think RSA is better, and recommend you use it if you have the choice.)
- PSCP now uses the new SFTP protocol if possible, and only falls back to the old scp1 form if SFTP can't be found (for example, if your connection is SSH-1). This should allow it to interoperate cleanly with ssh.com's product, and is a security improvement besides.
- PSCP, in old-style scp1 mode, is now much tighter on security. It will refuse to let the remote host write to a file that doesn't have the same name as the file that was requested. NOTE WELL that this disallows remote-to-local wildcards such as "pscp server:*.c .". scp1's implementation of server-side wildcards is inherently unsafe. If you are sure you trust your scp server not to be malicious, you can use the "-unsafe" command line option to re-enable this behaviour. When using the new SFTP-based back end none of this is a problem, because SFTP is better designed.
- Generic port forwarding support is now supported, thanks to a very comprehensive contribution from Nicolas Barry.
-X11 forwarding support. Thanks to Andreas Schultz for doing a large part of the coding for this. Authentication munging is supported. However, PuTTY does not currently attempt to authenticate connections to the local X server, because finding the authentication data to do so is server-dependent and complex and I thought I'd wait to see what servers people actually want to use this with.
- Added an SFTP client, for the improved file transfer protocol that comes with SSH-2.
- Full-screen mode, "like a DOS box". Not really like a DOS box, since it works within the current graphics mode rather than shifting into text mode, but it seems to work.
- Support for resizing the font rather than the terminal when the user changes the window size. Also supports a hybrid mode, in which window resizes change the terminal size but maximising or going full-screen changes the font size. Patch due to Robert de Bath.
- Unicode support in the terminal emulator. In the first place this allows us to support servers which actually send UTF-8 down their terminal sessions; but the architecture changes also mean that instead of specifying the local and remote character sets in the Translation panel, you simply specify what character set you expect the server to be talking, and PuTTY handles the rest automatically. Many thanks to Robert de Bath.
- Experimental rlogin support. Thanks to Delian Delchev for the patch. Note that this may fail because the rlogin protocol relies on TCP Urgent data, which not all operating systems get right, and which not all firewalls pass through correctly. Also, local flow control is unsupported as yet, and the "flush" command is not handled correctly. Despite all this, it worked fine for me!
- Improved support for local echo and local line editing. These are now separate options, controllable independently. PuTTY will make sensible guesses at the right settings, but those guesses can always be overridden by the user.
- Improved bell support. There's now a whole configuration panel; you can choose a bell that plays the Windows default sound, or plays a sound of your choice, or flashes the window, or does nothing. In addition the window's Taskbar entry can be made to flash if a bell goes off when the window is minimised, and also there's an option that disables all bells if it receives them too fast (so that if you cat a binary file into your terminal it won't bleep for a week).
- Support for AES in SSH-2.
- Default Settings can now be used to save a default protocol and port number.
- Scrollback should now automatically scroll if you try to drag-select off the top of the window (or off the bottom of the window when it's scrolled back), so you can easily select more than a screenful.
- We now support rectangular-block selection, triggered by holding Alt while you drag the mouse. (You can also configure rectangular selection to be the default and Alt-drag to be conventional line-by-line selection.)
- The mouse pointer can now be configured to disappear when the PuTTY window is active and text is typed, and reappear when the mouse is moved, à la MS Word. Particularly useful for those of us using focus-follows-mouse, where the pointer is quite likely to be inside the window and obscuring the view.
- The cursor can now be displayed as an underline or as a vertical line, as well as a block. When it's a vertical line, it does something useful when not-quite-wrapping in the rightmost column.
- Keepalive timeouts can now be specified in seconds rather than minutes.
- Support for Diffie-Hellman group exchange in SSH-2.
- If you don't supply a username, PSCP now guesses your remote username to be the same as your local username. (On Win95/98, this might not be useful to everybody, but it's at least no worse than bombing out with a complaint. On WinNT, it might be seriously useful.) Patch due to Christian Biesinger.
- You can now enter a service name such as "finger", in place of a port number. Patch due to Christian Biesinger.
- It's now possible to invoke a second Pageant with some key files on the command line and have it feed those key files to the first Pageant. Also, you can make Pageant start another command once it's initialised itself; for example, "pageant -c wincvs.exe" to start Pageant and then start WinCVS.
- Scrollback on the terminal is no longer implemented by physically copying a huge array. It should now be safe to use very large scrollback buffers without suffering noticeable slowdown.
- Patch due to Roman Pompejus: the "-log" command line option on PuTTY is gone, replaced by a proper GUI-configurable logging facility.
- Implemented a selection option to paste line drawing as the underlying characters or as poor-man's. Thanks to to Robert de Bath.
- Ctrl+Alt can be configured to either have the traditional PuTTY behaviour (Ctrl+Alt+X is equivalent to ESC then Ctrl+X), or to behave like AltGr. Thanks to Robert de Bath.
- Added SCO ANSI function key support (F1 is ESC [ M and F12 is ESC [ X, with all obvious points in between).
- Font changes when the window is maximised now keep it maximised. Thanks to Robert de Bath.
- The Application key on Windows keyboards now behaves like a Compose key all the time. Compose behaviour on AltGr can still be configured on and off. Thanks to Robert de Bath.
- The terminal driver now returns a configurable string when it sees ^E. Thanks to Robert de Bath.
- The About box now has a button that brings up a browser pointing at the PuTTY web site. Thanks to Eric Theriault.
- Bug fix: the long-standing socket buffering bug should now be gone forever. If PuTTY is receiving data faster than it can send it out, it will attempt to slow down the entity it's receiving from rather than continuing to grow its buffers without bound.
- Bug fix: AltGr should now be fixed. It was broken in 0.51.
- Bug fix: repeat key exchange in SSH-2 is now handled correctly. You should no longer see "Server failed host key check" after your session has been running for an hour.
- Bug fix: various socket-handling problems should be corrected. Crashes on network errors, bad handling of TCP Urgent data in telnet and rlogin, and truncation of output when the remote server sends a lot of data and then immediately closes the connection. Thanks to Robert de Bath for the TCP Urgent stuff.
- Bug fix: the cascading-error-boxes bug should be fixed. (This occurred when you had keepalives enabled and got Connection Aborted.)
- Bug fix in the configuration box: controls in panels other than the visible one should now not be able to get keyboard focus.
- Bug fix: Tab and accelerator keys now work in the Event Log and in the About box while a session is running. Thanks to Roman Pompejus for the fix.