Last Change : 1 Jun 1996

Changes in 1.17

1) Fix bug in startup code

2) Fix problem when fonts etc. are missing

3) Add Server/Trace window

4) Add Missing Stats option and parameter window

5) Fix some dialog box problems

6) Add dump function

7) Changes to DCC internal comms

8) Fix some File dialog errors

9) Fix Channel closetime configuration error

10) Button 2 used on the Quit button and on Leave buttons makes them
    popup a menu. Some features work now and some are reserved for use
    with ircd 2.9 features.

11) Start to fix various memory leakages

12) Add WHowas an fix WHOIS for ISON prompt boxes.

13) Fix whowas + count problem

14) Fix pasting into Info window entry line

15) Fix pasting into Chat window

16) New narrower name buttons

17) Catch flush errors on channel logging.

18) (some) \ in nick bugs fixed

19) Add -r flag. -r filename will cause the named file to be read instead
    of any other rc files.

20) Speed up processing of channel Lists. New variable zircon(tmp)
    contains the name of a directory suitable for temporary files.
    defaults to /tmp.

22) Start of major internal rearrangement - one further step towards V2.....

23) Added zircon(sepColor) flag to control color of the lines on the
    command window.

24) More [nick] bugs...

25) Tons and tons of internal changes

26) Added "set zircon(ping) <time in seconds>" as an rc file option.
    If you set this to a non-zer time, zircon will ping the server at
    this interval. If no PONG has returned by the next PING then it
    will close the connection.

27) Added partial support for tcl7.5/tk4.1. DCC will probably not work
    at the moment. Also you *MUST* have applied the patch for empty frames
    sent by John O. to the tcl newsgroup. The version of tk4.1 on catless has
    (or will have when I put it there) the patch applied.

28) tcl7.5/tk4.1 is supported and in fact recommended

29) Fixed problem to do with nick changing.

30) Enhanced internal object structure and new debugging stuff (as if you
    cared!!)

31) Fixed invite/kick conflict problem.

32) Introduced start of multi-language support.

33) Introduce start of look support

34) Add reconnect button when closes connection.

35) Add zircon(reconnect) variable - automatically reconnects on disconnect.

36) ADD ZI|RCONPREFDIR environment varible - contains path to zircon
    personal directory. Defaults to ~/.zircon

37) Fix tclX bug for DCC

38) Add HOSTIPADDR environment variable and test for 0.0.0.0 as address.

39) Add -d option to set prefdir from the command line rather using environment.

40) Add some text to the Help area

41) Sort the menu in the Names button. Leave your nick at the
    top. Sorting the buttons is somewhat harder and I haven't worked
    out how best to do it yet.

42) New handling of nick in use on startup

43) Added -C flag - no auto connect (configuration mode) 

44) Use the tcl7.5 asynchronous connect feature

45) Add -nocase flag for channels so that names sorting will be case
    independent.

46) Added facility for menubuttons in dialog/entry boxes - used this to
    improve handling of nick in use when starting up.

47) Introduced new Friend object to help with some of the nick
    changing horrors.....(though there are still some....)

48) Added -messages facility for channels

49) Added new installation procedure

50) Added support for long nicks

51) Added support for mIRC SOUND ctcp.

52) Added support for some non-standard numerics in channels

53) Added Save Layout option

54) Removed Register as it is too network dependent and bot is not running

55) Added Ban button to user menus

Changes in 1.16

1) Support tcl7.4/tk4.0 and tclX7.4

2) Lots of internal changes to take advantage of new features in tk4.0

3) Some rearrangement of the Control panel

4) Disable registration for the moment (bot is not running!)

5) Add some use of colour

6) Experiment with images on buttons. Images are optional and
   currently off.

7) Make some scrollbars appear only when necessary.

8) Uses tclX or tcl-dp. tclX has definite advantages.

9) Add a couple of new ONs, and some (not very useful) documentation for
   on conditions in general. Add zircon(multion) variable.

10) Add zircon(busymsg) variable

11) History handling changed

12) Internal tag handling changed

13) *INCOMPATIBLE* To do a msg/who/finger for the person who sent a
    line to channel, you now need tu se clicks with button 2 rather
    than button 1 - button 1 handling now gives you all the possible
    tcl/tk selection modes.

