Changes made to Grapevine for each release: (*) Denotes features available only in the REGISTERED version of the program. VERSION CHANGES / BUGS FIXED ----------------------------------------------------------------------------- 1.452 - Changed left column text of "Channel was created on ..." Undernet message from "Topic" to "Channel". The server port number now always defaults to 6667 if the port number is not specified in /SERVER or the server connect window. Previously the port number was left the same as the last session if not specified. If a CTCP message from a user is received that Grapevine does not recognize, it will attempt to load a script called "CTCP.cmd", where cmd is the unknown CTCP command. This allows the user to extend the functionality of Grapevine to add things like XDCC or op lists and even create bots. The arguments passed to the script are "nick user@host parameters...". Quit and Kick messages now show the user@host of the user. The channel window scrollbar and highlighted names in the user list were not properly visible on a 2-color screen. Added new command, /DISPLAY, which takes arguments of "ON" to enable or "OFF" to disable the output of all text in the channel windows. Nickname is now changed in all title bars when you change your nick instead of only one window. * Seemingly fixed a strange problem that would cause the use of the * /RX command to lock up Grapevine or paste the pathname of the * script at the end of the command's arguments. 1.405 - It was previously possible to query the same person in multiple windows. Incoming messges from that person would only appear in one of those windows. Now if you query someone a second time in a different window, the query will move to that window. Duplicate entries are now prevented from being added to the ignore and notify lists. It was previously possible to enter strings for server name and server password in the network settings that were much larger than the string sizes in program variable storage space. Entering strings that were too long caused bad side effects. (Server name is now limited to 49 characters in the string gadget, and password is limited to 19.) * There is now a path setting for the location of ARexx files in the * distribution. This path will be checked for Grapevine ARexx scripts * before any others. The order of path checking is as follows: * * Grapevine ARexx path setting * Grapevine program directory * REXX: * The basename of the Grapevine ARexx port is now GVREXX instead of * GV_REXX. Similarly, the file extension for Grapevine ARexx scripts * is now ".gvrexx" instead of ".gv". These changes simplify the * ARexx script execution code in Grapevine. Make sure you rename your * startup and shutdown script extensions to .gvrexx. 1.394 - Opening the display settings window now will not crash AmigaDOS 2 systems. This was sort of fixed before, but only because I temporarily removed the palette gadget and forgot to re-enable it. So the palette gadget is also back where it belongs. Changing your fonts or using new display settings will also no longer crash AmigaDOS 2 systems. Thanks to my friend Mark Strand for loaning me a 3MB A500 that I can boot AmigaDOS 2 on for testing and debugging Grapevine. Without it these AmigaDOS 2 bugs may never have been fixed properly. The channel window string gadget was not being aligned properly after I took out the op/voice status indicator The nickname in the titlebar is now updated as soon as you change your nickname. Fixed a new bug that prevented you from joining a channel if you already tried but were banned, used the wrong key, or tried to join a full channel. Also prevented you from joining any channel in a window in which you tried to join an invalid channel. Bug was introduced when I fixed the join bug in 1.373. 1.375 - Removed double Enforcer hits that occurred every time a message was added to the window in 1.373. 1.373 - Nickname and op/voice status now appears in the title bar until I do the status bar. When the status bar is in place, this title format will be used if the status bar is disabled. Disk logging now uses asynchronous file output, so there are no more delays while the log is being written. The channel join bug listed in the "Bugs" file is now gone. Channels are now always joined in the window in which the join command was issued (provided the project is not already used for a channel or another join in that project is not pending). 1.365 - Alias removal was broken. Aliases can now be properly removed. Leading '/' before aliased commands is now ignored. Arguments are now properly passed to aliased commands. Oops. The ignore removal message is printed in the current window where it was supposed to be. 1.363 - Added /ALIAS. This is implemented thus far as simple aliases. No variable options are supported--the given alias is executed as-is * with no argument expansion. Use an ARexx script if you need to * expand or parse options. The maximum number of recursive iterations allowed is currently hardcoded to 10. (NOTE: Rescursive aliases increase program stack usage slightly.) Settings files are loaded from PROGDIR: again. (This was broken in post-1.182 beta revisions.) /IGNORE now applies to CTCP ACTION messages. 1.347 - Fixed some problems with font loading. Grapevine was not explicitly looking for a plain font, so there was a chance that it would load an italic or bold disk font if one existed (i.e., 11i or 11b). Settings files are now listed in the Load/Save Settings requesters. The wrong ASL pattern tag caused no files to be displayed. Eliminated the pixel dust in the string gadget area that was left after the window size was reduced vertically in 1.288. /IGNORE is now mostly implemented. The kinds of messages to ignore is not yet an option--it will ignore all public text, /msgs, and /notices from the specified user. Ignore format is nick!user@host. No notification is yet sent to the other user that he/she is being ignored. Fixed a problem in 1.288 that caused both /'s to appear in a "//" message. ("//test" should have appeared as "/test" as a public message. This was broken some time after 1.182.) If you specified a filename for a log file, the log would be put in the current working directory (/CD). However, if you did not give a filename, the log with default filename would incorrectly not go to the current directory, but rather would be put in the Grapevine directory. All logs now properly go to the current dir. You can now start Grapevine without connecting to a server by specifying the NOSERVER command line option. You can now specify the startup and shutdown script names with the STARTUP and SHUTDOWN command line options. Grapevine will inform you if it cannot load the scripts if you used one of these options. Defaults are still "startup.gv" and "shutdown.gv". The palette gadget in the Disply settings window now shows the proper number of colors for the display mode (maximum 8). Removed V39-only commands from Amigaguide documentation. 1.288 - The stack size is now checked when the program is run. If it is less than 8192 bytes a requester is displayed and the program exits. /OPENLOG was changed to /LOG, and now accepts a filename argument. If no argument is specified, the filename will be "GVLog." and will be placed in the current directory (set by /CD). Program now calls DisplayBeep() if a message contains a ^G. Only beeps once, regardless of how many beeps are packed in a message. Beeps can be toggled with the "Enable Text Beeps" menu option in the Settings menu. Added /SILENCE Undernet command. Silence is a server-based ignore facility. Added support for all Undernet command responses/extensions: ban setter/time, channel creation time, user signon time, and topic set time. (Topic setter name was already supported.) Added /USERHOST command. Began the shift to a new interface layout by removing the nickname and the op/voice status indicator from the bottom of the channel window. For now they are shown in the titlebar while the rest of the interface is under construction. Intuition.library is now used instead of asl.library to determine the OS revision being used. (ASL was used because some people try running KS V39 or newer without replacing their disk-based libraries appropriately.) Found one bug that caused the Display window to crash on 3, the channel text gadget borders were rendered wrong. Likewise, if textpen or backgroundpen were set >3, text would be rendered wrong. Of course, textpen and backgroundpen are not changeable in any OS through V40 anyway, but any future problems are now avoided. In fixing text mask stuff, with background and text pens of 0 and 1 respectively, text scrolling speed in the channel window was increased noticably (not that it wasn't already fast :). Fixed a bug in the display config window that prevented screenmode from being selectable if you were using a private custom screen before that display type was removed. Display type now properly reset to custom public screen. The Quit menu option now brings up a confirmation requester. If Grapevine cannot close its custom public screen, a Retry/Cancel requester will pop up reminding you that all windows from other programs must be closed before GV can close the screen. If you select Cancel, Grapevine will unlock the screen and exit, leaving you responsible for closing the screen later with a public screen manager if so desired. The 8-color icon menu option is now disabled if the current screen is less than 3 bitplanes, and 4-color icons are used. The "Open Icon Window" menu option is now "Toggle Icon Window". Selecting it will toggle the open/close status of the icon window. When connecting to a server or when using a modal requester (e.g., ASL), the busy pointer is now set in all Grapevine windows. /CD command now works properly, and the path is now passed to DCC programs. Fixed an enforcer hit in the case that no arguments were given for /DCC. 0.1758 - If other windows were up on Grapevine's custom public screen, the program would quit without closing the screen. Grapevine now waits until the screen is closed before quitting. 0.1757 - /DCC was passing user arguments wrong. /DESCRIBE now outputs target nickname. Notices to domains (e.g., *.edu) were being printed twice. 0.1743 - Menu key presses from the channel string gadget were causing the input string to be used as if return were pressed. 0.1741 - ALT+right/left cursor in the channel string gadget now moves between the beginnings of words. 0.1739 - History string space is now dynamically allocated instead of using 285 bytes per string automatically. DCC.Send was messing up if a full path was given with the filename by the remote user. Removed the beeps at the top/end of the command history. 0.1736 - DCC is now as complete as it is likely to be until it gets a GUI in the future. Added commands /DCC, /DCCLIST, and /DCCCLR. Note that /DCC will not work yet with DCC.Send since it does not have sending stuff yet (only receive). Channel string gadget history *FINALLY WORKS*!! I've been trying for MONTHS to get the hook to be called correctly, and now it is. There is currently a 50-string history limit until I do the last config window. Menu hotkeys are now accessible from the channel string gadget. Be careful with Amiga-Q though. It will quit the program without asking you. "Custom Screen" option was removed from the display config. All Grapevine custom screens will now be made public. ("Custom Public Screen"). Fixed string/status gadget positioning problem with small fonts. Fixed stupid bug in /QUIT command that was causing TCP functions to be called in serial mode. 0.1696 - Old "DCCA.Send" is now obsolete. Use the new "DCC.Send". From now on, DCC programs will be called "DCC.". Parameters are now passed to DCC clients that specify where it should place the GUI and who the DCC is from. Chanop/Voice images now cleared when kicked out of or when leaving a channel. Custom public screens are now named with a trailing .# to avoid conflicting screen names. Public screen name is displayed in the titlebar. 0.1666 - Fixed enforcer hits on opening of custom screens. By fixing this, Grapevine will also now use the fonts that are defined for any screen Grapevine opens on, instead of only the original or Workbench screen. A string of ^G's was messing up word-wrapping. The inverse style character (^V) was being detected wrong since 0.1649. A line of nothing but style control characters will cause a hit. Channel mode window can now be opened even if you are not a channel operator. However, the "Use" button in channel mode requester is disabled if you are not a channel operator. 0.1663 - Fixed a BAD bug in settings file saving. If an older version of a config file was loaded, the same version number would be saved if "Save Settings" was performed. Then the new prefs info was not loaded next time. Channel window scroller arrows and program menus were being rendered with the pens for only the original screen that GV was opened on. Moving GV to a new screen did not cause the menus and arrows to be rerendered for that screen. Forgot to add /HELP information for /DESCRIBE. 0.1659 - Screen/prefs settings now reset when "Load Settings" selected. Names list scroller is now the same width as the channel window scroller. Grapevine was opening on Workbench when started if "Named Public Screen" was selected in the display prefs. If display was changed to named public screen in display prefs, that screen was not being moved to front. There was a problem on some machines with moving Grapevine to a named public screen. Some gadgets were not rendered. 0.1653 - /DESCRIBE command added. Also, incoming CTCP ACTION messages sent directly to you instead of the channel are denoted by «Describe». /J and /L are now shortcuts for /JOIN and /LEAVE, respectively. 0.1651 - /QUIT was causing serial users to crash or hit on exit. Fixed. 0.1650 - A silly word-wrap bug was introduced 0.1649, fixed now. 0.1649 - Eliminated enforcer hit in /NAMES if no arguments were specified. "/NAMES *" and "/LIST *" now show full name and channel lists properly. Word wrapping in channel window resize is now at least twice as fast as before. 0.1643 - Removed new bug that prevented scrolling with arrows. (Was actually scrolling 0 pixels.) Palette slider values were not set properly in ECS screenmodes when display config window opened. I sort of fixed the chanop count problem in 0.1640, but in doing so I introduced a different count problem. NOW it's fixed. 0.1640 - Display configuration window, including support for public, custom, and custom public screens. (A custom public screen is a public screen which Grapevine creates.) This obsoletes the GVPUBSCREEN environment variable, which is no longer recognized. A great deal of work for one silly Changes file entry. :) /CD command temporarily disabled pending bug fix. Fixed a bug in the chanop counting method. A mode change such as "mode +ooo JoeUser JoeUser JoeUser" would result in adding 3 to the chanop count. Voice and mode status now shown with images instead of text. Furthermore, change of status does not cause an ugly refresh. Temporarily fixed a major bug that caused a crash on exit with TCP. Busy pointer now triggered properly when channel window is resized. A faked DCC command containing ':' would bring up a system volume requester. More meaningful DCC error messages are now sent to the originating party. Server information for /WHOIS and /WHOWAS is now reported as the appropriate message type instead of always /WHOIS. The wrong letter was underlined in the gad¸get label for User name in the network config window. If the icon window is closed when settings are saved, it will not be opened when the program is run next time. 0.1493 - A brand new channel window wasn't being set as the current window for output of some command output... you had to deactivate and reactivate it. Added IRC operator commands /KILL, /CONNECT, /SQUIT, /OPER, /REHASH, and /RESTART. Channel window now has scroller arrows. The main Grapevine program now works in 4K of stack. However, HFTgv should still be set to 40K to avoid crashing when Grapevine returns control to it. LOST CHARACTER PROBLEMS **ELIMINATED**!!! I've been working on this problem for months, and FINALLY it's FIXED! This bug affected almost everybody, depending on the type and speed of connection. Serial.device clone users were most affected. The problem of input deadlock with MagicMenu, PowerSnap, and Workbench icon dragging and drag-selecting is now eliminated. Error messages now report the server from which the message originated. Now more willing to accept much longer incoming lines. Also eliminated possible problems if an incoming line did not terminate before the input line buffer was full. If you changed your nickname, then someone else changed their nick to what yours was, then to another nick, Grapevine would report the second nick change as "Your nick is now ..." Second channel window was not opening in the right place unless you first unactivated and reactivated the first channel window. /OP, /VOICE, /BAN, and their complements all now accept a channel argument. Server password field was not being saved in the Network config. IRCLink fixed to compile under NEXTSTEP. (Fix by Ezy) IRCLink is now much better at notifying Grapevine if the server connection is lost. 0.1416 - Will now start from Workbench, for AS225 only. No tooltypes are recognized. 0.1408 - There was a serious bug in serial mode if Default.GVPrefs could not be found. It had to do with the empty username field, so now if the default username is blank, the username will be used, which is "Unknown" if no prefs file is found. Default window size/position now accounts for the icon window, and the icon window is properly positioned below the titlebar. 0.1395 - Amigaguide format documentation is now supplied. Currently I have completed basic documentation on all of the input commands, menu items, and graphic icons, and some other miscellaneous features. The documentation is quite complete as far as Grapevine itself is concerned, but does not cover IRC in general. Please advise me of any errors or inconsistencies you find. This help is not yet available online from within Grapevine. Now compiled with DICE Commercial 3.0. Re-registration was attemped on a nickname change. /ABOUT, /VOICE, /UNVOICE, /BANLIST commands added. If you did a "/msg ," followed by a "/msg .", the latter would use "," as the nickname. Op/Voice status in lower left indicator was not reset on exiting a channel. You now have a choice of 4 or 8 color icon set, and all of the icons in the toolbar are fully operational. There are quite a few more icons which are completed but have no use at this time, so I haven't included them in the toolbar until they have a purpose. Some empty CTCPs were causing enforcer hits. Clicking in the namelist window above the listview gadget will unselect any highlighted entries. Invite channel mode changes were changing the topic flag instead of the invite flag. Tool icons are no longer in channel window, but rather in a single dedicated window. Icons will operate on the current/last active project where applicable. Position of icon window will be saved in settings file. Fixed incorrect output when wrong key was used to join channel. When changing servers, channel op/voice status, away status, and user modes were not reset or carried over. Now away is cleared, op/voice is set according to the server, and user modes are kept by sending the server the proper user mode command. "Op" wasn't set in the lower left gadget if you started a new channel. Input focus to the string gadget is now not lost for any reason as long as the window is active. However, there is still chance for character loss between when the gadget is deactivated and reactivated when you are pasting several lines to the gadget with one of the snap commodities. Output of most actions now goes to the current window. However, if you issue a command and change to another window, the reply will appear in the new window, not in that from which the command was issued which caused the output. Normally not an issue unless there is a great deal of server lag. Op/Voice status in lower left gadget was not cleared if channel was left but window not closed. Default normal and zoom channel window settings are now saved in the config file. The settings saved are based on the project which is active when the "Save Settings" menu option is selected. User settings window completed. This is where all of the IRC text is defined, including nickname, user information, and default kick/away/quit messages. Network settings window completed. This is where all of the net-related stuff is defined, like username, hostname, and server. No longer recognizes ANY ENV: variables except for USER, REALNAME, HOSTNAME, and GVPUBSCREEN since everything else is configured from within the program now. Hopefully fixed obscure problems with keeping track of number of users in a channel. (Some PART messages were just being tossed out for some goofy reason.) Also, number of users is no longer reported as a part of the /NAMES response. Removed Enforcer hit from MODE -l (removal of user limit). /CD command now implemented to change or view current directory. Applies to DCC transfers. DCC was not running if a size argument was not specified by older ircII clients. If a DCC cannot be accepted for some reason (DCCA.Send not found, etc.), the user originating the DCC will be automatically notified that the DCC attempt failed. /WHOWAS was being parsed as /WHOIS. Fixed DCC redirecting for serial users. The icon toolbar is now along the TOP of the channel window until I make it configurable to either top or side. If user registration fails, Grapevine will now try registering again. More info is reported in error statements from the server now, but I still haven't customized each error statement. Op and Voice info is now kept current in the lower left gadget. Whole window no longer erased when you change nickname. /MODE wasn't passing all arguments to the server if channel name wasn't specified. Added Grapevine commands /OPENWIN and /CLOSEWIN. Added IRC commands /ADMIN, /INFO, /LINKS, /LUSERS, /MOTD, /STATS, and /TRACE. Fixed up some help strings, namely for /WHOIS and /WHOWAS. "/MSG ," now properly sets the nick for "/MSG ." Temporarily kludged the output of STATS and TRACE to show all output. Also, all error messages should display full text from the server, although not necessarily in an organized fashion. 0.1245 - Fixed enforcer hits caused by messages with no text (such as blank lines in the /RAW INFO response). Font used in channel text gadget will no longer change if you change the system default font. Fixed crash that would happen if the specified public screen could not be locked. Still was crashing if /server was used in serial mode. Forgot to return after displaying error message. Changed how /MODE is parsed, so "/MODE b" works. DCC GET is now implemented in a rudimentary form thanks to ScottE's impatience. :) You need to have the file "dcc-get" in the directory Grapevine was started from. For now it is VERY basic, and automatically receives files, to the current directory. Because of above, DCC redirection is now disabled if you are using AS225, but is still valid for serial users. I yet again changed the way in which window size is determined because of many of the incomplete RTG implementations out there, including Spectrum and Retina. Channel info is now cleared immediately when you /LEAVE a channel instead of waiting for the server to send the PART message. 0.1234 - Added message to indicate /PING was initiated. Fixed bug in namelist building if more than one message was required to send the complete list (i.e., more than ~65 users). /VERSION now defaults to current server if not specified. /MSG and /NOTICE to a channel now appear in the correct windows, /MSG as if you had entered a normal public message and /NOTICE with '-' around your nick. Eliminated an enforcer hit which resulted from "/CTCP nick ping". I had assumed the user was using /PING. Added the /TIME command. Help was there for it, and I even had the function prototype done but didn't do the function. :) The State and Settings menu items are now ghosted. Selecting them caused the program to exit. Settings menu position changed to be the rightmost. "/MSG ." will now send a message to the last person/channel you send a message to. Same for "/NOTICE ." DCC CHAT now refused. Only DCC SEND is redirected to IRCDCCNICK. Was not recognizing the KILL message. Assumed it to be KICK. Small bug in a control character stripping routine was messing up topic strings that included control characters. Greatly cleaned up /WHO response output. "/MSG ," will now send a message to the last person/channel you received a private message from. Same for "/NOTICE ," No longer compiled for 68030 CPU. Will work on 68000. PUBSCREEN environment variable was renamed to GVPUBSCREEN. A new bug was introduced in 0.1213 that disabled /HELP UNBAN. /BAN and /UNBAN now both take up to three arguments, and support the nick!user@host format. /BAN actually did before, but it was documented in /HELP as only taking a nickname. Domain-wide messages were reported as being sent to the person who sent it instead of to the domain. Fixed recent bug that caused CTCP replies to be chopped after the first word. Fixed a throughput problem with serial operation. /M is now an alias for /MSG. /VERSION and /TIME no longer depend on the server name being known by Grapevine (affected serial users). Fixed how windows are sized and positioned on screen. 0.1213 - /SERVER command had big problems if you had an invalid nickname (usually "Nickname already taken" due to net lag). You would be stuck in the channels like it was before I added channel rejoining. Now it SHOULD always work, unless a server does not send the expected welcome message. If a channel mode changed after you've been disconnected and before you reconnect using /SERVER, you would be stuck in the channels in Grapevine but will not be "joined" by the server. Window join info will be cleared if you cannot rejoin the channel. Channel modes are now properly updated in the titlebar when they are changed. Added /SIGN and /SIGNOFF aliases for /QUIT. «Bad Data» IS NO MORE when using sockets! Fixed problems with a complete /list, /names, or /who overflowing the buffer in both serial and socket modes. Bug fixed in a socket closing thing if an unusual error occurred. /LIST response was causing enforcer hits if there was no topic set. If you close a channel window to leave a channel, the message that you have left is now hidden. It is rather obvious you left. Fixed up a few of the more important server error message reports. 0.1190 - Fixed problems a couple people were having with the namelist gadget sizing itself too narrow. Eliminated possibility of enforcer hits resulting from textless PRIVMSGs and NOTICEs. Those are illegal, and possibly occured for one person because of the problems with bad data in the socket code. Now requires keyword LOCAL on command line to start up in local mode. /SERVER command is now disabled in local mode. Would crash if used before because it assumed sockets were already set up. /INVITE message (when inviting another user to a channel) has the parameters reversed. Fixed simple bug in /SERVER command that prevented registration information from being sent to the new server after being disconnected by the server. Channels now rejoined after /SERVER command. 0.1173 - Fixed really stupid bug that destroyed the machine on serial startup. Still can crash on exit for some way unknown reason. 0.1172 - Fixed nasty bug where a refresh was attempted on the namelist window after it was closed, causing the program to go south. Bug fixed where long unwrapped lines would create a blank line after them. Resizing a channel window that was not full yet made lines not appear until there were enough to start scrolling. Fixed. Existance of variables USER and IRCNICK checked on startup. Grapevine will not start without these defined (or NICK specified on the command line). "Unknown" is now default for HOSTNAME and REALNAME. They are only used at this time for CTCP FINGER response, so they still should be defined to something meaningful. Channel /NAMES list would only keep the last part of the list if there were too many names for the server to send in a single RPL_NAMREPLY message. Made string gadgets in channel mode window wider. Removed output of RPL_ENDOFNAMES because it was redundant. (Number of users/chanop indicates list was complete.) Added PUBSCREEN keyword to specify a screen other than Workbench which Grapevine should open on. Grapevine will exit if the named public screen is not found. Scrolling now works right when buffer fills up and old messages are deleted from the top. Scrollback size reduced to 64K, which gives you about 1600 lines. Program was not exiting when there was an error configuring the serial port. About window image updated. Encrypted messages now go to the correct window. CTCP requests from other users are now hidden until I make that optional. Windows now open by default just under the titlebar in the upper left and are sized such that the channel window + userlist window fill the width of the screen. Also, new windows are positioned just beneath the titlebar of the previous window. Mode changes are now correctly reported, and in plain English even! /MODE command was messed up if you tried to set or view user mode. Also would display help if you only specified a channel with no mode arguments, which now displays the current mode for that channel. And it did not send the command to the server for "/MODE #channel". Fixed a problem with the /UNBAN command. Added REALNAME and USER CLI arguments. USER may not stay at release time to avoid problems with excessive hacking. Although a setenv is just as easy. Bold, underline and inverse are now rendered in the channel window. 0.1126 - Added IRCPASS env variable for server password. Also added a password argument for the /SERVER command. Users are no longer made +s by default (don't ask me why it was doing this, but I fixed it). Fixed target window for RPL_TOPIC and RPL_TOPICSETBY messages. Cleaned up irclink, notably removing the quit-on-ctrl-g thing. A leftover from the program's old use. (Sending a ^G from GV would quit irclink and close the server connection.) Made the string and integer gadgets in the channel mode window a little wider. Added commands /TIME and /VERSION. All beeps removed. DCCs were being redirected to RedWine automatically.. useful for me, but not for anyone else. :) Now there is an environment variable DCCNICK which you can set to the nick of another IRC login, presumably using the ircII client. Any DCC requests sent to the Grapevine client will be automatically redirected Maximum scrollback size increased to 384K until full-buffer scrolling bug is fixed. 0.1115 - Fixed gadget sizing for the userlist gadget. CTRL-C from the ReadArgs() prompt left signals hanging, fixed. 0.1112 - Added /PING command. Reports seconds to bounce a ping message from a user or all users in a channel. Added server option to LIST command. Changed the userlist gadget to use the default monospaced font. Since I can't use clipping regions in a listview callback because it is called sometimes within a BeginRefresh/EndRefresh, this is the only fix for the bug where fonts would overwrite the gadget. The window's width is also fixed now. 0.1107 - Fixed the refreshing in the listviews. Slower systems than mine (50 MHz 030) would pause when the list changed. /KICK was only sending the first word of the reason text if the channel name was not specified. Channel string gadget now activated when window is first opened. 0.1100 - Consider this the first actual beta release. Some changes were made since the alpha releases: NOW it should no longer crash on exit under AS225. String gadget is always activated when the window is activated. Menu command keys are not available until I do the callback hook. Clicking on the chanop icon now will toggle op status. Channel window positioned just below the titlebar. Userlist window now positioned to the right of the channel window if there is room, based on the actual channel window dimensions. Environment variable "USERNAME" changed to "USER" to be consistent with everything else out there.