BetterTelnet Release Notes

Changes from 2.0b4 to 2.0fc1: (The "Almost Final" Release!)

1. Totally new macros! Adjustable keymappings for function, shift+function, arrow, special keys, keypad, wow wow wow (tm)... note that shift+command keys don't work yet so don't report this as a bug, it's a small oversight. New macro file format, too, and totally rewritten macro handlers. You can now even send Telnet options from macros with \377 (= 255 or 0xFF) since this is no longer a special character in macros. You can also specify macros for each favorites/sessions entry!

2. SOCKS 4 and 4a firewall support, long overdue. Should work fine - it's simple and fast. If you have problems look at the result code in the debug log which you can display by hitting Command-' (the single quote key). Debug log is, as always, useful for debugging the telnet protocol too.

3. The entire source code tree has been converted to use new routine names, and OLDROUTINENAMES is now forcibly #define'd 0 just as it was previously 1. This will break your patch code if you haven't started to use the new (longer) routine names yet. It should also make compiling much easier in CW Pro.

4. MKD and RMD commands for creating/removing directories in the FTP server, thanks to Kenneth Guerin. Please note that the FTP server is still unsupported, insecure since although you can control who can access it you can't correctly control what they can access, and buggy in other ways. ASCII transfers are still broken.

5. Dan Jacobowitz' blink code integrated - there is now an option in Terminals to actually blink blinking text. Turn this on if you don't think it'll be too obnoxious; it looks neat. The implementation I've included (slightly different from Dan's original patch) blinks between the regular and blink colors rather than on and off entirely; I'd recommend inverting the default blink colors for maximum effect.

6. I haven't had time to redo the splash screen for this version yet, so there are a few people I'd like to thank: Chas Williams (for Kerb5), Dan Jacobowitz (for real blink), and Kenneth Guerin (for the FTP server mods).

Changes from 2.0b3c6 to 2.0b4:

1. Added support for Kerberos 5 using the Cygnus KerbNet plug-in or the new NRL distribution (thanks to Chas Williams for code to support this).

2. Fixed function keys so they work again (broken since 2.0b3c3).

3. Fixed the cursor ghosting bug in the jump scroller.

4. Jump scrolling is faster under SSH.

5. The emacs metakey options have been fixed so that using the emacs metakey with special keys such as arrows and functions should work now. In addition, bugs in the US EMACS keyboard layout (KCHR) which prevented space, backquote, and underline from being used with the option metakey have been worked around in the application; you do not need to replace or update your KCHR.

6. There is now a "Clear Saved Lines" command in the Session menu which clears the scrollback. You can use this to get rid of sensitive data on screen or to free memory used by the scrollback.

Changes from 2.0b3c5 to 2.0b3c6:

2.0b3c6 was only built with SSH and fixed the SSH pasting bug and dialog cancel bug.

Changes from 2.0b2 to 2.0b3c5:

1. Jump scrolling can now be turned on in the Terminals dialog. This will dramatically speed up BetterTelnet when scrolling lots of text, and it should make BetterTelnet's terminal almost as fast as NiftyTelnet's for scrolling large amounts of text.

2. (updated) A secure shell (SSH) patch was implemented but not distributed.

3. A bug causing duplicated lines in the scrollback, crashes, and various other weirdness when a screen was cleared while the scrollbar wasn't all the way at the bottom has been fixed.

4. A crashing bug in the handlers for the VT220 "insert lines" and "delete lines" commands has been fixed. This should fix the problems with the "most" pager.

5. You can now use the double quote character (") in macros without a problem.

6. You can cut, copy, and paste from and to the Set Macros dialog again. This has been broken since 1.2.

7. BetterTelnet is now linked with Internet Config 1.4.

8. BetterTelnet now registers itself as an Appearance Manager client when the Appearance Manager is available. It will still work without the Appearance Manager installed.

9. (previously undocumented) The carriage return problems with rlogin (and ssh!) are fixed.

10. (previously undocumented) The emulator will always send vt220 function key and PgUp-type codes even when vt100 is selected as the terminal type. The terminal type selection now controls only whether vt220 high-ASCII control signals will be recognized. If you need the old PgUp behavior, turn on "Remap PgUp, etc." Note that there was a bug in the implementation; this is fixed in 2.0b4.

Changes from 2.0b1 to 2.0b2:

1. New prefs file manager automatically expands the prefs resources if needed. Much more room for new prefs now, and you don't have to delete your old prefs file or re-configure anything. Note that you should not run 2.0b1 after running 2.0b2 or later, due to a bug in 2.0b1; versions prior to 2.0b1 should be OK. Programmers should read the header in Preferences.h before changing anything in the prefs format.

2. The plain text matching code used by the AppleScript handler now uses an improved algorithm (Knuth-Morris-Pratt) which will match, for example, "ababcd" to "abababcd". Note that there is no real performance penalty from using this new algorithm.

3. Multiple protocol support is in. Currently, rlogin/rsh/rexec is working (as well as Telnet, of course). Due to urgent data bugs in MacTCP and Open Transport, BetterTelnet cannot determine if the remote host wants window size information under rlogin, so it will not currently send any. An option to force this will be added soon. Note that when you change the protocol in the Favorites dialog, the port number will be automatically set to the default for that protocol.

4. Glue code for Secure Shell (SSH) is in. I am currently finishing up the SSH code, so just be patient. It will be delivered as a patch for 2.0b2 so that the main version will still be available outside North America.

5. Windows now use live/active/dynamic scrolling by default. This is new, so enjoy it. If you don't like it, turn it off in the preferences.

6. The old cosmetic bug from NCSA Telnet causing improper redrawing of scrollbars after a resize has been fixed.

7. A small cosmetic linemode/AppleScript interaction bug has been fixed.

8. The source code will now compile under CWPro1 and CWPro2 with very minor changes to a couple #define's. See the TelnetHeader.pch file in the source code for details.

8. Anyone notice that BetterTelnet is becoming a bit more Appearance Manager savvy? :)

Changes from 1.2.2 to 2.0b1: (Happy New Year!)

1. BetterURLs - The URL command-click code has been rewritten with the help of Rick Zaccone. It now handles multi-line URLs correctly and it shouldn't crash anymore.

2. BetterLinemode - BetterTelnet has new, improved support for the TRAPSIG submode of linemode. This should fix the problems confirmed with FreeBSD, NetBSD, and probably many others, where ^C, ^Z, ^\, and ^D did not function correctly. If you had linemode turned off because of bugs, now's the time to try it again. If it still doesn't work, e-mail me.

3. BetterSignals - Several more signals (abort, suspend, end of file) can now be sent from the Net menu.

4. BetterStability - lots of miscellaneous bug fixes... woo hoo!

5. BetterScrollback - Turns out the scrollback from 1.2.1 still wasn't bugless. The hopefully final bug involved the feature of forcesave that caused the entire screen to be saved if an erase to end of line sequence immediately followed a move to (0,0). Trouble is, the old code erased (or rather, failed to restore) the screen after it was saved, so the current screen got mucked up. Fixed. Also, the new version's Forcesave option applies ONLY to this situation - lines will now always be saved off the top in a partial window provided the top line of the window is the top line of the screen, and the behavior of Erase to End of Screen is now controlled by Clear Screen Saves Lines. (oog, what a mouthful)

6. BetterSpeed - the bug causing delays when switching windows is fixed, but the delay will still remain when opening them. There's not much I can do about this, it's only a few seconds, and you should see the FAQ for details if it bothers you.

7. BetterAppleScript - woo hoo again, scripting support is in! It uses (and requires) AppleScript, and you need to see the beta scripting page for details. Lots of stuff isn't implemented yet, but it's enough to script a login.

Changes from 1.2.1 to 1.2.2:

1. A crashing bug in the printing code involving a buffer overflow has been squashed. This bug was also from NCSA Telnet and caused crashes for some users when printing documents (such as e-mails from pine) using the automatic print feature.

Changes from 1.2 to 1.2.1:

1. Another scrollback bug has been squashed; this one affected the "forcesave" option and caused improper scrolling in ircII and ncftp, among others. Hopefully the scrollback code is now bugless...

2. A new option has been added in the Terminals dialog to not save attributes (text color, style, etc.) in the scrollback; this will save considerable memory for those who don't need the attributes saved.

3. The OTP sequence number of 1 is now valid. Previously, the minimum was 2.

4. The SHA1 hash is now supported for OTP.

5. A new splash screen, thanks to Bryan J. Mychale Montford.

6. A carriage return is now sent after an OTP password.

7. A new option has been added in the Preferences dialog to remember the last OTP or S/Key password used. The password will be remembered until BetterTelnet quits.

8. A new option has been added in the Favorites dialog to remember OTP and S/Key passwords within the session. The password will be remembered until the session is closed.

Changes from 1.1.1 to 1.2:

1. A really obnoxious bug in the scrollback code from NCSA Telnet has been fixed. The scrollback bug could cause parts of the scrollback to be confused with other parts and end up being duplicated.

2. S/Key and OTP (One-Time Passwords) support.

3. Most dialogs are now movable modal, and the Macros and IP Address dialogs are modeless now.

4. The Terminals and Favorites dialogs are now tabbed.

5. A new checkbox in the Font pane of the Terminals dialog allows you to specify that the boldfaced version of a font should be used for the bold font.

6. The bold font is now saved in sets.

7. ESC [?4i is now accepted as a "print off" code, in addition to ESC [4i. Note that both ESC [?5i and ESC [5i were always accepted by NCSA Telnet and BetterTelnet as "print on" codes.

Changes from 1.1 to 1.1.1:

1. A bug from 1.1 which prevented the ANSI Colors from being saved into the preferences file has been fixed.

Changes from 1.0 to 1.1:

1. A few pixel spacing tweaks have been made to make BetterTelnet look a bit nicer under Mac OS 8.

2. You can now select the boldface font for the current session from the Session menu.

3. The clipping of trailing spaces is now controllable via an option in the Edit/Preferences... dialog. When this new option is on, trailing spaces will always be clipped off each line of a selection being copied, printed, or saved. When it is turned off, this will only be done for multi-line selections.

4. A minor bug in editing Terminals or Favorites has been fixed; you can now change the capitalization of the name without changing the name itself.

5. Brent Schwan's new code for bold ANSI colors has been added, along with some efficiency tweaks. These changes also allow attribute data to be saved in the scrollback.

Changes from 1.0fc8 to 1.0:

1. A new option has been added to the File menu allowing the upload of files in plaintext. Note that, to maximize performance, you should set the Paste mode to Quick in Favorites/Edit Favorites... before attempting to upload.

2. You can now save the selection to a text file. Look in the File menu.

3. A reverse DNS lookup is now performed on the remote host when opening a connection if Kerberos authentication is turned on. This allows proper behavior with load-balancing DNS servers and Kerberos. Special thanks to Dan Hyde for the code to implement this.

4. You can now select any font on your system as a boldface font, in addition to the internal "NCSA VT Bold" font. Take a look at Edit/Terminals... for more.

5. You can now tell BetterTelnet, in Edit/Terminals..., to use inverse instead of (or in addition to!) boldfacing.

6. A new command has been added to the Net menu: "Send IP + SYNC". This sends an Interrupt Process the RFC-compliant way: followed immediately by a SYNC signal.

7. You can now tell BetterTelnet to display only monospaced fonts in the Font menu. See Edit/Preferences... Note that this will increase startup time.

8. The ResEdit TMPL templates have been updated.

9. Added more translation tables. Special thanks to Andreas Prilop.

Changes from 1.0fc7 to 1.0fc8:

1. A new button has been added to the Set Macros dialog: "Save as Default". Clicking this button automatically saves the current macros to the "BetterTelnet Macros" file in the Preferences folder.

2. The Ignore Beeps option now has a menu item in the Session menu as well.

3. A new Ignore Form Feeds option has been added to suppress form feeds when printing, allowing more to fit on a page. This option is both in the Session menu AND in the Favorites/Edit Favorites... dialog.

4. Both the Ignore Beeps option and the Ignore Form Feeds option are now saved with saved sets.

Changes from 1.0fc6 to 1.0fc7:

1. A bug causing crashes command-clicking URLs on original 68000 machines has been fixed. Note that there still may be other bugs affecting command-clicking URLs on other machines, and there may still be some bugs affecting 68000s.

2. A couple printing-related bugs have been fixed. Specifically, the last character of a print job is no longer clipped off, but NULLs are removed from the print stream.

3. An option has been added under Favorites/Edit Favorites... to allow ignoring beeps.

4. HOpen() calls have been changed to HOpenDF() where appropriate to prevent accidentally opening a driver (the infamous ".Sony" bug).

5. Selections of one line or less no longer have trailing spaces clipped when copying or retyping.

Changes from 1.0fc5 to 1.0fc6:

1. A memory leak has been plugged, thanks to Dan Hyde.

2. A bug in the way translation is performed has also been fixed, again thanks to Dan Hyde. This bug was present in NCSA Telnet as well and affected international characters in macros and drag-and-drop.

3. You can now change the boldfacing method used from the Session menu, useful if you switch fonts on the fly.

4. The boldfacing method is now saved in sets.

5. A new item has been added to the Edit menu, "Retype Selection", which retypes the currently selected text. This is similar to a function in NiftyTelnet.

6. TMPLs have been added for PrEf, TeRm, and SeSn resources for the convenience of ResEdit aficionados.

7. A bug has been fixed, present since 1.0fc4, which caused some of the popup menus in the Edit Favorites dialog to not function properly. This was due to a bug in the way ResEdit's DITL editor handles controls, and I had to edit the DITL manually using a template to correct it.

Changes from 1.0fc4 to 1.0fc5:

1. A severe bug in the new boldfacing code has been fixed.

Changes from 1.0fc3 to 1.0fc4:

1. A new option has been added to Edit/Terminals... for the convenience of emacs users which allows you to map Del (the forward delete key on an extended keyboard) to Control-D.

2. Internal fonts are now referred to by name, not by number, to prevent ID conflicts.

3. In the Session/Size/Other Size... dialog, the font size can now be as low as 4 points, not 9 points.

4. The internal boldface font has been modified so that the zero can be distinguished from the capital letter O ("oh") and the lowercase L from the uppercase I.

5. Boldfacing has been redone. For one thing, previous versions used the internal bold font only if the selected font was Monaco 9. However, other fonts such as Mishawaka 9 had the same spacing and worked fine with the internal bold font. Thus, this is now controlled by the user, via the "Allow boldfacing" checkbox in Edit/Terminals... Also, for fonts which don't get along well with the internal bold font, turning on "Use color for bold" in Edit/Terminals... will cause BetterTelnet to use the blink color for bold as well. Cool, huh?

6. MacTCP and OT are now loaded the first time they are needed, not when BetterTelnet starts up. This allows users on dialup connections to tweak their prefs without dialing up. Note that if the FTP server is turned on, MacTCP/OT will still be loaded at startup, however.

7. Several bugs in Queue Print Requests have been fixed.

8. You can now use a negative port number to force BetterTelnet to send initial option negotiation codes.

9. You can now use BSD 4.3 CR mode on non-port-23 connections by turning on "...even on non-port-23" in Favorites/Edit Favorites...

10. New versions of Carl Bell's Key/Func MDEF have been added.

11. A new translation table for NextStep has been added, courtesy of Eric P. Scott. It is copyrighted 1994 by Eric P. Scott and is used with permission.

12. The "BetterTelnet Macros" file in the Preferences folder can now be an alias.

Changes from 1.0fc2 to 1.0fc3:

1. The Session menu has been re-ordered.

2. Certain drain bamaged Telnet hosts don't seem to know how to use the VT220 printing codes. For the record, the way to do it is to send the "Begin Printing" code, spew the whole document out, and then send the "End Printing" code. The way NOT to do it is to send the "Begin Printing" and "End Printing" codes before and after each line. I have added a kludge for these drain bamaged hosts in 1.0fc3. Turn on "Queue Print Jobs" from the "Session" menu prior to printing; after the host says it's done printing, turn it off again. If any data was spooled, you will be prompted to print the whole thing then.

Changes from 1.0fc1 to 1.0fc2:

1. The change from 1.0fc1 regarding Telnet option negotiation codes on ports other than 23 has been removed.

2. A new preference has been added which allows you to automatically open the <Default> favorite whenever you start BetterTelnet.

3. The "Open Connection" box will no longer appear on startup, even if the preference is turned on, if you launch BetterTelnet by opening a saved set file.

4. You can hold down the Option key while selecting Local Echo or Set Screen Size from the Session menu to prevent BetterTelnet from telling the remote host about it.

5. You can hold down the Option key while selecting Save Set or Save Set with Macros from the File menu to prevent BetterTelnet from saving window title, position, and size information.

6. A new preference has been added ("Allow typing of aliases") which allows you to type in the name/alias of a Favorite in the input box in the Open Connection dialog instead of a hostname, like you could in NCSA Telnet.

7. A certain infamous spelling error ("reslover") has been fixed.

8. A patch from Olav Brinkmann has been applied which allows proper recognition and interpretation of the VT220 codes to show and hide the cursor. Thanks, Olav!

Changes from 1.0b5 to 1.0fc1:

1. You can now navigate the favorites list while in the Open Connection dialog using the up and down arrow keys.

2. Telnet option negotiation codes will no longer be accepted or sent for any reason on ports other than 23. If this causes any problems, let me know.

3. Some new items have been added to the Session menu: ANSI color sequences, Xterm sequences, 8-bit connections, Remap Keypad.

4. You can no longer crash BetterTelnet by attempting to open a Favorite with a null hostname. You will now see an alert instead.

5. You can now save sets directly from the Favorites dialog with macros by holding down the Option key while clicking "Save Set..."

6. You can no longer confuse BetterTelnet and cause the prefs file to be corrupted by attempting to create two Favorites or Terminals with the same name but different case. (<Default> and <dEfAuLt>, for example)

7. If you export the macros to a file called "BetterTelnet Macros" in the Preferences folder, they will be loaded automatically whenever you start BetterTelnet.

Changes from 1.0b4 to 1.0b5:

1. You can now save multi-session sets directly from the Edit Favorites dialog box. To do this, use the "Save Set" button to save the first session, then use the "Add to Set" button for subsequent sessions; you will need to select the existing set file. The set file will then open all sessions saved when double-clicked.

2. Sets saved from the Edit Favorites dialog now save local echo and half duplex information.

3. A bug has been fixed which allowed the user to resize the window to more than 132 columns by option-dragging the size box. Previously, attempting to exceed 132 columns in this manner could cause odd behavior or a crash. Now, window resizes with option-size are constrained to 132 columns, just like resizes done with Session/Set Screen Size.

4. Quitting BetterTelnet now asks you to confirm the quit if you have any active sessions open. This behavior can be turned off with the new "Don't warn me on quit" preference.

Changes from 1.0b3 to 1.0b4:

1. You can now save single-session sets directly from the Edit Favorites dialog box. These sets are saved complete with terminal information from the currently selected Terminal entry and pretty much everything else except for macros. Note that local echo and half duplex aren't currently saved in any set; this will be fixed soon.

2. The "Save Set" option in the File menu now saves sets without macros. You can select "Save Set with Macros" to save with macros.

3. A bug has been fixed which caused the "Next Session" item to revert to the English text "Next Session" after closing the Preferences dialog box even if the application's resources have been localized. This showed up in Jean-Pierre Kuypers' French translation. Localized resources now work as expected.

4. A bug has been fixed which caused certain items in saved sets (PgUp and Keypad mapping, as well as linemode and 8-bit mode) to not be loaded correctly. This bug also caused multi-session saved sets to not be loaded correctly.

Changes from 1.0b2c2 to 1.0b3:

1. A couple of the dialogs look nicer now.

2. Saved Sets now save MUCH more information. This is in preparation for further enhancements to Sets (such as the ability to save directly from the Favorites Edit dialog box). New information includes: emulation type, forcesave, VT wrap mode, Xterm sequences, ANSI color, EMACS arrow mapping, EMACS meta key, paste method, paste block size, and clear screen saves lines. You will not be able to open sets saved from BetterTelnet 1.0b3 or later with NCSA Telnet or previous versions of BetterTelnet anymore.

3. 68k version now compiled with 68020 codegen turned OFF, so it will run on an original 68000.

Changes from 1.0b1c4 to 1.0b2c2:

1. Now linked with the Internet Config 1.3 library, and the URL command-click code has been revised to use the new Internet Config 1.1 API. You will encounter problems trying to command-click URLs with versions of Internet Config prior to 1.1 installed. Please note that BetterTelnet doesn't require Internet Config; it is only needed to command-click URLs.

2. You can now change the CR mapping method (normal or BSD) during a session with the Session menu.

3. Options have been added to the Net menu allowing you to send BREAK and SYNC signals to the remote computer over the Telnet connection.

Changes from NCSA Telnet 2.7b5 to BetterTelnet 1.0b1:

1. Connecting to non-port-23 hosts no longer sends initial option negotiation codes. This prevents the first line you type from getting garbled. To test this, connect to " 3000" (type that in the Host Name box, without the quotes) and type DCA when asked for a city code. If you are using BetterTelnet, you will get the weather forecast for Washington DC. Under NCSA Telnet, any version, you will get a "no data available" error; you then have to type DCA at the next prompt. This is a serious bug fix! Note that, except in 1.0fc1 (which was broken), BetterTelnet will still properly recognize & interpret incoming option negotiation codes, so you can still connect to genuine Telnet servers on ports other than 23. As of 1.0fc4, specifying a negative port number will open the absolute value of that port number but send initial option negotiation codes anyway in case the server expects them.

2. Connections to non-port-23 hosts have Berkeley 4.3 CR mode turned off automatically, even if it is turned on in the preferences. As of 1.0fc4, you can override this by turning on "...even on non-port-23" right below the option for Berkeley CR mode in the Favorites/Edit Favorites... dialog.

3. New Interface! The prefs have been re-organized a bit, and the Favorites menu now replaces the Open Special submenu of the File menu. Names of Favorites (formerly Sessions) can now contain spaces. You can no longer enter a favorite name ("alias") in the input box in the Open Connection dialog; use the pop-down menu or the Favorites menu instead.

4. You can now use a colon (:) instead of spaces to delimit port numbers. Thus, "" is equivalent to " 3000"

5. The window title now includes the port number if it isn't 23.

6. The pop-down box in the Open Connection dialog works differently now. A check mark in this menu indicates that the settings from that Favorite will be used (<Default> is checked by default); selecting an item from this menu puts a check mark by that item and enters the host name/port and authentication data from that Favorite's settings.

7. You can now automatically open the Open Connection dialog on startup. See the preferences for details.

8. Other small bugs have been fixed.