14) Added Double button 3 click on a line to pick out a url and send
    it to your browser using the mechanism that is already in place.

15) Add Several Makefiles because people are too lazy to check!!

16) Add Exec and Script menu items. Exec will run a command and send
    the result either to the current channel or to the info window.
    The Script commands is not yet implemented.

Changes in 1.15 T pl 11

1) Add clear button to Info window.

2) Change format of KILL message again.

3) Send channel CTCP messages to the channel window.

4) Fix argument problem with new whois button on ison window.

5) AIX fixes for Makefile

6) Fix whois & notice buttons on Message window (error when nick changes)

7) Always display signoff message in Message windows even when they
   have been diverted to info.

8) Add WM_DELETE_WINDOW handling.

9) In a message window, away messages will only appear once. If the
   message changes the new message will be displayed once.

10) Maintain filename in display across directory changes in a file box.

11) Fix typo in ctcp.tcl

12) Fix problems in monitor code.

13) Fix problem with Links when there are none....

14) Change whois handling internally

15) Remove NickServ and NoteServ

16) Fix problem in DCC List display handler

17) Add SQUIT command.

18) Disable register button until ZirconBot can be brought back on line

19) Fix problem in server list proc.

Changes in 1.15 T PL 10

1) Changes to netsplit code.

2) Shift-clicking the Clear button in sketch pad windows when chanop
   will clear the whole thing.

3) Some more weird name handling fixes

4) Fixes to raw mode

5) Fixes to parsing of KILL messages

6) Fixes to handling of ircII special characters.

7) Add Meta-n command which sends the current selection to Mosaic using
   the cci interface, assuming that it is a URL.

8) Fix some channel handling problems

9) Handle WALLOPS

10) Add WHOIS button to ison window

Changes in 1.15 T PL 9

1) Fix problem with grab when connection is made.

Changes in 1.15 T PL 8

1) Fix problem when nick is used on first connection.

Changes in 1.15.T PL 7

1) Fix PING bug introduced in P6 !!!!

Changes in 1.15.T PL 6

1) Add morse code

2) Add configurable action key

3) Add configurable beep string

4) Fixed bug in notification code.

5) Focus no longer shifts to unsolicited windows when they pop up

6) Fix problem with drawing in message windows

7) Patches for Solaris (Thanks to Blair Zajac)

8) Add Ignore menu for Message windows (under User menubutton)

Changes in 1.15.T PL 5

1) Bug fix in saving server info

2) Stopped using window . so now control window can have a proper icon

3) Added on POPUP and on CLOSE conditions

4) Can send text reversed

5) When you are kicked you now have the option of rejoining.

6) Phantom users caused by people leaving between server changes or
   kicks and rejoins ought to be fixed.

7) Add ircIImode flag

Changes in 1.15.T PL 4

1) Bug fixes

2) Change to way input from server is handled.

3) Fixed Sketchpad problems

4) Added CLOSE condition - called when server closes connection to you.

5) Probably some other stuff too, but I cant remember.

Changes in 1.15.T PL *

1) many minor bug fixes.

2) Added Favourites window - this is like friends but for Channels.

3) Added Message button to WHOIS window.

4) Added configurable bellcmd

5) Added configurable sound playing - bell is the only option at the moment.

Changes in 1.15.T

N.B. YOU MUST USE tcl 7.1 and tk 3.4 for releases after 1.15.4. There
are bug fixes that are needed by Zircon. It is advisable to use Tcl-DP
3.1 as well.

1) Fixed loss of scroll bar on resizing info window.

2) Fixed Colour button problem in sketch pad.

3) Fixed Ban+Kick bug

4) Ban mode now lists bans when youa re not channel op.

5) Added Names menu button. This duplicates the user buttons as a
menu. The user buttons can be shown or removed using the Buttons menu
item.

6) Changed incoming message parsing - should now be faster

7) Added variable friendsStyle - if this is set to menu then Friends
appears as a pulldown menu. If set to window it has the original
format.

8) Fixed configure bug for noDraw

9) Changed handling of text in windows (should be invisible except for
performance improvement)

10) Improved listbox handling internally - no visible changes

11) Added showFriends variable - set it to 1 and the Friends window
appears when zircon starts up.

