home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 June / ccd0605.iso / Software / Freeware / Comunicatii / jIRCii / whatsnew.txt < prev   
Text File  |  2005-05-08  |  58KB  |  1,087 lines

  1. Beta   34 Release 05.08.05
  2. ====
  3. - users who are no longer visible to the irc session (i.e. quits, people 
  4.   not on a common channel with you) are removed from the internal data 
  5.   list on part and quit events.
  6. - added a switchbar option to always sort the switchbar buttons
  7. - &getWindows() now includes the %STATUS% window in the list
  8. - adjusted how jIRCii calculates text width/height metrics for the custom 
  9.   text display, should make serge happy.
  10. - added %GLOBAL, a hash whose contents is shared across scripts and across
  11.   servers.   Should make the blue-elf happy.
  12. - fixed extra character being appended to mode $parms string
  13. - added error detection for attempting to use foreach loop on a non
  14.   array value.
  15. - updated &use() to only instantiate dynamically loaded class once
  16.   other scripts loading this same class will share the instance
  17.  
  18. ** I updated beta 34 at 10am CET to adjust the height font metrics back
  19.    to the old method.  The new width calculations are staying in **
  20.  
  21. Beta   33 Release 05.01.05
  22. ====
  23. - added support for ISUPPORT numeric 005.  This information is available 
  24.   as a hash scalar via &getSupportHints();
  25. - PREFIX variable from ISUPPORT is used to map user modes on channels
  26. - added a hasmode predicate i.e. if ($nick hasmode $channel) { }
  27. - added a &getModeFor("nick", "#channel") to return the mode display 
  28.   character that nick has on #channel
  29. - fixed bug with perform on connect not firing on servers with no MOTD - Elly
  30. - added a $channels variable which is available inside of the QUIT event/set
  31. - /me now works in a DCC Chat
  32. - added an option to View -> Options -> IRC OPtions to disable auto 
  33.   update of internal address list on channel join
  34. - optimized the drawing of text selection a little bit.  you might not 
  35.   notice, but I did spend 3 hours on it.
  36. - updated &addTimer to interpret parameter as a sleep closure
  37. - added "reconnect.time" property (set to 5s by default).  this variable 
  38.   controls how long jIRCii sleeps between attempted reconnects.
  39. - personal idle timer is now reset even if the on input event is halted
  40. - fixed clickable URL's not working with "www.somesite.com"
  41. - array index operator can now be applied to HOES expressions i.e.
  42.   $var = ["this is a string" split: " "][1]
  43.  
  44. Beta   32 Release 04.24.05
  45. =====
  46. - upgraded Sleep library to Sleep 2.0-b6, new scripting features galore.
  47.  
  48. Stable 31 Release 03.20.05 (Maintenance Release)
  49. =====
  50. - fixed 100% cpu usage when moving the jIRCii window on Windows
  51. - functions tileWindows(), cascadeWindows(), activateSession(), 
  52.   setSessionColor(), and setSessionText() now take place on the UI thread.  
  53.   This is to prevent a deadlock situation.
  54. - window parameter in getWindowState() and setWindowState() is now optional to
  55.   allow accessing the state of the main jIRCii window
  56.  
  57. Stable 30 Release 03.13.05
  58. ======
  59. - added parseSet("SET_NAME", %hash), the old option of 
  60.   parseSet("SET_NAME", "target", "parameters") works as well.  This can be used
  61.   in conjunction with %localData to echo a built-in set from an event that 
  62.   halts client output.
  63. - ISON not enough parameters suppressed by broken ircds that can't handle empty
  64.   ISON lists (used for checking lag).
  65. - clickable channel names feature has been adjusted to not fire for channel
  66.   texts ending with a period.  I've been burned by this many times so I 
  67.   decided to fix it.
  68. - jIRCii window now updates background images after being moved.
  69. - added numeric 308 to jIRCii's internal list of whois numerics (not supported
  70.   in the default script though).
  71. - PART messages are only supressed if auto /window on join and part on window 
  72.   close are both enabled.
  73.  
  74. Beta   29 Release 02.27.05
  75. ======
  76. - fixed a bug with using fireEvent() from within an event.
  77. - server connect notices now always go to the status window
  78. - text no longer auto scrolls if you are scrolled up.
  79. - CHANNEL_NAMES set now goes to channel window
  80. - fixed a race condition with echoed text and listbox updating.
  81.  
  82. Beta   28 Release 02.12.05
  83. ======
  84. - Fixed race issues in Sleep parser
  85. - Fixed script stack conflicts caused by the global script cache 
  86.   mechanism
  87. - Removed timer synchronization (this is likely a good thing)
  88. - jIRCii now strips out the unreal mode "!" indicating someone
  89.   is a channel admin, assumes an @ in its place... *crosses fingers*
  90. - added a property "notabs.border" for determining the size of the
  91.   window border when server tabs are turned off... default is 1x
  92.   this is for scripters who really want to tweak things...
  93. - bound Alt+H to open the help dialog
  94. - hard coded the default behavior of double clicking a nickname in
  95.   a channel listbox, this behavior can be overriden with a script.
  96. - removed the garbaged collection call tied to /clear, /clearall
  97. - fixed /run, /exec threading, I was making a method call that
  98.   resulted in the /run, /exec being executed in the current thread.
  99.   this has been fixed.  try /run, /exec again, you'll like 'em.
  100. - on disconnect the first message will be echo'd to every window,
  101.   every disconnect from a reconnect attempt will thereafter be
  102.   echo'd to the status window.
  103. - lag checking is now tied in as part of the notify list requests
  104.   rather than sending a CTCP LAG to yourself every 60 seconds
  105. - temporarily removed IRC Tutorial from Help dialog
  106. - added property "ui.buffersize" which defines the max tolerance
  107.   of the scrollback buffer.  when this value is hit, the scroll
  108.   back buffer is trimmed down to half of the max buffer size.
  109. - added &getButtonColor("window") for retrieving the color of the
  110.   text on a switchbar button in aarrggbb format.
  111. - added &setButtonColor("window", color_in_aarrggbb_format) 
  112.   for setting the color of the text on a switchbar button
  113. - text echo'd using &echoRaw is now logged (if logging is 
  114.   enabled)
  115. - added "switchbar.hilight" option to enable/disable built-in 
  116.   hilighting a switchbar button on activity.
  117. - added on session { } event to signify the current irc session
  118.   becoming activated.
  119. - rewrote sleep predicate parser to allow for right hand side
  120.   expressions to evaluate correctly i.e.:
  121.   if ($x < (3 + 4) / 6) { }
  122. - jircii now handles empty /names replies better...
  123. - added a $mouse variable to on click/dclick/sclick events, this 
  124.   variable contains random info about the mouse event that you
  125.   are more than welcome to parse and do stuff with.
  126.  
  127. Beta   27 Release 01.29.05
  128. ======
  129. - fixed a NPE caused by sleep subroutines with no return value being used 
  130.   in an expression.
  131. - added $handle = &listen(port, [timeout], [$info]) function for creating 
  132.   a simple server socket.  
  133. - On MacOS X the Info.plist file now reflects the correct jIRCii version
  134. - Fixed long standing "ghosted" channel listbox bug.
  135. - Fixed bug with perform on connect / jIRCii Launch service not working 
  136.   on servers that have no MOTD
  137. - The jIRCii script loader now cache's parsed scripts 
  138. - Did more work trying to make jIRCii better about memory.
  139. - added an option to enable/disable text anti aliasing (thanks [Serge])
  140.   check out: View->Options->Font Options
  141. - bound the Home key to move the cursor to the beginning of the input box
  142. - bound the End key to move the cursor to the end of the input box
  143. - fixed timestamp getting the wrong am/pm value for noon.
  144. - clickable URL's are now case-insensitive
  145. - unbroke &mask() function, thanks to blue-elf for pointing this one out
  146. - URL's inside of parentheses (http://www.google.com) are now clickable
  147.  
  148. Beta   26 Release 01.23.05
  149. ======
  150. - Did some work making jIRCii let go of memory.  This will be an ongoing 
  151.   process.
  152. - Added another syntax for events: 
  153.  
  154.   on event "*source* *target* *parms*" { }
  155.  
  156.   Essentially the string parameter represents 3 wildcard tokens that 
  157.   describe what event you want to match.  See the jIRCii Scripting 
  158.   Reference for more details.  Descriptive events and normal events will
  159.   still continue to work the same.
  160. - Made the /clear, /cls, and /clearall commands call the garbage collector
  161.   to immediately reclaim memory.
  162. - clickable URL's now work for https:// url's.
  163. - perform on connect commands are now evaluated for $var's. i.e. you can 
  164.   now do like:
  165.   /mode $me +i
  166. - sleep hashtables now filter out all keys with $null values when 
  167.   returning a key set with keys().
  168. - fixed -isletter and -isnumber returning true with empty parameter strings.
  169.  
  170. Stable 01.03.05
  171. ======
  172. - fixed Meta+N, Meta+T opening a new irc server keyboard combinations
  173. - on "open" event now fires immediately after a window opens.
  174. - made the help window a "touch" wider...
  175. - updated jircii launch service url handler to allow the server port to be 
  176.   specified: irc://nick@irc.server.com:port/channel?key
  177. - fixed sleep bug with for loop initialization terms.  Simple stuff like 
  178.   for ($x = 0; ...) worked fine, stuff like for ($x = 1 + 2; ...) turned 
  179.   out to be broken.  Fixed.
  180. - added a "Scripting Tutorial" to the help window documentation
  181.  
  182. Stable 12.18.04 - Christmas Maintenance Release :)
  183. ======
  184. - unbroke &getClipboardText and &setClipboardText, for the longest time I 
  185.   was blaming this on Sun.  Turns out I installed my bridges wrong.  They 
  186.   work now :)
  187. - &getWindowTitle() w/ no args now returns the titlebar text of the 
  188.   jIRCii window
  189. - &setWindowTitle("text") w/ only one arg now sets the jIRCii window 
  190.   titlebar text
  191. - clicking a url/channel will now give a little visual cue of the hand 
  192.   cursor that the action has been processed.
  193. - reworked the built-in help window
  194. - reformatted a lot of the help window documentation
  195. - fixed a bug with Ctrl+K and no number chopping a character (patch from Mouton)
  196. - actions in private messages will now cause a /window to be made if auto
  197.   /window for messages is enabled.
  198. - fixed a bug where windows w/ spaces in the name weren't being closed by
  199.   their switchbar menu
  200. - added &getLogFile("window") function to retrieve the path to and name 
  201.   of the file messages for "window" are being logged to.
  202. - added &logMessage("window", "text") to hook into the message logging 
  203.   system and log a message (iff logging is enabled)
  204. - upgraded to Sleep 12.18.04 (fixes bugs and such)
  205.  
  206. Stable 23 Release 11.25.04
  207. ======
  208. - Removed the kick/ban/insult/slapz popup menus.  *sigh*
  209. - added a &duration(seconds) to format time time into days, hours, 
  210.   minutes, and seconds string.
  211. - fixed /clearall not reseting status window highlite color
  212. - fixed a bug with auto connect on startup not being able to find a server 
  213.   in the servers.ini list.
  214. - fixed a sleep bug with ||'s and &&'s that broke the <TAB> file 
  215.   completion for /theme, /load etc.
  216. - fixed <TAB> completion bug with /msg nickname<SPACE><TAB> putting in 
  217.   message box /msg nnickname
  218. - hardcoded and enhanced clickable URL handling.  Nice thing is now that 
  219.   it is hardcoded the event can be halted by an on click event.   Removed 
  220.   OPEN_URL set
  221. - fixed a null pointer exception with the mouse scroll wheel on a 
  222.   completely cleared window.
  223. - the string %STATUS% is now used to refer to the status window in certain 
  224.   window functions.  scripts that refer to the "Status" window will need 
  225.   to be updated.
  226. - fixed a bug where text from someone with a nick of Status would go to 
  227.   the status window.
  228. - fixed a null pointer exception closing the status window with server 
  229.   tabs turned off
  230. - bound Ctrl+D key to close about dialog for those unfortunate souls who 
  231.   have crappy window managers that don't put window controls on certain 
  232.   types of dialogs.
  233. - scripted a close window menu item to the switchbar buttons
  234. - added a printAll($handle, @array) function to sleep
  235.  
  236. Beta 22 Release 11.20.04
  237. ====
  238. - Congratulations jIRCii scripters, you are now sleep beta testers:
  239.   - fixed bug with return not working inside of while/for loops
  240.   - added 'break' command to sleep
  241.   - added a iff(condition, value_true, value_false) operator
  242.   - added checkError([$scalar]) which will return a error description 
  243.     string if an operation failed (i.e. openf, connect, exec)
  244.   - moved date/time functions &parseDate,&formatData,&ticks over to sleep 
  245.     library
  246. - updated getScriptResource("script.irc", "directory", "file") to take 
  247.   multiple parameters
  248. - /st #channel text will no longer attempt to set the channel topic...
  249. - clearing a window now resets its switchbar color (unhighlites it 
  250.   basically)
  251.  
  252. Beta 21 Release 11.13.04   <Stable Release Candidate>
  253. ====
  254. - fixed a perform on connect issue with "random" servers.
  255. - increased the dcc timeout to 2 minutes from 1 minute.
  256. - fixed a sleep bug not detecting a missing ; in return statements leaving 
  257.   a ; out of return statements would crash the sleep parser
  258. - jIRCii script loader now reports to user if the parser 'crashed' when 
  259.   attempting to load a script. 
  260. - fixed a null pointer exception occuring with proxy settings enabled (in 
  261.   some cases)
  262. - added an indicator to the default script statusbar of what server/ 
  263.   session id your in, when you have the server tabs disabled
  264. - fixed an issue with dcc local info getting messed up preventing users 
  265.   from sending files (triggered by viewing the dcc options)
  266.  
  267. Beta 20 Release 11.11.04
  268. ==== 
  269. - added an option to disable the server tabs
  270. - added an option to disable the jircii menubar
  271. - added Alt+O to open the options dialog, you'll want this after you 
  272.   disable the menubar and decide you want it back.
  273. - moved font options to their own dialog
  274. - added an option to 'disable' the warning message stating jircii needs 
  275.   to be restarted when a preference changes
  276. - added font size 9 to the font options dialog
  277. - if resolving hostname using server method fails jIRCii will now resort 
  278.   to using the "normal" method for local hostname lookup
  279. - made jIRCii bring up an error dialog for any JVM less than version 1.4.2
  280. - small bug fix with tab completion, fixes /command<SPACE><TAB> from 
  281.   bringing up //command
  282. - added function scrollWindow("window", +/-lines) positive value to scroll 
  283.   down, negative value to scroll up
  284. - bound the page up and page down keys to scroll up and down
  285. - added getCursorPosition("window") and setCursorPosition("window", n) 
  286.   functions
  287. - updated getFileProper("parent", "child", ...) to take any number of 
  288.   parameters to string all params together into a properly formatted 
  289.   pathname for the current OS.
  290. - renamed "Other Commands" in help dialog to "Keyboard Shortcuts"
  291.  
  292. Beta 19 Release 11.06.04
  293. ==== 
  294. - added a .exe front end for easily launching jIRCii on Windows
  295. - small UI tweak to the sorted list windows, 1px between headers and 
  296.   information
  297. - fixed: part command is no longer sent when closing a channel window for
  298.   a channel you are no longer present on.
  299. - irc framework is now "tolerant" of ultra lame Unreal IRCd & and ~ modes
  300.   for users.
  301. - on raw event is now haltable...  meaning you can catch anything that
  302.   comes through the irc socket and stop jIRCii from processing it.
  303. - updated &clear(@array/%hash) to work with hash scalars as well as array 
  304.   scalars.
  305. - added &hash('key=value', 'user=password', ...) to generate a %hash
  306. - added getScriptResource("script.irc", "resource.file") which returns a 
  307.   properly formatted pathname for the current OS that points to 
  308.   resource.file in the same directory as script.irc
  309.  
  310. Stable 18 Release 10.31.04
  311. ======
  312. - made jIRCii irc parser always match *!*@* as a nick!user@host pattern, 
  313.   no matter what the contents of nick, user, or host are.  (fixes some 
  314.   bugs for example an some irc network puts colors in the hostmask of 
  315.   ircops which freaked out jIRCii)
  316. - oops, somehow internal function fireEvent() was removed from being 
  317.   loaded into the script environment - fixed!
  318. - made the DCC list a synchronized data structure, hopefully preventing 
  319.   lockups when many scripts are trying to access dcc data.
  320. - may have fixed a focus problem w/ jIRCii MDI mode.  I noticed some code 
  321.   that needed to be fixed and fixed it.  
  322. - added a check to keep jIRCii windows from stealing the keyboard focus 
  323.   when a dialog is active.
  324. - added formatNumber(number, base) and parseNumber("number", base) to 
  325.   sleep for formatting a number to a certain base and parsing a number of 
  326.   a certain base value.
  327. - updated keybinding constant Number_. to be Period 
  328. - /dns nickname now works if nickname is in the Internal Data List
  329. - added a hook to the tab key binding, if $_IS_FILE_COMPLETE is set to 1 
  330.   then hitting tab will trigger filename completion over all else...
  331.  
  332. Beta 17 Release 10.24.04
  333. =======
  334. - jIRCii now loads sleep scripts with no charset conversion.
  335.    [ Scripters - this change is a big deal for you.  You can now use 
  336.      upper-ASCII characters in your script and the way they render will be 
  337.      dependent on which font you use, not how Java chooses to mangle the 
  338.      character encoding of your file ]
  339. - selected charset option now works for text sent as well as text 
  340.   received.
  341. - Added what every irc client needs: A SOUND API!@#$$%^  
  342.   The Sound API can be summed up with the following code:
  343.  
  344.   $sound = loadSound("filename");
  345.   soundPlay($sound);
  346.   soundLoop($sound);
  347.   soundStop($sound);
  348.  
  349.   Sound files can be a MIDI file, a .WAV file, or a .AU.
  350. - Made Perform On Connect feature case insensitive when matching your
  351.   network preferences to the network you are currently on.
  352. - Fixed cosmetic blemish in the UI Options dialog causing charset options 
  353.   to not paint correctly.
  354. - added function &buildCP437String("string") to do a CP437 charset 
  355.   conversion.  will only work on characters that haven't been converted
  356.   yet (i.e. any text in a script file).  CP437 is the charset that defines
  357.   all those ansi characters everyone is so fond of.
  358.  
  359. Beta 16 Release 10.16.04
  360. =======
  361. - fixed jIRCii launch service Guest_nn nickname not being random
  362. - tab character is now rendered as 3 spaces.
  363. - added printEOF($handle) function to signal end of file to an i/o output 
  364.   stream.
  365. - fixed bug with jIRCii Launch Service not connecting to servers that 
  366.   aren't specified in the servers.ini file
  367. - made default username information more friendly for lame servers 
  368.   (jIRCii Quick Launch)
  369. - logging mechanism now works for window names with weird characters 
  370.   i.e. |'s and such
  371. - fixed a null pointer exception with /st #channel when your not on #channel
  372. - added a "charset encoding" option to Options->GUI Setup, this allows 
  373.   you to set which charset should be used to interpret data coming from 
  374.   the irc and dcc chat connections.
  375. - Fixed key bindings on non-english locale machines, the fix was to 
  376.   hardcode descriptions for bindable keys in jIRCii's source code.  
  377. - small cosmetic change to options dialog (fix problem with DCC Options 
  378.   on Java 1.5.0)
  379.  
  380. Beta 15 Release 10.03.04
  381. ====
  382. - Updated to Sleep 09.26.04 library
  383.   -- adds use of tuples for assignment i.e. ($x, $y, $z) = @array;
  384.   -- removed whitespace requirement for the string concat operator .
  385.   -- added a strrep("string", "old", "new" for straight up string replacement.
  386. - Updated menus.irc to not use . as part of any variable names.  Sleep 
  387.   doesn't allow this anymore.  
  388. - added a check to prevent Sun's !!!!BROKEN!!!! GTK Look and Feel from 
  389.   being resolved as the native look and feel.
  390. - Added support for SOCKS v4/5 proxy servers
  391. - Updated to a new servers.ini from Tjerk Vonck (cLAN: mIRC)
  392. - jIRCii now executes key binding code in the "event" thread, hopefully 
  393.   this will prevent code bound to keys from causing any deadlock problems.
  394. - added a check to prevent "perform on connect" commands from being 
  395.   executed again after manually typing /motd
  396. - added support for command line argument in irc://server/channel?key 
  397.   format to cause jIRCii to connect to server and join #channel with 
  398.   specified key.  This is a necessary step to make it possible for web 
  399.   browsers to use jIRCii to handle irc:// links
  400. - updated alias help to include /away, /back, and /nick
  401. - updated /query to actually list all channels your on when typed by 
  402.   itself (the help docs listed this behavior for a long time, it just 
  403.   never had it).
  404. - made jIRCii better about letting go of some memory when closing a 
  405.   window 
  406. - window numbers in "Window" menu now match numbers used for switching 
  407.   windows with Alt+n keyboard shortcut.
  408. - Added SET_NOTIFY and SET_IGNORE for echoing something when the ignore 
  409.   or notify lists are modified via the /notify or /ignore commands...
  410. - text input events are now fired even if user is accidentally holding 
  411.   down shift/ctrl keys while pressing enter.  anything to take care of 
  412.   Zenon.
  413. - Added Ctrl+Left/Right to quickly navigate previous/next server 
  414.   sessions, along with Alt+Left/Right to quickly navigate previous/next 
  415.   channel/query/dcc windows...
  416. - Added function getCurrentWindow() that returns the safest window to 
  417.   echo text to, either the current active window or the status window.  
  418. - Altered getActiveWindow() to return the real current window wether its 
  419.   a special (i.e. dcc list, /list -gui) or not.  This fixes a bug with 
  420.   Ctrl+D on a special window closing the current server connection.
  421. - added &renameWindow("old", "new") for renaming a window, only works on 
  422.   query windows right now.
  423. - added a feature, when a user you have an open /window with changes 
  424.   their nick, jIRCii will rename the window for you.
  425. - added &echoColumns("window", "col1\tcol2\tcol3...", .9) for echoing 
  426.   formatted text that stays in columns similar to how the /names list is 
  427.   wordwrapped
  428. - added /creply command for sending a CTCP reply
  429. - added /eval <expr> command for quickly evaluating and echoing the 
  430.   result of a sleep expression
  431.  
  432. Stable 14 Release 08.07.04
  433. ======
  434. - fixed a nasty bug in the logging causing log files to be open in overwrite
  435.   mode rather than append.
  436. - logging information is now saved to a subfolder based on actual irc network
  437.   rather than the irc server hostname.
  438. - quick cosmetic change to the dcc options dialog
  439. - /newserver now takes the same parameters as /server
  440. - added an option under the windows dialog to adjust the width of the channel
  441.   names listbox.
  442. - enhanced clickable channels a little to allow clicking on @#channel 
  443.   +#channel etc.
  444. - gotta love the decisive nature of my coding... on repl_nnn events have 
  445.   returned but on nnn will continue to work as well.  I won't change this, 
  446.   promise :)
  447. - fixed a bug with failed nickname change (due to changing to fast) 
  448.   messing up jIRCii's internal data structures and throwing an exception.
  449.   nickname change set will not be fired in this case...
  450. - fixed bug in default.irc set SEND_DCC { }, off by one with the 
  451.   parameters
  452.  
  453. Beta 13 Release 07.31.04  (Stable release candidate)
  454. ====
  455. - fixed a problem with the sleep return stack...  it manifested itself in 
  456.   the form of a loose nickname being echo'd to the status window here and 
  457.   there.
  458. - made -lnf argument take precedence over setting to use native look and 
  459.   feel.
  460. - if a channel has no bans set /banstat will echo a message relaying that 
  461.   info.  Added a CHANNEL_BANLIST_END set to go with this.
  462. - made the directory selector widget recognize wether or not its disabled.
  463. - clicking on a channel name will cause jIRCii to join that channel.
  464. - made 'o' the default focus accelerator for the Commands menu, so it no 
  465.   longer conflicts with the Connection menu focus accelerator of 'C'.
  466. - /dcc stats dialog and channel /list -gui dialog sizes and positions are 
  467.   now remember seperately of other sorted windows.
  468. - found a problem with IRC events, apparently on repl_nnn doesn't work, 
  469.   however on nnn where nnn is a numeric does work.  So rather than fix the 
  470.   code I updated the documentation.  set repl_nnn { } is still in use 
  471.   though.
  472. - added a 4th parameter to addTimer(&func, n seconds, r repeats, paramter 
  473.   for &func) basically parameter for &func will get passed to &func 
  474.   whenever the timer is executed.  Useful for creating dynamic timers.  
  475.   Thanks elf.
  476. - fixed bug with dcc sessions dialog close dcc menu option closing the 
  477.   wrong session.  Thanks GulaBapa for pointing this one out.  See I do 
  478.   occasionally listen to my users.
  479. - made tab based file completion case insensitive to shut naz up.
  480.  
  481. Beta 12 Release 07.25.04
  482. ====
  483. - added an expr('3 + 4') function to sleep for evaluating an expression
  484. - added \r (return), \n (newline), and \t (tab separator) escape 
  485.   constants to sleep
  486. - added scripting function setClipboardText("text")
  487. - REPL_321 is no longer mistaken as a /whois reply numeric.
  488. - added normal array @_ to subroutines, which contains all of the 
  489.   arguments passed to the subroutine.
  490. - fixed divide by zero bug with trying to cascade or tile windows when 
  491.   there where no active windows
  492. - enabled SO_KEEPALIVE on dcc chat sockets, this way a dcc chat socket 
  493.   won't sit there forever if the socket actually died awhile back.
  494. - setup a timeout of 60 seconds for dcc send and receive sockets.
  495. - added /banstat [#channel] command for obtaining a list of bans, 
  496.   consequently I added a CHANNEL_BANLIST set to go with this...
  497. - added /unban nick|banmask command to unset all bans related to nick or 
  498.   to unset the specified banmask.
  499. - fixed problem with activateWindow() not working on windows opened as 
  500.   minimized to start with.
  501. - added a check to keep jIRCii from announcing it has resolved your local 
  502.   host info multiple times.
  503. - \t is now the column separator for sorted windows
  504. - added matched() function  to sleep, works like matches("string", 
  505.   'pattern') except it uses the values of the last ismatch comparison.
  506. - added to sleep getFileProper("/path/to", "file") which returns 
  507.   /path/to/file in the appropriate form for the current operating system.
  508. - added tab based file completion to /dcc send, /send, /load, and /theme
  509. - added a function fileCompleteAll("partial file") to access file 
  510.   completion routines. I originally scripted this but decided to make it 
  511.   available for anyone
  512. - reworked directory selection widget in the options dialog, this is to 
  513.   prevent drawing problems due to weird Java layout behavior.  Some 
  514.   functionality was lost but I don't think I really had a choice.
  515.  
  516. Beta 11 Release 07.17.04
  517. ====
  518. - made a for real no kidding hack to keep the timer thread from dieing. 
  519.   fix it? haha yeah right...
  520. - fixed potential divide by zero error when calculating dcc transfer 
  521.   rates.
  522. - removed a typo in the IRC_RECONNECT set (had to log some sort of 
  523.   change).
  524. - rearranged the dcc statistics a little bit and added a field for the 
  525.   total size of the data sent or received.
  526. - added a getScriptPath("filename.irc") function for obtaining where a 
  527.   loaded script exists.
  528. - added an option to fill spaces in a filename when doing a dcc send.
  529. - made the SEND_DCC set friendly to filenames with spaces ($1 = port, 
  530.   $2 = size, $3- = file)
  531. - unbroke sleep function &clear(@array).
  532. - added a ©(@array) function to sleep which returns a copy of the 
  533.   given array and copies of all of its values.
  534. - fixed bugs with the tab completion... 
  535. - redefined some key bindings:
  536.   Ctrl+C is no longer bound by default, this is to prevent interfering 
  537.   with the function of copying text on Windows.
  538.  
  539.   The Escape key has been bound to clear the editbox.
  540. - made 'server method' technique for resolving dcc local info the new 
  541.   default
  542. - Added a 'theme' manager.  An easy way to import/export colormap and 
  543.   background color settings for jIRCii.  Along with this comes a /theme 
  544.   "filename" command to load a theme.  Implementation wise it is just a 
  545.   jIRCii generated sleep script.  Loading a theme is basically the same as 
  546.   loading the script and executing it one time only.  Special thanks to 
  547.   Dekkard for the suggestion.
  548. - added a generateThemeScript("filename") function to generate a theme 
  549.   file from the current settings.
  550. - tile and cascade functions for jIRCii now unset maximized property
  551. - added "x" operator to sleep, which is string repetition i.e.
  552.   $str = "abc" x 4; # $str is now "abcabcabcabc"
  553. - updated some of the cosmetics of the help menu.
  554. - gave dcc open messages and dcc close messages their own colors, so they 
  555.   are no longer the same as joins and quits.  (just for you tijiez)
  556. - made sorted windows tie into most normal window events and window 
  557.   manipulation functions, I expect bugs, lets hope not though.  
  558. - added a -isspecial "window name" predicate for determining if a window 
  559.   is a special window (i.e. list dialog, dcc stats, sorted window etc) or 
  560.   not.
  561. - scripted sorted windows are no longer activated by default when opened.  
  562.   To activate them you must explicity call activateWindow("Window title")
  563. - added "on sclick" event for when a row is a double clicked in a 
  564.   scripted sorted window. right now $0 = row number, $1- = window name
  565. - fixed a bug with $window in "on close" always being set to "Status", 
  566.   had to do with the order of close events.
  567. - added a /dns <hostname> command, to go along with it I've also added a 
  568.   RESOLVED_HOST set
  569.  
  570. Beta (10) Rerelease 07.11.04
  571. ====
  572. - fixed a problem causing QUIT messages to now show up.  I don't know 
  573.   where this came from but it is the reason for the rerelease.
  574. - undid b10 change of making IRC_RECONNECT message display once.
  575.  
  576. Beta (10) Release 07.10.04
  577. ====
  578. - window position information is now saved when you close an internal 
  579.   window (used to only be saved when a window was activated... but 
  580.   nooooooo that wasn't good enough).
  581. - added a check to code to prevent /window by itself from opening a 
  582.   unclosable blank window.
  583. - made the size of default windows larger...
  584. - fixed join sync not showing up for channels with different case than 
  585.   what the user joined with.
  586. - fixed a divide by zero problem with getTransferRate()
  587. - added a check to prevent the dcc sessions window from being opened 
  588.   multiple times per session.
  589. - added some synchronization to the stop timers code...
  590. - getWindows() now returns windows in the order they were opened (i.e. 
  591.   the switchbar order) this fixes the Alt+n window ordering problem and 
  592.   makes the Window menu more accurate as well
  593. - altering the position of the listbox is now done in the swing event 
  594.   thread, should fix weird problems where a copy of the listbox becomes 
  595.   ghosted in some position
  596. - Courier New, size 13 is now the default font for Windows and MacOS X, 
  597.   all other platforms will by default use the "monospaced" font.  
  598. - fixed perform dialog bug, sometimes settings for a network would carry 
  599.   over to the "all networks" setting.
  600. - made the /reload filename.irc command apply to all irc sessions
  601. - verbose script loading now displays script loaded message before 
  602.   executing script (but after loading)
  603. - added nickCompleteAll("pnick", "#channel") that returns an array of all 
  604.   nicknames on #channel matching pnick.  the array is sorted from most 
  605.   relevant to least relevant...
  606. - enhanced tab nick completion to cycle through nicknames...
  607. - added tab completion for / commands i.e. /un<TAB> will put /unload in 
  608.   the editbox...  this is experimental, if you don't like it let me know 
  609.   and I'll take it out
  610. - added function getAliasList() that returns an array of all built in 
  611.   aliases and scripted aliases built in aliases are lowercase, and 
  612.   scripted aliases are uppercase.
  613. - attempting to reconnect to server message is now echo'd only once after 
  614.   disconnection this should prevent screen from flooding with attempting 
  615.   to reconnect messages
  616.  
  617. Beta (9) Release 06.30.04
  618. ====
  619. - added a quick way to edit the channel topic:
  620.   type: /topic and then hit <TAB>, the current topic will come up in the 
  621.    editbox found the idea in the irc client irssi.  way to clever.
  622. - "/mode #channel" will now echo the current mode for the given channel, 
  623.   the set CHANNEL_MODE_IS has been added as well
  624. - expanded /mode command a little bit, works as normal otherwise:
  625.   /mode - echos the mode for the active channel
  626. - added /sm command -> a shortcut for the /mode command
  627. - reply 331 (no topic set) now fires set CHANNEL_TOPIC_IS
  628. - added a SEND_DCC set, similiar to SEND_CTCP set
  629. - verbose script loading is now enabled by default
  630. - a error set is now fired (i.e. CHAT_CLOSED, or SEND_FAILED) if jIRCii cannot
  631.   bind a port to listen for the dcc request...
  632. - /notify nickname now adds user to notify list (jIRCii has always had
  633.   /notify <add|remove> <nickname>... however people assumed /notify nick to 
  634.   work).
  635. - the ident daemon now dies disables itself more gracefully when you turn it 
  636.   off in the options after it didn't startup in the first place (bug fix).
  637. - fixed a bug in internal method for resolving the weekday, sunday was comeing
  638.   up as an unknown day.
  639. - hitting enter on an empty textfield now fires an "on input" event with $1- 
  640.   set to ""
  641. - fixed a bug where input halting wasn't being reset after each firing of an 
  642.   input event.
  643. - fixed a case issue with determining wether or not a target is the active 
  644.   query, channels that were active were having text displayed like they were
  645.   inactive due to case differences.
  646. - fixed problem with fixed width switchbar buttons on Windows not 
  647.   dissappearing upon closing a window..
  648. - added a getTimeRemaning($dcc_conn) function for getting the estimated time 
  649.   left for a dcc send/receive connection...  I didn't want to script it so I 
  650.   assume you wouldn't want to either...
  651. - added a formatTime2(n) function for formatting n seconds into a hh:mm:ss form
  652. - added estimated time remaining to "/dcc stats" information
  653. - added "version.addons" internal property, if this property has a value it 
  654.   will be used when jIRCii reports its version information instead of a 
  655.   tagline... a convienent way for scripts to announce that they are loaded
  656. - tweaked the look of the /dcc send "dialog"
  657. - added a check to prevent jIRCii from resuming a file that is already 
  658.   completely downloaded.
  659. - fixed a data structure bug, when a user parted a channel the channel wasn't
  660.   removed from the user's internal list of current channels...  naughty naughty.
  661. - /dcc send dialog and scripted file dialogs now remember the last directory 
  662.   to be worked on.
  663. - added a check to dcc receive, full file paths are now stripped off of 
  664.   incoming dcc requests
  665. - sorted list window's now have properly sized switchbar buttons under the 
  666.   fixed-width setting
  667. - added scripting interface for creating a sorted window and refreshing the 
  668.   data in a sorted window.  See scriptjirc.pdf under the Dialog functions.
  669.  
  670. Beta (8) Release 06.24.04
  671. ====
  672. - fixed a bug with time+date stamp code miscalculating the current weekday
  673. - added a logging feature, now you can log everything... great for turning in
  674.   your friends who brag about the latest DoS attack or creating the latest
  675.   virii.
  676. - worked around a painting problem with the UI Options dialog under OS X
  677. - refactored the /list -gui code so I now have a more generalized window that
  678.   can display data in the same way, made some small cosmetic fixes as well
  679. - DCC_REQUEST set is now actually being utilized.  It was there just not being
  680.   used for some reason.
  681. - added a /dcc stats, it is the same as typing /dcc by itself except it comes
  682.   up in its own window and is updated automatically...
  683.  
  684.   To go with this I added several sets for customizing this dialogs output
  685.   DCC_LIST_TYPE, DCC_LIST_NICK, and DCC_LIST_INFORMATION, I've also added
  686.   a "dcc" popup menu hook which has a local variable $this for referencing
  687.   the dcc connection.  See the updated scripting docs for more info..
  688. - popup menus will now invoke /list -gui for channel listings.
  689. - switched default font to Java's "Monospaced" which is available on 
  690.   every java platform.
  691. - added a "fixed width buttons" option for the switchbar, under 
  692.   Options->Switchbar the hack to make the fixed width buttons shrink when 
  693.   the switchbar is filled is beyond ugly.
  694. - adjusted the default size of the options window so it will layout 
  695.   properly on other platforms *cough*linux*cough*
  696. - Miscellaneous UI tweaks: font selector, miscellaneous options, script 
  697.   manager, input field (opaqueness)
  698. - Reorganized the Options->Interface Options dialogs.
  699. - text layout tweaks: main display, statusbar, and input field all line 
  700.   up with eachother when drawing text...  there is a 2px buffer between 
  701.   the edge of each component and the first character.
  702. - fixed a bug with editbox font not updating immediately when the font 
  703.   preference is changed
  704. - keys bound with the "bind" keyword are no longer processed by java 
  705.   itself.  once your script gets ahold of the key then thats it.  
  706.   consequently this fixes a bug with my Alt+n and Ctrl+n shortcuts putting 
  707.   numbers in the editboxes when they where being used.
  708. - internal help filenames no longer have spaces in them, fixing a problem 
  709.   with jIRCii's help on Java 1.5 under Linux
  710. - made some changes to the way font metrics are calculated for laying out
  711.   text.  most fonts will now look more centered on the statusbar.
  712. - fixed a null pointer exception when auto joining auto /window'd
  713.   channels...
  714. - expanded irc parser host pattern to accept the = sign
  715.  
  716. Beta (7) Release 06.11.04
  717. ====
  718. - added a kickass little toolbar, there is also an option to disable it 
  719.   under Options->UI Options at first I didn't like it but now its kind of 
  720.   grown on me.
  721. - bug fix: multiple lines of text, when pasted will all be sent to the 
  722.   server...
  723. - added a /list -gui option which pops up a channel /list dialog with 
  724.   sorting and searching abilities
  725. - added a new popup menu hook "list" for the channel /list window. $0 = 
  726.   channel $1 = users $2- = topic
  727. - added a new popup menu hook "switchbar" for the jIRCii window 
  728.   switchbar, $0 = the window name
  729. - fixed a bug with 'on input' event and halt.  once halt got used with an 
  730.   on input event jIRCii would not process any more input (the halt got 
  731.   stuck)... this one pissed me off when I was trying to write an xdcc script.
  732. - clicking edit in the server editor will now select and scroll to the 
  733.   same server in the server editor dialog.
  734. - removed the scriptjirc and sleeplang html files from the jIRCii 
  735.   distribution, I like the pdf better.  The html versions of these files 
  736.   will continue to be available on the jIRCii website.
  737. - fixed a null pointer exception when auto connecting and auto joining 
  738.   channels resulted in stuff happening before all the datastructures were 
  739.   propagated...
  740. - made regular expressions for nickname parsing more liberal, so jIRCii 
  741.   shouldn't have problems parsing nicknames on servers using different 
  742.   charsets (i.e. Korean nicknames)
  743. - added an error message for attempting to reload a script that isn't 
  744.   currently loaded
  745. - fixed scripting documentation, I documented the wrong parameters for 
  746.   sendReply() and sendRequest(); they both require three parameters... not 
  747.   two.
  748. - made multiserver session information querying commands take an index as 
  749.   a parameter, so you can query information about other sessions from a 
  750.   script in one multiserver session.. this affects getSessionColor()
  751.   and getSessionText()
  752. - added a %localData hash variable to help out scripters.  Local 
  753.   variables are basically function parameters, stuff made local with the 
  754.   local() function, event variables etc.  %localData is a read-only 
  755.   hashmap with all of the keys and values for all of the local data
  756.  
  757.   To see all of the variables passed during a ctcp request event:
  758.  
  759.   on request
  760.   {
  761.     foreach $var (keys(%localData))
  762.     {
  763.        echo("$var = " . %localData[$var]);
  764.     }
  765.   }
  766.  
  767. - After having my arm twisted, I've added an on exit event.
  768. - if a variable is empty in the config file (not just non-existent) 
  769.   jIRCii will now use the default value, this should allow anyone to 
  770.   connect even people who fail to set a nickname, realname, email etc...
  771. - rearranged some of the ui options in the interface section of jIRCii's
  772.   options.
  773. - unbroke font previewing under Mac OS X.
  774.  
  775. Beta (6) Release 06.03.04
  776. ====
  777. - added an IRC_ATTEMPT_CONNECT set to go with a message that is displayed 
  778.   when jIRCii tries to connect to a server...
  779. - altered the cosmetics for default.irc's FORMATTED_NAMES to allow for a 
  780.   nick of up to 12 chars in length, anything longer is cut off... this is 
  781.   only in default.irc - your script can do what it wants.
  782. - fixed up default.irc's tab nick completion to not insert a space after 
  783.   the nickname you just nick completed, and to not insert a space if the 
  784.   nickname is the only word in the editbox...
  785. - added keyboard shortcuts Alt+1.. Alt+9 for switching windows using the 
  786.   keyboard...
  787. - added keyboard shortcuts Ctrl+1.. Ctrl+9 for switching server contexts 
  788.   using the keyboard...
  789. - altered the socket timeout stuff to time the irc connection socket out 
  790.   in 5 minutes rather than 30.  If the irc server or client are not 
  791.   responding to eachother (at least for the lag stuff) in 5 minutes then 
  792.   there is definetly a problem.
  793. - fixed a bug where you couldn't type to a dcc chat while not connected 
  794.   to an irc server... thanks elf.
  795. - added a Ctrl+W keyboard shortcut to create a window for the active 
  796.   query...
  797. - added keyboard shortcut Ctrl+D to close the active window
  798. - $me now returns "<Unknown>" when not connected to a server, rather than 
  799.   "" 
  800. - added the ability to auto connect to certain servers on client startup, 
  801.   use the server editor to flag this option.
  802. - added a &serverInfoCommand($server) function for returning the /server 
  803.   command for the given server with all the flags for the user options for 
  804.   that server.
  805. - hopefully fixed bug with autoperform on connect feature misidentifying 
  806.   some servers and joining the wrong stuff for the wrong network.
  807. - added an option for verbose script loading and unloading mainly to 
  808.   shutup blue-elf 
  809. - updated to a new servers.ini released by Tjerk Vonck on 16 Apr 04
  810. - small cosmetic changes to the help menu
  811. - added &callInSession(<session index>, "/command") to execute a 
  812.   command in another session...
  813.  
  814. Beta (5) Release 03.13.04 
  815. ====
  816. - altered some of the cosmetics of the help menu
  817. - decided to make auto /window enabled by default.  this goes against my 
  818.   idea of what the client is all about but it probably should be done. 
  819. - as a corollary to the auto /window enabled by default, all of the echo 
  820.   to active irc options have been enabled by default as well.
  821. - added $window variable to SBAR_LEFT and SBAR_RIGHT sets.
  822. - updated the servers.ini file to the one released by Tjerk Vonck on 25 Feb 04
  823. - removed most of the outdated classes in the test package (unnecessary)
  824. - double clicking a server in the server list now causes jIRCii to connect to
  825.   that server.  thanks eric for complaining about that one.
  826. - added several functions for querying information about the current server
  827.   connection: getServerHost(), getServerPort(), getServerPassword(), 
  828.   isServerConnected(), isServerSecure(), and getServerNetwork()
  829. - removed built in variables $myserverport and $myserver (redundant now)
  830. - updated the Connection -> Connect menu to store all information about a 
  831.   server connection including port, password, and ssl secure or not.  This 
  832.   information is used when reconnecting to the server. 
  833. - made the regular expression for detecting nick!user@host patterns a 
  834.   little more liberal, mainly expanded the user part of the pattern.  This 
  835.   should fix a bug where nicknames don't show up at all i.e. "<> hello!" 
  836.   instead of "<nick> hello!"
  837. - color codes and such are now stripped out of topic when it is put in window
  838.   titlebar.
  839. - added a tooltip to the DCC Dialog's local info option that mentions an IP 
  840.   address can be manually typed in.
  841. - added a perform on connect feature, any commands punched into the perform on
  842.   connect dialog for a specific network will be executed when connecting to that
  843.   network.  useful.  
  844. - added functions for accessing the data contained in the servers.ini file.
  845. - added an option to enable/disable the channel listbox or position it on 
  846.   the left or right of a channel window.  I think hyst asked for this.
  847. - the titlebar of channel windows now shows the channel limit if the 
  848.   channel has one set.
  849. - fixed a problem with word clicking stuff...  kind of miniscule but I'd 
  850.   get the occasional exception because of it.
  851. - added an on unload event...  now scripts can clean themselves up after 
  852.   being unloaded
  853. - when someone says your nickname in a channel there nick will be 
  854.   emphasized a little bit.  (small change in the default script)
  855.  
  856. Stable (1) Release 02.25.04 
  857. ====
  858. - fixed problem with subroutines being called in a file other than the one they   
  859.   were declared in.  this was created by my bugfix for runtime warnings not  
  860.   properly reflecting the file of the executing code.
  861. - altered the way dcc ctcps are echo'd, they now just go to the active window or 
  862.   to the status window pretty much.  (same as normal ctcp's)
  863.  
  864. Beta (4) Release 02.18.04
  865. ====
  866. - fixed small mismatch in default color.map and auto generated color.map
  867. - fixed a race condition in channel user structures against the listbox 
  868.   painting versus irc events...  never really reared its head until I 
  869.   joined a channel with over 1000 people in it.  fixed.
  870. - fixed a problem in -ischannel with empty input ""...  
  871. - altered the way built in 
  872. - altered <tab> binding a little, tab will either popup /msg <last nick 
  873.   to msg you> if the editbox is empty or complete the current word to a 
  874.   nickname.
  875. - altered statusbar format to say jIRCii, how could I miss that :)
  876. - Fixed the way the statusbar is refreshed when a property change occurs.  
  877.   When the font is changed or the statusbar background properties are 
  878.   changed everything should be on cue now.
  879. - altered on input event to use tokenized parameters for passing data.
  880. - added versionString() function to return the version string (basically 
  881.   a date stamp of when the client version was released).
  882. - finally altered and updated /sv and the ctcp VERSION reply.
  883. - fixed interesting bug involving the use of the return statement with 
  884.   foreach loops.  Thanks to era for helping me track this one down at 5am.  
  885. - altered arguments in subroutines.  Arguments passed in subroutines now 
  886.   begin with $1 instead of $0.  The $0 thing was creating way to much 
  887.   confusion so I'm curbing it this way.
  888. - altered sleeputils API to make string scalars check for null 
  889.   initialization values.  An attempt to pass a null value will result in 
  890.   the null scalar being returned.  This fixes some problems in the way 
  891.   jIRC uses sleep as my tokenizer will return null values.
  892. - stripped out most of the built in debug echoes...
  893. - added a check to the script loader for user attempts to load an already 
  894.   loaded script file twice.  this will prevent bad things from happening.
  895. - fixed bug where a runtime warning in a subroutine from another loaded 
  896.   script would not properly reflect which script the error occured in.  
  897.   thanks era for helping me catch this one.  It was actually amazingly 
  898.   easy to fix.  Yay for good design :)
  899. - a statusbar refresh is now forced when a nickname change event occurs.
  900.  
  901. Beta (3) Release 02.13.04
  902. ====
  903. - removed some debugging stuff that would have made it impossible to bind 
  904.   the tab key in scripts.
  905. - renamed getBaseDirectory() to baseDirectory()
  906. - /load will now complain if it can't find a script file you're attempting 
  907.   to load.
  908. - gave custom colors to the opening url message and to ident request 
  909.   messages in default.irc
  910. - fixed bug with user devoicing multiple times just toggling +v/-v.  
  911.   Thanks naz.
  912. - fixed a bug where refreshMenubar() wouldn't work (like anyone noticed)
  913. - showOptionDialog("dialog name") now works properly showing the specified 
  914.   dialog.
  915. - added $null built in scalar to sleep has the numerical value 0 and the  
  916.   string value "" ALWAYS!
  917. - attempting to access an array or hash in sleep as a normal scalar will 
  918.   result in an automatic conversion of the hash or array into a string 
  919.   scalar.
  920. - cleaned up AST tree generated by tree command in sleep console.
  921. - fixed bug with using a localvariable as the temp variable for foreach 
  922.   loops.  
  923. - implemented a parser fix for the $+ operator.  strings like "$+ blah" 
  924.   will no longer crash the parser...  thanks naz for finding this nasty 
  925.   bug.   the parser just reports a syntax error.
  926. - fixed a bug with $+; "\\ $+ $var" was not evaluating $var, now it does.  
  927. - fixed a bug with events; event listeners from unloaded scripts didn't 
  928.   expire even  when the script was reloaded.   Definetly a good one to have 
  929.   fixed.
  930. - added a little bit of parameter checking to some of the string 
  931.   predicates.  I should do this for other stuff but to lazy.  :)
  932. - fixed getNormal(), getOps(), getHalfOps, etc.. to return actual 
  933.   nicknames and nothing else... thanks mexis
  934. - fixed searchAddressList() - it was totally broken...
  935. - stabilized data being brought into sleep a little bit...  looks to see 
  936.   if data is null, if it is assigns it the actual null scalar rather than 
  937.   a real null (which results in bad things)
  938. - added more font size options to the font dialog, 13, 16, 18, and 19.  
  939. - relocated the code for the file system bridge into the sleep code.
  940. - send ctcp message is now echo'd to active if user requests ctcp replies
  941.   in active as well.
  942. - altered locations dcc echos are sent to - in general
  943. - Auto /Window leave channel when closing windows now implies the channel 
  944.   window should be closed on part.  Now Jono should be happy!
  945. - bind predicate now fires a script warning if scripter tries to bind to a 
  946.   non existent predicate environment
  947. - added IDENT_REQUEST set to go with ident event...  altered default.irc 
  948.   to use the set as well.
  949. - fixed broken ident daemon...  hopefully
  950. - enabled the SO_KEEPALIVE option for dcc sockets.  This way they'll die 
  951.   if they are disconnected but didn't disconnect for some reason.  
  952.   Otherwise they'll stay connected and idle for a long time :)
  953. - altered the way notice echoes are handled, by default a notice always 
  954.   goes to the status window on top of other relevant windows.  Now if a 
  955.   notice goes to the active window it won't go to the status window unless 
  956.   its supposed to.  (I know my notice echo stuff is confusing).
  957. - spruced up /dcc output a little bit
  958. - addItem("title", "command") can now take commands that begin with / or 
  959.   not... doesn't matter/ser
  960. - if a background type is selected to image but the image doesn't exist 
  961.   then jIRC will just draw a solid colored background.
  962. - added an INVITE set, also modified event processor to automatically fire 
  963.   a set for an unknown event based on the event name.  So say an irc DEATH 
  964.   event was added.  jIRC will parse this and automatically fire it as a set 
  965.   named "DEATH" to the status window
  966. - added built in command /clearall for Tijiez
  967. - scripted tab nick completion - its in default.irc... 
  968. - added -ischannel predicate to determine if the passed string is a 
  969.   *channel*.  this does not  say is it a channel that your on or not.  It 
  970.   just asks does the string begin with # or &. If you want to check if your 
  971.   on a channel use if ($me ison "#whatever") { }
  972. - added a groupNicks(@array, [n]) function that takes an array of users 
  973.   and groups them into comma seperated groups of size n, default is 4..  
  974.   these groups are returned as an @array
  975. - bridged my tokenizer class (from jIRC) to sleep...  documented in the 
  976.   jIRC scripting docs
  977. - added getDCCAddress($dcc_conn) function for getting the address of a 
  978.   dcc..  thanks naz for pointing this one out
  979. - added getCurrentDirectory() to file system bridge
  980. - renamed the client to jIRCii
  981. - added a parseSet("SET_NAME", "target", "parms") function for firing 
  982.   custom sets.
  983. - added fireEvent("irc data string) and fireEvent("event", %data) for 
  984.   firing custom events.
  985. - made /ver and /ping into nick completing commands.
  986. - added the ability for use of hyperlinks to outside sites inside of jIRC 
  987.   help files...
  988. - fixed a sleep parser bug where expressions/scalars where not being 
  989.   allowed within "$[align]varname"
  990. - added shift(@array) and removeAt(@array, index) to sleep...
  991. - scripted dynamic popup that remembers the last 5 servers in the 
  992.   Connection menu item for Tijiez
  993.  
  994.  
  995. Beta (2) Release 02.07.04
  996. ====
  997. - fixed some problems with "on event" binding
  998. - fixed problem with isin predicate in sleep
  999. - made client friendlier to text entered accidentally when not connected
  1000. - made socket classes a little bit more resistant to errors that bubble up 
  1001.   but in actuality have little to do with the socket itself.
  1002. - fixed bug with connect button in option window disabling keyboard shortcuts
  1003. - scripted a server_error set.
  1004. - fixed notice sets making them less ghetto.
  1005. - fixed double click event firing even when no text was double clicked on
  1006. - fixed w2k specific problem where like you couldn't select multiple
  1007.   nicknames in the listbox.  Write once, debug every where.
  1008. - tweaked icon dimensions a little bit so now the mdi window icons 
  1009.   are positioned better in Windows, they look fine in the java 
  1010.   metal look and feel, and they are somewhat better in OS X.  Its
  1011.   one big compromise as far as I'm concerned.  I'm not 100% happy with the 
  1012.   result but it will do.
  1013. - /clear|/cls by itself now clears the active window
  1014. - fixed stats bar disappearing after viewing background options
  1015. - fixed bug where dcc send start message appears twice.  
  1016. - spruced up server outputs a little adding a little color.  There are
  1017.   now 3 colors for outputs, the channel/host color, nick/address color,
  1018.   and the neutral color.  Spruced up many numeric replies including /whois.
  1019. - fixed reply 301... it will now always show up when you whois yourself
  1020.   or whois someone else.  Otherwise it will be stifled.  All of this and
  1021.   no effect on the event itself.
  1022. - numeric reply 401 is now echo'd to active window if show whois in 
  1023.   active is turned on... (401 = no such nick/channel) thanks Tijiez.
  1024. - fixed server disconnect message when /server'ing to another server.
  1025.   disconnect message now reflects the server you disconnected from.
  1026. - went to great pains to make the background images dialog a little easier 
  1027.   to use.  If an option doesn't apply to your current settings it is 
  1028.   disabled.  
  1029. - added a /ww command
  1030. - added a /help command (launches help dialog)
  1031. - implemented /run and /exec finally
  1032. - third parameter is now optional in the substr() command.
  1033. - added an option to enable/disable the statusbar in the UI Options dialog.
  1034. - added a check to jIRC for Java 1.4 or greater, if the user is not using 
  1035.   a modern vm then jIRC will exit.
  1036. - added a strip() function to strip control codes out of the parameter text.
  1037. - added a second parameter to openWindow() to make it open non-channel windows
  1038.   inactive.
  1039. - added a (%) systemProperties() function for obtaining information about the
  1040.   system...
  1041. - added an array() function for quickly initializing an array.
  1042. - removed .bmp from acceptable image type filter.  Apparently java likes 
  1043.   to freeze when loading bitmaps.  
  1044. - reworked the script loading stuff in a big way.  Most of the work 
  1045.   consisted of centralizing the script loading in the sleep API's.  I also 
  1046.   made loading a little smarter which will help just a *touch* with script 
  1047.   loading.  This was mostly for the benefit of making sleep easier to use 
  1048.   for other app developers.  I tested it but report any bugs to me please 
  1049. - fixed a bug that was really messing up the irc data structures.  The 
  1050.   mode parser did not expect -k to have a parameter associated with it.  
  1051.   As such the targets got messed up for subsequent modes in the same mode 
  1052.   string.  This could really desynch the client.  Should be okay now.  
  1053. - Changed configuration defaults... jIRC will now use a single document 
  1054.   interface by default on every platform except Windows (were it defaults 
  1055.   to MDI).  You can switch between SDI and MDI in the Options -> UI 
  1056.   Options dialog.
  1057. - Adjusted some of the blank space in the dialogs.  Dropped forced white 
  1058.   space from 10 pixels to 5 pixels.  To help accomodate for look and feels 
  1059.   that love to suck up screen space.  Writing good looking dialogs for a 
  1060.   'skinnable' app is a pain in the ass... trust me.
  1061. - fixed a bug with the colormap (it only allowed colors 0-98), try ^k99 
  1062.   in the old beta... it will completely jack the display..
  1063. - reset the colormap...  all slots have an entry and 1-16 are properly 
  1064.   coordinated with the defacto mIRC standard.
  1065. - added a baseDirectory() function which returns the directory where the 
  1066.   jirc files are located at.
  1067. - added an interpretation for Undernet reply 330 (User is logged in as)
  1068. - added a key binding to the menus.irc: Escape - minimizes active window
  1069. - /dcc accept now takes another optional parameter allowing you to 
  1070.   specify a new location for the file to be dumped to... if your 
  1071.   accepting a receive.
  1072. - added closeDCC($dcc_conn) method to close an active dcc... since my 
  1073.   /dcc close is kind of inadequate... :)
  1074. - expanded /dcc close a little to take: /dcc close [send|chat|receive] <nick>
  1075. - redid the dcc error messages a little so they keep the exception type 
  1076.   out of it.
  1077. - readded the /wall and /wallex commands, along with sets SEND_WALL and 
  1078.   SEND_WALLEX
  1079. - added a bunch of functions for manipulating the multiserver aspect of 
  1080.   the client... kinda kewl..  now you can code scripts to make the tabs 
  1081.   flash and stuph.
  1082.  
  1083. Initial Beta (1) 01.31.04
  1084. =====
  1085. This thing has been in development since 99, I've had other strains of
  1086. betas going up to beta 12.  So don't think this is anything new...
  1087.