12) Too many internal changes to mention!

13) Added -o option to switch of Ons

14) Added bindings for Up Down Left and Right

15) Added the ability to do /horrible type commands.

16) Added CTCP Other interface

17) and have a zillion other things.

Changes in 1.14

1) Fixed problem with auto searching servers list

2) Fixed problem with finger and Trace

3) Changed Shift-double-click on line of text to do the equivalent of
/whois nick nick. Stefke wanted to see the idle time for people.......

4) Fixed the DCC send problems

5) Added the Channel Sketch Pad feature (Channel->Draw to get it) No
Draw disables this feature. Please do not use this in channels where
there are non-zircon users. Communication is via "extra" ctcp commands
and this will drive them nuts!!

6) Added some special keyboard shortcuts in the channel entry field :
nick msg<Meta-q> will send msg to nick
nick<Meta-w> does a WHOIS nick
nick<Shift-Meta-W> does a WHO nick
(Obviously you dont type the <>s......)

7) Added some special ZIRCON ctcp commands. These are to help with
debugging the system and are not for general use.

8) Fixed file dialog when directory was empty

9) Fixed DCC window menus

Changes in 1.12A

1) Some people are supertitious.....

Changes in 1.12

1) DCC Chat interface should now be same as for other channels.

2) By setting the port number in the servers data structure explicitly
to {}, you ought to be able to access UNIX domain sockets rather than
TCP sockets. I dont have a UNIX domain server to test this with.......

3) You can now match input to channels on a line by line basis. You
set this up in the field of the channelInfo structure after the
channel bindings (this the tenth field counting from 1 I think). The
format is thus

{ {{{prefix pattern} {message pattern}} {cmd}} ....}

Prefix Pattern matches the sender - .* matches everyone.

4) The auto op feature of channels now works. You set up field 3 of
the channelInfo to contain a list of nick!user@host patterns. If you
are op Zircon will automatically op these people if they are not
already ops. It does this after a random period time up (i.e.  it does
it at the next time Zircon sends an ISON command......}

5) Bug in ban+kick fixed - couldnt ban people with uppercase letters
in their nicks.......

6) Added Trace command to Users menu

Changes in 1.11

1) Control-click on the leave button will add the channel to the
monitor list again after you leave.

2) Fixed a problem when saving with no existing .zirconrc - another
7.0 incompatibility with 6.7 *sigh*

3) You can set the monitor variable to a list of channels you wish to
monitor from startup and the monitorTime variable to the time between
monitor updates. (Monitoring uses the NAMES IRC call and this can look
like flooding if the interval is too short between calls)

Changes in 1.10

1) Channel windows will only iconify themselves when first opened if
they are auto-join and pop-up.

2) You can now monitor the membership of channels you are not on. Type
the name in the channel entry box of the control window and select
Channel/Monitor. The cancel button on the window that appears stops
the monitoring, join joins the channel.

3) Clicking the busy button will cause unsolicited Notices and
Messages to be sent to the info window. Messages will be acknowledged
with a Notice the content of which can be defined in the variable
busyMessage.

4) LIST now works again for people running tcl 7.0 - compatibility
problem.

5) Palette handling is different - clicking on a button inserts that
charcater into where the focus is. This is not an unalloyed joy ether,
but is probably more useful. This whole area will be improved in the
future. I promise.

6) The ignores variable has been withdrawn and a new ignore command
introduced. If you have any ignires in your file resave your
configuration.


Changes in 1.09

1) You can Finger users now. Meta-F wioll finger the selection and
Control-Double-1 will finger the person who sent the line.

2) Tcl-dp V2.0 is now out and can be found on catless amongst other
places.

3) Added recognition of ^O as terminator for bold, inverese and
underline in text. Bound this to Meta-O as well.

Changes in 1.08

1) Bug fixes for tk 3.3 window handling

2) Added character palette. Type escape in the entry in a channel and
you will get a palette of all the characters in your font. Click on
the character and it will be inserted into the entry.

3) Dialog handling is a little different in places. There is a new
file selection dialog as well.

4) tcl-dp 2.0 withdrawn as it was not released officially

5) A DCC problem was fixed, but I dont know if this even made it out
to the world......

Changes in 1.07

1) bug fixes..... You need my patched version of tcl-dp2.0 to run with 7.0.

Changes in 1.06

1) ctcp PID call now returns correct value.

2) The window resizing problem in 1.05 has been fixed.

3) Some changes due to the shift to tcl 7.0 semantics have been made.

4) Added second parameter to Whois command

Changes in 1.05

1) Support for tcl 7.0b3, tk 3.3b3 and tcl-dp 2.0

Changes in 1.04

1) Added server and port number as parameters to STARTUP

2) DCC send and get are now supported by programs that are execed by
zircon. You can Close outstanding DCC offers and connections from the
DCC sub-menu on the Users menu. The entries List and Close both give
access to the same facility.

3) Fixed bug in Services menu.

4) Shift-click on leave button will quit zircon

5) Shift-click on clear button will clear window and history.

6) Fixed Vesa's menu bar problem

7) Meta-b, Meta-v and Meta-u now insert the characters for bold,
inverse and underline. Control-b now has its usual Emacs meaning.

8) Altered the way on information is held internally. This is the
start of a more global change to the way information is entered in the
rc file.

Changes in 1.03

1) Added on STARTUP

2) Fixed problem with case in on conditions

3) Changed the format of the output from configure into the rc file.
Also added key bindings to output.

4) Added test for errors in rc files

5) Improved error handling on server KILL

Changes in 1.02

1) Fix typo in split handling code

2) Add error checking on send to server.

Changes on 1.01

1) Read the application default file from the zircon lib.

2) Makefile fix

3) Added lots more on condition possibilities

Changes in 1.0

1) The version number got changed.

2) You can now set keyboard bindings on a per-channel or global basis.
This is not much use to you unless you understand how zircon works!!
It is undocumented at the moment till a better programming interface
is provided for users.

3) The manual is better

4) The Makefile is better too.

Changes in 0.54

1) The Topics menu now hangs off the Label on the Topic. When it is
greyed out you cant set the topic. You have to add topics in the rc
file by hand.

2) Icons can be set for each channel

3) The Channel List will not appear until you ask for it

4) Resizing of Friends is different - maybe not better but different

5) Handling of netsplits ought to be cleaner

6) New variable killPath which if set will cause the Path to be
removed from kill messages.

7) Channel logging to files is in. (Under Channel menu and in configuration)

8) Incoming message and notices are timestamped when they are created.

9) You can set default behaviour for popUp popDown noJump and quiet

10) You can send Notices to users now

11) Finger should now return an idle time.

12) Control-Return in a msg/channel sends the string as a notice to
the channel.

13) You can set patterns for channel names and topics in the Channel
List window.

Changes in 0.53

1) Escape to send an action is now deprecated please use Shift-Return
instead

2) A topic menu is included on the Channels menu on each channel now.
Though currently it does nothing!!

3) It is possible to set the font and colour of output from particular
users in particular channels using X resources. Set the resources :

<nick>Font <nick>Foreground <nick>Background <nick>ActionForeground
<nick>ActionBackground 

thusly:

	zircon*£gb*fisForeground: black

4) It is possible to ignore users, though certain things are hard to
do as Zircon maintains such things as topics and modes. Thus it cannot
ignore topic changes and maintain consistency Ideas welcome on this.
The best way to set and clear ignores is through the Configuration
panel People panel (formerly friends), however it is possible to
toggle flags from users' menu buttons. This will work fine so long as
you aren't trying to work with anything fancier than "nick!*@*", which
is what the user button ignore uses.

5) I have reproduced the resizing bug and it is *WEIRD*. It seems to
happen when you have resized a window and the first line to it
contains a *. Work that one out if you can!!

6) DCC chat works a little better in this release, but the root of the
problems lies in tcl-dp and its poor error handling. Remember to set
hostIPAddress to your local ip address (though it will now prompt you
for the value if you have not provided it).

7) A Services menu has been added. This allows access to nickserv and
noteserv as well as to a user configurable list of other services - a
pullright menu of commands allows pre-defined messages to be sent.
Currently there is a popup to let you enter any parameters you wish to
send with the command.  Once the command has been sent, the reply will
come back in a notice window and you can type further commands just
like any other window. The format of the services variable is :

	{ {nick server {Cmd1 Cmd2}} {nick2 server2 {cmd1 cmd2}} }

The server field can be null but must be present. It is there to
ensure that spoofing is harder. Thus the entry for nickserv (which is
*BUILT IN*!!!)  would be :

	{{nickserv service.de {HELP INFO....} }

8) Bug fixes of course.

9) Typing Meta-s in a window will insert the contents of the variable
"smiley"....... default value is :-) Meta-j will take the current
selection as a channel name and try to join it. Meta-m will take the
current selection as a user name and open a message window to them.

10) If you have altered the configuration other than through the
Configuration panel, (by adding actions, aways etc.) then you will be
prompted when you quit to see if you wish to save these changes.

11) You can toggle between sednign everything Actions or as normal
text by using the Actions button on the channel Mode menu.

12) The resizing problem has been fixed, or at least worked round as
it does seem to be a tk problem. This does mean however that you can
get an insertion cursor in the text windows. The vanishing scrollbar
is also fixed.

13) If you have any on JOIN conditions (the only one supported at the
moment) you will need to change any nicknames you have in them to be
in the format nick!user@host (or nick!.*@.*) N.B. The pattern matching
is *NOT* glob style but full tcl regexp so you have to have the .*
rather than *! This does mean that you can do some rather powerful
things though. Pattern matching is not case sensitive.

Changes in 0.52

1) Bug fixes

2) Topics now show bold etc.

3) Netsplits are detected and Users lost will have their buttons
greyed out. I havent worked out a clean way of checking if they never
come back though.....Suggestions? (I dont like timeouts...)

4) There is a makefile and you have to create a zircon directory
somewhere so that autloading can be used - it was all getting too big
to work with.....

5) Zircon tries to source a file called rc in the zircon directory so
you can have a system wide rc file - useful for setting servers etc.

6) Incoming DCC Chat calls will work but dont put too much faith in it
just yet!!

7) ^N (the inverse of ^P) has been added for windows.

8) ^U now works in topics

9) Setting the variable noPopup will cause the icon name for windows
with activity to be changed from channel to *channel* rather than
popping them up.

8) Set variable friendsOn to 1 (default is 1 at the moment actually)
and only those friends that are logged in will appear in your friends
panel.

9) Stats and Links replies are handled but are by no mean perfect yet!

10) To delete something from one of the lists in the Configuration
panels you now select the item and then hit delete, backspace or ^h.
Multiple selections work in the IRC panel. Double click lets you edit
the entry and there is also a delete button on there.

11) There is an intermittent window resizing problem, but I cannot
reproduce it so any pointers as to its source would be useful!!

Changes in Version 0.51

1) Bug fixes of course!!

2) Friends menu will pop up when a notified friend signs on or off

3) There is an OK button to dismiss the friends window rather than
using the close.

4) ON conditions are supported, but you have to know how to use them
and I havent thought about what interface should be made available to
people yet!

5) The Jump item on the user menu controls whether or not windows
scroll to the end whenever input is received.

6) The Topic entry is different now as I am tryin gto get it so that
it will display bolds etc. However this is not easy so it isnt all
there yet.

7) Bells will appear in the window as the underlined text BEEP.
Marking the channel as quiet will turn off the actual beep.

Changes in Version 0.50

1) Pop up and Action keeps are working again..... (sorry)

2) USERHOST has been added to the Users menu

3) The Friends button will bring up a window with a scrolling list of
buttons of users that are in the list userInfo set up in your rc file.
You can do the usual usery things to these buttons. This list is
configurable from the Configure panel.

4) There is a new Configure button. Save does work and it renames your
previous file to .zirconrc.bak. Using this is probably the best way to
upgrade your .zirconrc.

5) The Ban+Kick option on user menus allows you to ban and then kick a
pestilential user in one go. Thanks to fis for inspiring the
implementation of this one.

6) Odd typos etc. corrected

7) VERY IMPORTANT!!!!!! Some of the variables settable in .zirconrc
have changed - in particular nickname, ircname, server and ircport no
longer exist as user variables. The lists associated with channels
have also gone and are replaced by a single list channelInfo which has
entries of the form :
	{channel {auto actions} {messages off} {auto Op} history checkTime ...}

where
	auto actions	are join open close menu
	messages off	are JOIN KICK KILL LEAVE MODE QUIT TOPIC
	auto OP		is a list of nicks (not yet supported)
	.....		is anything else we need later

Also gone are the friends and notify menu, replaced by a userInfo list
with entries formatted thusly :
entries of the form :
	{nick {action} {auto ops} {reserved} {reserved}  ...}

where
	action		is notify
	auto OP		is a list of channels
	.....		is anything else we need later

8) You now cannot try to set the topic when the channel is +t and you
are not chanop.

9) Notifies are in. See the format of the userInfo menu above. There
is a notify button for each user. If you want notifies not to pop up
but to go to the info window add ISON to the toInfo list. *NB* Marking
notify on a user will *NOT* add them to the userInfo structure as in
some previous releases!!

10) New resources (isonFont, isonForeground, isonBackground
isonActiveForeground and isonActiveBackground) that will alter the
appearance of buttons on the friends menu when notify is set for that
user and they are logged on. Also added are resources (xxxBackground,
xxxActiveBackground and xxxAvtiveForeground) to complete the
configuration of other user buttons (where xxx is either opertaor or
speaker)

11) There is now clear button on each channel window. This simply
clears the window but does nothing to the history.

12) Focus follows the mouse - s0 characters go the window in which you
have the mouse. This probably ought to be configurable in some
way.....

13) There are various command lin eoptions :

-j will not do auto-joins
-z will not read the rc file
-n nick
-s server
-p port

Changes in versions 0.45 - 0.49

So many that I called it 0.50.....

Changes in Version 0.44

1) Lots of minor bug fixes and improvements.

2) Slightly changed the look and handling of the user buttons. This
seems to have fixed the scrolling problems.....

3) There is a variable called history which controls the amount of
text kept in windows. The default value is 50 lines. Yes, I know it
ought to be on a per channel basis. It will be in the future when I
reorganise the way that per channel info is handled.

4) There is a new variable "ircnames" which is a list of ircnames you
like to use. Just like nicks and servers. Ircnames are now editable
but will not take effect until a server change.

5) Server changes work better.

6) ^V does *NOT* paste but inserts itself so that you can do inverse
video.

7) Typing return in the Channel entry no longer deletes the channel
name.

8) Time has been added to the User menus.

9) brb and back will not cause deiconified windows to pop-up.

10) A new variable operServer controls the automatic sending of irc
operator logins. This will only happen if the server you connect to is
the one set in operServer. This will change in the future and become
more configurable on a per server basis.

Changes in Version 0.43

1) Added LUSERS to Servers menu

2) Lots of bug fixes

3) Code is getting cleaner.

4) set autoIcon {#ch1 #ch2} will cause the channels to be iconified
when they start up. There seems to be a slight tk redraw problem here
that may need the use of tkwait, but tkwait breaks some people's
systems...

5) You can paste multiple lines into the entry buffer. ^v and Button 2
click paste.

6) set checkTime <number of milliseconds> will cause windows that are
in the autoIcon list and have been inactive for that length of time to
be iconified.  Inactive is defined as having had no text sent to them.
This is purely experimental and may not perform as you require. You
almost certainly need to combine it with the use of Pop Up. set
checkTime 0 switches this feature off and is the default.  There ought
to be a button on the mode menu to control this feature, but it is
10PM and I am on holiday for two weeks from tomorrow.......  When I
get back, OK?

7) adding ERROR to the toInfo list will cause som eErrors to go to the
info window.

8) I'm sure there is other stuff but I've forgotten.

-----

Changes in Version 0.42

1) Notices and messages should now show up correctly.

2) Hitting escape at the end of the server name in the Server entry
field will prompt you for a port number.

3) You can add port numbers in the servers list thus:

	set servers {sv1 {sv2 3456} sv3}

4) The toInfo variable gives you control over where some of the pop up
windows appear:

	set toInfo {CTCP}

will cause CTCP replies to go to the INFO window rather than as a Pop
Up. SIGNOFF will cause signoff messages to be sent only yo the info
window not to all relevant channels. WHO, WHOIS and WHOWAS are also
recognised.


5) MODE parsing should be correct.

6) Resizing of windows is in terms of characters.
