17/02/2006 - mIRC v6.17

Changes:
1.Fixed $comval() gpf bug.
2.Fixed /font gpf bug.
3.Fixed menu {} rclick related bug.
4.Fixed numeric 338 remote bug.
5.Fixed recursion stack overflow gpf bug.
6.Fixed /.uwho message not being hidden.
7.Fixed /close gpf bug in on close event.
8.Fixed ! command prefix bug when used with certain commands.
9.Added support for IRCnet numeric 265/266 format change.
10.Fixed handling of <> URL formats in hotlinks.
11.Fixed remote /whois display bug.
12.Fixed switchbar status highlight bug with orphaned dcc chats.
13.Fixed perform on connect listbox not displaying scrollbar.
14.Fixed auto-join bug.
15.Added support for unreal ircd /whois numeric 671.
16.Most file dialogs are now resizable.
17.Fixed SSL file dialog display bug.
18.Added support for numeric 005 NAMESX token, indicating that
   mIRC supports multiple mode prefixes for a nickname in a NAMES
   list, eg. @+nickname.
19.Fixed disappearing background pictures bug in query/chat windows.
20.Added /sockopen -e switch which creates an SSL connection and
   $sock().ssl identifier.
21.Added /tray -mNsNtNaN switches where N is 0 or 1 and enables or
   disables the tray settings always show, startup minimized,
   minimize to tray, and animate on activity.
22.Added $decode to Lock options dialog. Lock dialog now also allows
   individual setting of lock items. $decode is disabled by default.
23.Fixed ANSI support for MOTD message.
24.Added default sounds options to notify options dialog.
25.Added $mouse.key & 8 to check for ALT key and $mouse.key & 16 to
   check for right mouse button.
26.Added $inellipse(x,y,x,y,w,h) and $inroundrect(x,y,x,y,w,h,w,h).
27.Added /sockpause [-r] <name> command, pauses/restarts a socket from
   reading incoming data. $sock().pause returns current state.
28.Added connection time out option in connect/options dialog, PINGs
   the server every so often to test connection.
29.Added /dcc send -m switch to minimize dcc send windows.
30.Fixed script recursion gpf bug.
31.Fixed $inpaste bug.
32./hsave -b now displays a warning when it is unable to save data
   that is longer than 65535 bytes.
33.Fixed isnum bug with negative values.
34.Added global Join on connect option to favorites dialog.
35.The Hide ping? pong! event option is now enabled by default.
36.Fixed ordering of notify/unotify events on non-WATCH servers during
   a /nick change.
37.Added support for initiating passive dcc send/chat connections,
   option in DCC Options dialog. Also added /dcc passive [on|off]
   command and $passivedcc identifier.
38.Added $locked identifier, returns whether mIRC is locked or not.
39.Fixed $target processing for /msg +#channel, mIRC now correctly
   checks the CHANTYPES and PREFIX numeric 005 tokens to strip
   prefixes.
40.Fixed formatting of outgoing wallchops/users/voices.
41.Changed flood protection feature so that it uses PING instead of
   PRIVMSG when testing server lag.
42.Added custom dialog listbox property "check", creates listbox
   of checkboxes, manipulated with /did -sl and $did().csel/cstate.
43.Added $window().fontcs identifier, returns the selected character
   set/script for a window's font.
44./debug windows now show raw text without interpreting multibyte or
   utf text.
45.Changing the default font for a window type now affects all open
   windows of the same type immediately.
46.Fixed SSL files path bug where certificate files where not being
   loaded if not in mIRC root folder.
47.Fixed :error handler bug where the normal break message was being
   displayed due to Control+Break being detected more than once.
48.Added support for display of UTF-8 text as unicode in status,
   channel, query, and other windows, and in nickname listboxes,
   window titlebars, switchbar, and tooltips.

   The display of UTF-8 can be enabled for all windows in the
   Options/IRC/Messages dialog, or individually for each window
   via the Fonts dialog. The Fonts dialog also has an "Encode"
   option that encodes outgoing text in UTF-8 based on the
   script/codepage selected for that window.

   Note: The Encode feature is selective, ie. it only encodes the
   parts of an outgoing message that are not already in UTF-8 format.

   Added $utfencode(text, C) and $utfdecode(text, C), where C is the
   script/codepage ($window().script) of the plain text.

   Added $isutf(text) identifier, returns UTF-8 status of text, where
   0 = not UTF-8 (contains invalid UTF-8 sequences), 1 = seems to be
   plain text, 2 = seems to contain valid UTF-8.

   Note: mIRC does not convert incoming UTF-8 into the local codepage.
   Server text is stored internally unchanged. This enables mIRC
   (scripts, etc.) to work fully with UTF-8 IRC servers that allow
   UTF-8 in channel and nick names.

49.Fixed /load -nrs switch bug.
50.Fixed DCC Options dialog gpf bug.
51.Fixed mark/copy clipboard memory leak bugs.
52.Fixed $encode/$decode memory not being freed in some situations.
53.Added $qt(text) identifier, ensures text is enclosed in quotes,
   and $noqt(text), removes outer enclosing quotes.
54.Text display is now smoother/less flickery in some situations.
55.Fixed /drawpic bug drawing blurred icons.
56.Added /drawpic -g switch, loads large icon from icon file.
57.Fixed handling of /describe $ server messages.
58.Fixed buffer save bug, was ocasionally not saving lines.
59.Fixed $sdir() bug.
60.Fixed /bread, /bwrite, and /btrunc not being able to handle files
   larger than 2 gigs.
61.Fixed toolbar custom buttons bug when changing XP themes.
62.Fixed /debug -i identifier evaluation bug.
63.Fixed channel tab completion freeze bug.
64.Fixed $file().size bug with locked files.
65.Fixed /renwin bug with reserved @window names.
66.Fixed mIRC tray icon double-click bug not showing/hiding mIRC
   correctly in some cases.
67.Fixed tray-related disappearing mIRC bug.
68.Fixed $script() not parsing quote-enclosed filenames.
69.Fixed wildcard handling bugs.
70.Fixed /window -z bug, can no longer be applied to status window.
71.Fixed contents of second editbox being reset when visual styles
   are changed.
72.Fixed . prefix not working for /localinfo command.
73.Fixed invalid { parameter gpf bug in $eval, $height, $width,
   and $wrap identifiers.
74.Fixed while loop bug with :error and /reseterror.
75.Fixed various $comcall() bugs. The $comerr value is also now set
   when $comcall() calls the alias.

   Note: If $comcall() fails when calling an object and $com() does
   not, this means that the object is not compatible with mIRC's
   threading model, so $com() must be used.

76.Extended $findfile() to handle multiple file types separated by
   semi-colons, eg. *.exe;*.txt
77.Fixed display of Efnet numeric 338 containing IPv6 address.
78.Improved hotlink handling of bracket-enclosed channel names.
79.Fixed switchbar button text color not matching XP theme color.
80.Fixed /goto bug which resulted in jumping to the wrong line.
81.Fixed $com() memory leak bug.
82.Fixed various $did() bugs affecting "multsel" listboxes.
83.Fixed $iif() bug when parsing $null parameters.
84.Fixed DCC gpf bug in iphlpapi.dll where initiating a DCC would
   result in a crash for some users. This bug may also have been
   affecting mIRC's general sockets behaviour.
85.The $asctime() identifier now allows am/pm to be separate from
   the time value.
86.Fixed text-wrapping of messages for /fopen-related commands.
87./firewall command now also accepts server:port format.
88.Added /autojoin -nsdN command, can be used in on CONNECT or perform
   to delay or prevent autojoining of channels. This also affects the
   rejoining of open channel windows during a reconnect. Where -n = join
   now, -s = skip autojoin, -dN = delay autojoin for N seconds.
89.Fixed multithreading sychnronization bugs in SSL routines.
90.Fixed /queryrn not permitting certain characters in nickname.
91.Fixed if/elseif/while gpf bug when parameters too long.
92.Updated libraries to PNG 1.2.8, zlib 1.2.3, and PCRE v6.4.
93.The SSL warning/password dialogs now auto-cancel after 60 seconds.
94.Fixed /aline -n and -nl, now identical behaviour if line exists,
   ie. both have no effect on the line. This also affects /iline.
95.Fixed /list bug, now reports an error if /list is sent before you
   are connected to the server.
96.Fixed mIRC not saving settings when Windows shutsdown/restarts.
97.Fixed switchbar tooltip display bug.
98.Fixed $bfind(&binvar, N, M) bugs relating to reading beyond the
   end of the actual &binvar length.
99.Fixed $input() 'd' option, was playing a default sound even if none
   was set for the specified system icon.
100.Added support for displaying GIFs via the GIFLIB library.
101.Added $findfilen/$finddirn identifiers, return Nth position of
    files/dirs found with $findfile/$finddir.
102.Can now specify a range of ids with one /did command by using a
    dash, eg. /did -b test 1-5,6,7-8,9-11,10
103.Added separate timestamp option for logfiles in logging dialog
    /timestamp -g switch to set logstamp format, and $logstamp and
    $logstampfmt identifiers.
104.Extended $sound() to read id3v2 tags, with properties .id3, .tags,
    and $sound(filename,N|name).tag. If you don't use .tag, it returns
    the id3v1 values.
105.Extended /flash -bNrNwN, where N limits the number of flashes/beeps,
    and fixed /flash making a sound even if -b or -w were not used.
106.Fixed DCC Send/Get window button/window sizing when different fonts
    are selected for the window.
107.Extended $input(text,kN), where kN is an N second timeout value.
    On timing out, $timeout is returned if 'v' is specified, no
    value if 'e' is specified, and $false otherwise.
108.Added custom dialog editbox 'number' property to limit input to
    numbers. Note that this only applies to typing in the editbox,
    not pasting.
109.Added /noop command, performs no operation.
110.Extended /showmirc -ntl, where -l locks mIRC when it is being
    minimized.
111.Added $regsubex([name], text, re, subtext), where subtext is
    evaluated during substitution and can be an identifier. Subtext
    can contain special markers where \0 = number of matches, \n =
    match number, \t = match text, \a = all match items. Returns text
    result.
112.Fixed "fill switchbar" display bug with /window -z windows.
113.Fixed parsing bug with combinations of $& and | separator.
114.Fixed /timer not checking for an invalid timer delay value.
115.Fixed /url not opening default browser in some situations.
116.Added /set/inc/dec -e switch, unsets variable on mIRC exit.
117.Extended /window and $window(), can now refer to existing windows
    using wid value, eg. /window -n @1.
118.Fixed $line() not parsing chat =names correctly.
119.Fixed if parser treating 00 as text instead of a zero value.
120.Fixed $upper/$lower not converting accented characters correctly.
121.Fixed udpread event treating zero incoming bytes as closing of
    the connection.
122.Fixed broken behaviour of notify list /whois option due to Efnet
    not accepting /whois nick1,nick2,... format.
123.Changing the font for a DCC Send/Get window now immediately resizes
    the window and buttons.
124.Fixed if/while parsing bug when parameter begins with ; character.
125.Fixed on OPEN event not supporting $()/%var in text match section.
126.Fixed $regsub() not reporting an error if an invalid %varname is
    specified.
127.Added support for numeric 005 UHNAMES token, indicating that mIRC
    supports the nick!user@host format in the NAMES list which it uses
    to the fill the IAL on joining a channel.
128.Using /halt in the alias called by $findfile/$finddir now halts
    the file/dir search.
129.Added support for /adchat, /netglobal, and /globops commands.
130.Added $bytes(N,d) switch, retains decimals. Also fixed handling of
    negative values.
131.Added support for numeric 345 channel invite message.
132.Editor variables sort button now toggles between four different
    sort methods.
133.Extended the number of url types that the hotlinks/URLs list
    features handle.
134.Added support for internal excepts/invites list with $chan().iel
    and .iil, $iel() and $iil(), and if isexcept and isinvite.
135.Added "Line colors" option to logging dialog, prefixes the line
    with actual line color in logfile if necessary.
136.Fixed intermittent load/reload scripts gpf bug.
137.Added support for numeric 005 TARGMAX=WHOIS:N token, number of
    nicknames that a /whois command allows.
138.Fixed favorites menu bug with recent channels and active server
    connections.
139.Calling /clipboard with no text now empties the clipboard instead
    of assigning it an empty string.
140.Fixed highlight feature bug when matching against non-ascii text.
141.Fixed nick color list option not using first matching item in the
    list when matching against a user level.
142.Fixed intermittent /dialog gpf bug with long table names.
143.Fixed parser bug when handling empty custom identifiers with
    properties.
144.Fixed $longip() handling of zero-padded ip addresses.
145.Fixed DCC Folders dialog bug where items added with mIRC folder
    as the save folder were being lost on restart.
146.Fixed timestamp display bug in "copy messages to query" option.
147.Fixed /timers triggering in an unexpected order, should now trigger
    according to the order in which they were set even if they have the
    same delay.
148.Since numeric 005 ELIST token now exists, from the next version
    mIRC will no longer treat SAFELIST as implying support for /list
    parameters and will only use /list parameters if a server specifies
    the ELIST token in numeric 005.
149.Fixed $prop returning only the last part of a property name that
    contains multiple . in the name.
150.Fixed mime decoding not ignoring non-base64 characters.
151.Fixed $ini() returning 0 instead of $null for non-existent topics.
152.Added support for more genres to mp3 identifiers.
153.Fixed /rename bug when attempting to rename an existing file with
    the same name.
154.Fixed custom @window logfiles not rotating filenames correctly at
    midnight as with channel/chat windows.
155.Improved handling of ANSI color codes.
156.Fixed /comopen and /comclose not triggering error catcher if item
    was already open/closed.
157.Both $regsub() and $regsubex() no longer treat $N as \N.
158.Extended /filter -e to handle larger numbers when sorting.
159.Fixed /did -ocueb not working on submenu items.
160.Fixed /loadbuf display bug with custom dialog hidden controls.
161.File dialogs now display the places bar under 2k/XP.
162.Switchbar now allows wider buttons when placed on left/right.
163.Fixed /splay bug with path/extension handling.
164.Added "show nick list on tab key" option to channel nick list
    options dialog.

07/07/2004 - mIRC v6.16

Changes:
1.Fixed $did().seltext/text bug.
2.Fixed /hinc /hdec result message bug.
3.Fixed $ssl not being set correctly if not connected to a server.
4.Fixed $chr(160) SJIS/JIS gpf bug.
5.Fixed while/continue/break bugs.
6.Fixed /filter -ntk returning incorrect line numbers.
7.Fixed mdi window display bug with maximized windows.
8.Fixed /list -min -max values being offset by one.
9.Fixed URLs list sort bug for ? items.
10.Fixed $serverip not working in on disconnect event.
11.Fixed handling of different server formats for numeric 328.
12.Added $input() option 'u', makes input dialog use currently
   active window as the parent window, including custom dialogs.
13.Fixed $result not working in $iif() and some other identifiers.
14.Fixed :error detection not working for /splay and /alias
   commands.
15.Fixed dcc get open folder bug when filename contains commas.
16.SJIS/JIS is now applied to messages only if you have a window
   open that uses the SJIS charset, as in previous versions.
17.Added /if iswmcs case-sensitive wildcard match comparison.
18.The $pnick and $play(1).pos values are now updated after the
   on PLAYEND event is triggered.
19.Fixed /alias reporting incorrect error message when alias
   can't be removed.
20.Fixed /filter incorrectly retaining indentations in lines.
21.The $ifmatch identifier now returns the value of the previous
   if comparison, even if it failed.
22.Fixed $did().next/prev bug.
23.Added /window -H switch to enable @window listbox auto-hide.
24.Fixed notify list bug with popup menu using incorrect server
   connection with aliases.
25.Fixed $ial() not being updated after a /hop.
26.Added $v1 and $v2 identifiers, return values of first and second
   parts of an if comparison.

   Note: $v1 replaces $ifmatch, however $ifmatch is still supported
   for now.

27.Added $insong.pause returns $true if song is paused.
28.Updated support for numeric 489 due to different meaning across
   networks.
29.Fixed /uwho numeric processing bug.
30.Fixed background display/resize bug with desktop windows.
31.Fixed highlight feature gpf bug.
32.Added /drawpic -o command, indicates that you have specified an
   [N] value before the filename which is the index of the icon in
   the file.
33.Updated $disk() to work with mounted NTFS drives.
34.Fixed /hop bug.
35.Fixed $file().size limitation.
36.Improved support for multiple server formats for numeric 338.
37.Added $comval(name,N,member) identifier, returns member values
   for the Nth retrieved instance ie. enumerated collection.

03/06/2004 - mIRC v6.15

Changes:
1.Fixed $base() gpf bug with large numbers.
2.Fixed SSL gpf on connect with certain certificate types.
3.Fixed notify list hidden edit button bug.
4.The dcc send/get on filesent/filercvd/etc. events can now halt
  the default messages displayed in the status window.
5.Fixed bug in /findtext and Control+F routines.
6.Fixed &binvars not being unset at end of script in some cases.
7.Fixed Find URL bug in URL window.
8./names no longer fills nick list of channel window from which
  you have been kicked.
9.Fixed /echo -eg causing line separator to be logged.
10.Query window logs that are created but not written to are now
   automatically deleted when the query window is closed.
11.Fixed $error in :error handler not displaying correct line
   number and backward propagation of error.
12.Fixed $encode() not working with one character length text.
13.Fixed /gtalk -w, now looks in waves folder for sound.
14.Fixed random port selection bug.
15.SJIS/JIS support is now only automatically enabled when first
   running mIRC on a multi-byte SJIS/JIS system.
16.If auto-get is enabled with auto-resume and the incoming file is
   smaller than an existing file, the dcc is now cancelled.
17.Fixed Alt+Minus key combination displaying incorrect system menu
   when a window is maximized.
18./hop is ignored if issued more than once in a channel window that
   is in the process of being rejoined.
19.Fixed $sfile/$msfile bug when multiple filetypes are used.
20.Fixed $input not always initially setting focus to editbox.
21.Fixed handling of SSL port numbers where a disconnect and reconnect
   resulted in use of a non-SSL port. mIRC will now always use an SSL
   port when connecting if it was using one in the prior connection.
22.Recent servers list in servers.ini now stores entries with port
   numbers not in the servers list for that server.
23.Fixed /if comparison evaluation bug with $identifiers.
24.Fixed /debug bug, failed if called more than once in some cases.
25.Fixed $addtok() handling of $null values.
26.Fixed $did/$dname/$devent being reset during an on dialog event
   in some situations.
27.Undid change to /echo -bfh which allowed custom @windows to blink.
28.Fixed dcc accept message not applying the fill spaces option to
   a filename with spaces.
29.Fixed ampersand bug in custom dialog combo boxes.
30./window -a now activates dcc chat windows associated with active
   connection first if any are found.
31.Improved port-in-use detection method so port selection for DCC
   and other connections works more smoothly.
32.Fixed recursion gpf bug with /scon and /scid.
33.Fixed while/if bug when using $iif() in comparisons.
34.An error message is now displayed when the maximum recursion
   depth is reached in a script.
35.%helper users now able to use +voice related features such as
   auto-voice, /pvoice, etc.
36.Fixed Address Book/Control dialog not displaying ignore time
   value correctly when /ignore -uN is used.
37.Fixed channels list lower-case display bug on keypress.
38.Fixed /window not handling quotes around =chat window names.
39.Fixed $onpoly() not handling intersecting polygons of zero
   volume.
40.Fixed handling of regular expressions that contained certain
   characters in remote event definitions.
41.Fixed binary variables being unset immediately instead of at
   the end of a script when $scon() is used.
42.Fixed custom socket bug that was causing sockets to be closed
   randomly.
43.Fixed "start minimized" bug where windows were not being sized
   properly at start up if mIRC was minimized.
44.Fixed editbox display bug when using certain fonts.
45.Fixed dcc trusted listbox not displaying vertical scroll bar.
46.Fixed tabkey evaluation bug.
47.Fixed /drawpic memory leak when drawing icons.
48.Fixed the way /ban -uN and /ignore -uN values are processed,
   now identical.
49.Fixed dcc send/chat using incorrect network when initiated via
   notify list window.
50.Added /filter -k <infile> <alias> switch, calls alias instead
   of outputting to a file or window.
51.The Open Folder button in a completed DCC Get window now opens
   the explorer window and highlights the received file.
52.Fixed custom dialog combo editbox bug when deleting item.
53.Added /font -z switch, clears all font settings and sets all
   windows to the specified font. If no font is specified, all
   default font settings are set to fixedsys.
54.Fixed log folder bug where a subfolder was incorrectly being
   created in some situations.
55.Added "Find selection" option to Editor dialog, toggles find
   dialog behaviour of using text under cursor.
56.Fixed /dialog -c gpf bug.
57.Fixed SSL key files handling bug, changes in SSL dialog were
   not being applied.
58.Fixed SSL root certificate handling bug, resulted in rejection
   of valid certificates.
59.Fixed various multi-byte display/mark/copy bugs.
60.Fixed SJIS/JIS processing bug, was corrupting outgoing lines
   in some situations.
61.Fixed links list window display bug.
62.Fixed /window -b not working on side-listbox.
63.Fixed /while loop handling bug when /break on same line.
64.Added support for unreal ircd numeric 489, sent when you try
   to join a channel with +z channel mode set and you are not
   using a secure/ssl connection.
65.Can now use $send(-1) and $get(-1) in on FILESENT/SENDFAIL/etc.
   events to refer to dcc associated with the event.
66.Fixed /fserve maxgets limit bug.
67.Added $hotlinepos, returns line and word position.
68.Added /url -ils switches, which insert a new item, and load
   and save the url list.
69.Added $replacex() identifier, same as $replace() except that
   it ignores previous replacements in the line.
70.Fixed multi-monitor display bug.
71.Fixed /goto gpf with empty : goto points.
72.Fixed $regsub() handling of \ and $ characters.
73.Fixed dcc get via http proxy/socks bug.
74.Fixed firewall not releasing dcc-related sockets in some cases.
75.Added support for numeric 005 ELIST=MNUCTP token.
76.Fixed reload logs bug.

03/03/2004 - mIRC v6.14

Changes:
1.Fixed /links -n not minimizing window.
2.Fixed tooltip gpf bug.
3.DCC send/get results are now always displayed in the status
  window.
4.Non-custom @windows are now displayed in their saved positions
  on multi-monitor setups.
5.Fixed /write -lN running out of temporary filenames error bug,
  also affected a few other file related commands.
6.Fixed dcc received files menu when dcc folders changed in options
  dialog.
7.Fixed move server to top on connect option not working in some
  situations.
8.Fixed script editor not saving current editbox contents when
  current/another file is loaded/unloaded.
9.Added match method option in log view dialog.
10.Increased zeropad max value in $base() to 100.
11.Fixed $matchkey in on open event.
12.Improvied $addtok() $deltok() handling of $null.
13.Fixed handling of ini files when system file attribute set.
14.Fixed $+() handling of $null.
15.Fixed fill switchbar display bug with vertical switchbar.
16.Fixed dcc send/get time out display bug.
17.Fixed gpf bug caused by /close in an on CHAT event.
18.Fixed send buffer overflow gpf when sending many commands to a
   server in a script all at once.
19.Fixed daylight savings time offset bug.
20.Moved port range to connect/advanced dialog, now applies to all
   connections.
21.Fixed editbox gpf bug when tab completion results in long text.
22.Tooltips now correctly use system tooltip font.
23.Fixed bug in /ignore and isignore when using/checking for applied
   switches.
24.Added /cnick -sN switch, sorts item into Nth position.
25.Fixed custom dialog icons display bug.
26.DCC ports range is no longer limited to 1024 and above.
27.Fixed nicknames being added to tab key list even if incoming
   message was ignored.
28.Fixed ctcp resume message not including original filename.
29.Fixed address book whois display bug.
30.Fixed /fopen not being able to open read-only files.
31.Fixed get active url feature in url editor dialog.
32.Fixed /qmsg and /qme display bug.
33.The $read() and $readini() identifiers no longer parse command
   separators by default. Added 'p' switch to enable this.
34.Fixed shift+control+v combination resulting in double-paste.
35.Fixed /ignore -w not removing network from an existing ignore
   item.
36.Fixed auto-get "if file exists" settings being applied even if
   auto-get wasn't enabled.
37.Fixed $send().resume returning incorrect value.
38.Fixed fileserver filename handling bug.
39.MDI window no longer displays horizontal/vertical scrollbars.
40.Switchbar now allows up to eight lines in height.
41.Fixed multi-threading gpf and memory loss issues.
42.Added reload logs feature to logs dialog, works with channel and
   chat windows. Loads up to the maximum window buffer value
   specified in the options/other dialog.
43.Updated libraries to zlib 1.2.1.
44.Added support for openssl. The libeay32.dll and ssleay32.dll
   openssl 0.9.7c dlls must be downloaded separately from mIRC and
   placed in the mIRC folder. mIRC will load the dlls automatically
   if it finds them. $sslready can be used to determine whether mIRC
   has loaded the dlls successfully.

   To initiate a secure connection to an SSL capable server, you can
   use the /server -e switch, or prefix the port number with a plus
   sign, eg. +7001. $ssl can be used to determine whether a
   connection is secure or not.

   SSL settings can be found in the Connect/Options dialog, and are
   visible only when openssl dlls are loaded.

46.Fixed $submenu() bug when returning $null for the begin menu item.
47.Fixed script parser bug when handling ; and rem comment prefixes
   in some situations.
48.Fixed $highlight(text) case-sensitivity bug, and added a .cs
   property.
49./echo can now target an open dcc chat window even if the dcc chat
   session has ended.
50.Fixed /filter gpf bug when /filter was being called a second time
   in the filter sort alias.
51.Fixed /unset not properly clearing a variable that was set with
   /inc -c.
52.Fixed bug with paste confirmation dialog, text was being pasted
   as a command even if the control key had been pressed.
53.Fixed server edit dialog allowing multiple entries with the same
   description.
54.Lines in listboxes are now the same height as those in the text
   display area in windows, allowing them to be aligned.
55.Fixed $com() dispatch pointers bug. You can now make mIRC create
   a new $com() object by specifying a dispatch* item as the last
   parameter in a $com() call, without a value.
56.Added lock option to disable /com features.
57.Fixed agent bug in ignore line if percentage of the line was
   non-text, if enabled it resulted in most lines not being spoken.
58.Added backup file on save option to editor.
59./.hop now hides display of hop message.
60.The /echo -sa swiches can now be used at the same time.
61.The /echo -bfh switches now affect custom @windows.
62.The recent servers list is now stored in [recent] in servers.ini
   and remembers servers that aren't in the servers list.
63.Fixed multi-server bug which may have caused a gpf/freeze in some
   situations.
64.The switchbar now displays scroll buttons when it is vertical and
   unable to fully show all windows. The mouse wheel can be used to
   scroll through the window list.
65.Fixed line marker bug, failed to behave correctly after a /clear.
66.Fixed Alt-Switchbar button bug when windows for a Status window
   were hidden, closing the status window was not re-displaying
   hidden @windows.
67.Fixed /msg chopping channel name at 60 characters.
68.Added /filter -z switch, remembers line color when copying from
   one @window to another.
69.Added $line().color property, returns line color.
70.Fixed fileserver dcc get bug.
71.Added dialog option to enable/disable the nick colors list.
72.Fixed $fline() regex case bug.
73.Fixed $cnick() bug resulting in non-match when modes were used.
74.Fixed on sockclose event triggering twice in some situations.
75.Added /server -jn switch where 'n' minimizes joined channels.
76.Fixed mark/copy right-click over editbox bug.
77.Fixed /scid -a gpf bug when used with /window -c.
78.Added Sort dialog to Window Menu, allows you to specify the sort
   order of Switchbar buttons and Windows.
79.Fixed tabkey channel completion with non-# channels.
80.Fixed /fseek regex gpf bug on long lines of text.
81.Fixed right-click titlebar roll/unroll bug.
82.Changed switchbar "sort buttons" behaviour. Buttons are now always
   sorted into groups. However if the sort option is turned off, they
   are sorted according to creation time within groups as opposed to
   alphabetical sorting.
83.Fixed various multi-byte display/mark/copy bugs and improved
   SJIS/JIS support.
84.Fixed $line() not working with channels list window.
85.Added "None" sort method to channels list popup menu, displays
   channels in the order sent by the server.
86.Script errors can now be caught by adding an :error goto point to
   your script. When an error occurs, the script will jump to :error
   and continue running.

   $error returns the error message. You can reset the error with
   /reseterror. If you don't reset the error, it will propagate
   backwards to any calling aliases until an :error is found and
   will halt the script.

87.Improved text scrolling in windows to avoid jumps after lines
   rewrap.
88.Fixed while loop /continue bug in nested while loops.
89.Query/Chat windows now remember their individual font settings,
   also added "use default" option to font dialog.
90.Fixed bug in random server port selection while connecting.
91.Added /loadbuf -nm switches, where -n logs the loaded text to
   the log file (if logging is enabled for that window). The -m
   switch indicates that the loaded text is already time-stamped.
92.The find dialog in the script editor now automatically uses the
   word at the cursor.
93.Added right-click popup menu for URL List toolbar button.

13/10/2003 - mIRC v6.12

Changes:
1.Fixed dcc related gpf bug.
2.Fixed /dline gpf bug.
3.Fixed /rename not being able to rename dirs.
4.Fixed log files network/folder name bug.
5.Fixed about dialog not closing issue.
6.Fixed /hdec bug.
7.Fixed /color not remembering palette changes.
8.Fixed /mkdir failing if dir already exists.
9.Fixed custom dialogs border display bug.
10.Fixed /fwrite display bug.
11.Fixed /debug recursive gpf bug.

10/10/2003 - mIRC v6.11

Changes:
1.Fixed channel folders join bug, wasn't setting focus on a channel
  window properly.
2.Fixed raw on/off not setting/unsetting red dot in remote toolbar
  button.
3.Fixed /fwrite text display bug.
4.Fixed $duration(N,3) bug with large values.
5.Fixed $base() bug when converting decimal places from one base to
  another by limiting the maximum precision allowed.
6.Fixed /hdec bug.
7.Fixed /mkdir bug.
8.Fixed $os, now returns 2003 instead of .NET.
9.Added language selection option to agents speech dialog. Must have
  the required agent language compenent installed.
10.Fixed /qmsg /qme display bug if not on a channel.
11.Undid change relating to firewall exclude list, in some cases mIRC
   has to depend on the socks5 server to resolve the address.
12.Fixed switchbar option via View menu not showing/hiding minimized
   window icons.
13.Fixed servers popup menu gpf bug.
14.Undid $submenu() change.
15.Fixed $comcall() $dllcall() gpfing with insufficient parameters.
16.Fixed favorites recent menu bug displaying channel keys.
17.Fixed Control+KN color bug when N was larger than 15.
18.Fixed favorites folder display of folder icons.
19.Favorites folder now allows multiple selection.
20.Fixed switchbar display bug when displaying the dcc send/get
   progress bar.
21.Fixed multi-byte mark/copy display bug.
22.Fixed gpf when attempting to load a corrupted png file.
23.Fixed bug with binary variables being unset too early in some
   situations.
24.Fixed identifier warning feature triggering on remote identifiers
   outside of remote events.
25.Fixed /color changes not being saved correctly.
26.Changed control/ignore dialog, now displays unignore seconds
   instead of minutes.
27.Fixed status window titlebar not showing "logging on" message
   when first connecting to a server.
28.Fixed /server not using the specified port.
29.mIRC no longer performs a soft disconnect.
30.Fixed right-click channel/query popup menus sometimes using
   incorrect nickname.
31.Fixed keys not working in popup menu items that don't use the
   & prefix.
32.Empty lines in popup menu scripts are no longer removed.
33.Fixed custom dialog tab control display bug.
34.Fixed Right-Alt key bug. Still works correctly as AltGr on
   keyboard layouts that use AltGr.
35.Added $sorttok(text,a) switch which sorts both text and numbers
   in a list. $sorttok(text,n) now behaves as it did in previous
   versions.
36.Changed /away handling, and fixed $awaytime.
37.Changed various API file-handling calls to c-runtime counterparts
   due to API calls resulting in some strange behaviours (most likely
   due to buffering) when used intensively.
38.Fixed duplicate separators bug in popup menus.
39.Fixed $highlight().color returning incorrect color index. If no
   color is selected, returns index for Normal text color.
40.Changed /fopen behaviour, now fails if file doesn't exist. The
   -n switch creates a new file, fails if it exists. And -o creates
   a new file, overwrites if it exists.
41.$fopen() now returns $null if you reference a name that does
   not exist.
42.Fixed $md5() bug with plain text containing % characters.
43.Nick color list now uses the ignore/protect/etc. lists even if
   ignore/protect/etc. in the control dialog are not enabled.
44.Address book whois section no longer strips control codes.
45.Control+M in the Script Editor now displays the More dialog. The
   Editbox in the More dialog now performs auto-completion.
46.Fixed "move server to top on connect" option not always moving
   the last connect server to top.
47.Improved dual monitor handling for @windows and custom dialogs.
   The script editor is still displayed in its last saved position.
48.Fixed $mask() gpf bug with long parameters.
49.Fixed /timerN without parameters listing all timers.
50.Added /echo -c color name switch, eg. /echo -c action text. The
   line color uses the selected theme in the colors dialog.
51.Fixed $* gpf bug.
52.Added auto-hide nick list option in channel nick list dialog.
53.During a dcc resume, the last 8192 bytes are chopped off only once
   the transfer actually begins.
54.Fixed /hload and /hsave with binary files when some items in table
   are empty.
55.Fixed windows not being auto-tiled when switchbar is moved.
56.$online now returns value based on settings in timer dialog.
57.Fixed dde gpf bug.
58.Fixed /filter numeric sorting bug.
59.Added /showmirc -m switch, minimizes according to tray options.
60.Fixed $fline() bug with wrapped lines.
61.Fixed numeric 472 not being displayed or processed by scripts.
62.Added support for server password in irc://password@server links.
63.Fixed menu handling bug that affected the favorites popup menu as
   well as various other menus under 95/NT.
64.Fixed /fseek -wr bug when the last line in a file did not end
   in a CRLF.

29/08/2003 - mIRC v6.1

Changes:
1.Fixed editboxes in options/custom dialogs using double-border when
  themes are enabled.
2.Fixed default browser issue.
3.Fixed $serverip bug.
4.The $awaytime value is now available in scripts that handle numeric
  305.
5.Fixed $isid when used as first parameter in $iif().
6.Fixed $nick().idle time being incorrectly reset in certain
  situations, eg. /mode changes on a nickname.
7.Fixed listbox size in firewall dialog.
8.Fixed $sorttok() not handling negative numbers.
9.Fixed custom window visual style display bug.
10.Fixed $input() bug when multiple $input() dialogs were opened at
   the same time.
11.Fixed /set /inc /dec -cz bug which caused -cz to stop in some
   situations.
12.Fixed $script() and $alias() bug when handling LFNs.
13.Fixed /amsg and /ame trying to send to non-joined channels.
14.Double-clicking on web/ftp hotlink now displays a warning dialog
   before the site is opened.
15.Fixed /color bug.
16.Fixed Control + mark/copy not working in custom windows.
17.Fixed /background bug, wasn't applying settings in some
   situations.
18.$os now returns NET for .NET systems.
19.Fixed Editor dialog bug, was not reading text in the editbox
   correctly in some situations.
20.All Socks5 firewall error messages are now displayed correctly.
21.Added /play [-a] [alias] [channel/nick/stop] <filename> [delay]
   makes /play use specified alias instead of /msg or /notice.
22.Files opened for logging, sends/gets, etc. are no longer limited
   to a maximum total of 50 or so open files.
23./dcc commands, such as /dcc send, ignore, etc. are now also
   handled in the form /dccsend, /dccignore, etc.
24.Added 'r' switch regex match method to $read() and /write.
25.Added /clipboard -n switch, appends $crlf to text.
26.Added /dcc nick -sgcf <oldnick> <newnick>, allows you to change
   the nickname associated with a dcc send/get/chat/fserve.
27.Added $file().shortfn/longfn properties.
28.Nicknames in channel part/quit messages now show mode prefix.
29.Added multsel value for custom dialog listbox controls.
30.Uninstaller will now work even if you have other copies of mIRC
   running.
31.Now using Visual C++ .NET 7.0 to compile mIRC.
32.Fixed memory bug relating to registry handling.
33.The /did -cf switches now scroll the cursor into view when used
   on an editbox.
34./window now handles negative font sizes correctly.
35./window -o now displays a desktop window in a non-active state.
36.Fixed /drawtext default colors and font/size bugs.
37.Fixed tab completion wildcard handling bug for identifiers and
   variables.
38.Added support for .jpeg extension.
39.Fixed /play -e display bug.
40.$duration() can now handle h:m:s format and if N = 3 it outputs
   in h:m:s format.
41.Fixed /hop bug when part message specified.
42.Extended $crc(text|&binvar|filename,[N]) where N = 0 for plain
   text, 1 for &binvar, 2 for filename (default).
43.Extended $disk(path|N) where N = 0 for total available drives,
   and N > 0 to access each drive. $disk().path returns drive path.
44.Pressing enter key in a dcc get dialog while focus is in editbox
   now accepts the dcc.
45.Added identifier warning option to editor dialog options menu,
   halts script if identifier doesn't exist.
46.Fixed /aop bug.
47.Fixed /whois related memory bug.
48.The "no such nick" message is now shown only in the query window
   if one is open.
49.Added /qmsg and /qme, send message/action to all open query
   windows.
50.If "hide desktop windows when minimized" is enabled, can now hold
   down shift key when minimizing to prevent hiding.
51.Channels list files are now saved to their own channels folder.
52.Fixed $bvar().long/word bug when used with a binary variable
   containing insufficient bytes.
53.Changed DCC section in Options dialog, moved Ignore to own
   section, and Folders section now uses a listview control.
54.Changed default visual styles.
55.Notify list dialog now uses listview, and added notify offline
   sound.
56.Added $ceil(N) and $floor(N), round to next highest or next
   lowest integer.
57.Fixed $asin(), $acos(), and $atan() bugs.
58.Fixed /playctrl gpf bug.
59.Fixed /ignore -wuN combination causing unignore to fail.
60.Fixed "use default" not working in background menu item for
   channel windows.
61.Added $msfile(dir,title,oktext) identifier, same as $sfile() but
   allows selection of multiple files. Returns N, number of selected
   files. $msfile(N) returns each file. If a user selects too many
   files, $msfile() returns -1.
62.Updated libraries to PNG 1.2.5, zlib 1.1.4, and PCRE v4.3.
63.Fixed $base() bug.
64.Fixed $group() bug.
65.Fixed editor dialog not re-aligning and spacing out text when a
   file is changed and saved.
66.Fixed $chan().limit and other related bugs.
67.Fixed list channels dialog gpf bug.
68.Added custom file-handling commands and identifiers, which allow
   you to open multiple files for reading and writing.

   /fopen [-n] <name> <filename>
       If file open fails, script continues to run. See $ferr
       and $feof below.

   /fclose <name | wildcard>
       Closes specified files.

   /flist [name | wildcard]
       Lists open files

   /fseek <name> <position>
       -l <name> <line number>
       -n <name> <next line>
       -w <name> <wildcard>
       -r <name> <regex>

       Sets read/write pointer to specified position in file.

   /fwrite [-bn] <name> <text | &binvar>
       -b indicates that a &binvar is being specified
       -n appends a cr/lf to the line

   $fopen(name | N) .fname .pos .eof .err
       .eof and .err must be checked after each file access
       command or identifier, since file access errors will
       not halt a script.

   $fread(name | N)
       Returns next cr/lf delimited line.

   $fread(name | N, M, &binvar)
       Returns number of bytes read into binary variable, where
       M is the number of bytes to read.

   $fgetc(name | N)
       Returns character value

   $feof and $ferr
       May be used to refer to the result of the last file
       access attempt in any script, where $feof = end of file
       was reached, and $ferr = error accessing file.

69.Added file type ignore warning, which pops up when a file type is
   ignored, and explains why, with a direct link to the options
   dialog, dcc ignore section.
70.Extended /drawpic, can now draw icons from ico/exe/dll files.
71.Fixed $findfile() not halting on control+break key in some cases.
72.Added $rawmsg, returns raw server line for server events.
73.Fixed background picture fill/stretch/etc. display bug in windows.
74.Extended $send()/$get() .status propery to also return "sent",
   "received", and "failed". The .done property is still supported.
75.All alias and remote files in the Editor can now be unloaded, and
   a default empty file will be created.
76.Changed buttons in all dialogs to standard size. Many dialogs were
   re-designed to accomodate this.
77.Browse folder button in dcc get dialog now shows a folder icon.
78.Play button in sounds dialog now shows a play icon.
79.Changed the way the add/delete buttons work in the Address book
   dialog, and made changes to the info section.
80.Simplified connect dialog, and added a separate servers dialog.
81.Added a new section to servers.ini, with the following format:

   [networks]
   n0=Quakenet
   n1=EFnet
   n2=Undernet
   n3=DALnet

   A newly installed mIRC, which is missing the "host" entry in the
   [mirc] section in mirc.ini, will select an initial random server
   from this list.

82.Added $file().attr, returns file attributes.
83.Fixed $regsub() gpf bug with long strings.
84.Can now use /* and */ to comment out multiple lines in an alias,
   popup, or script. Each must be used alone on a single line.
85.Fixed script custom @menu gpf bug.
86.Fixed tabbed dialogs display bug.
87.Fixed line marker being saved to log/buffer as empty line.
88.The /dns command now indicates if a request is being queued.
89.Fixed /echo -iN display bug causing indented part of a wrapped
   line to display control codes.
90.In the DCC Resume and Accept ctcp messages, mIRC now uses the
   original transfer filename instead of "file.ext".
91.A single toolbar button is now used for the editor dialog. The
   red light is now on when any of ctcp/event/raw are enabled, and
   off when they are all disabled. A right-click on the toolbar
   button now displays a most recently used files list.
92.Fixed "on top" setting for main mIRC window not being set on
   startup.
93.Merge logfiles feature now closes all open logs before attempting
   a merge and then reopens the logs after the merge is finished.
94.Fixed memory bug in logfiles merge dialog.
95.Added $input() options: 'r' creates a retrycancel dialog, 'd'
   plays the system sound associated with each system icon, 'g' right
   aligns buttons.
96.Channels list now displays channel names which begin with a non-
   recognized prefix.
97.On a throttled connection attempt, mIRC will now wait 60 seconds.
98.Fixed mIRC not opening a new webbrowser for "latest news", "how to
   register" etc. links.
99.Fixed bug in "On Send" setting in catcher dialog.
100.Channel central topic editbox is now limited to TOPICLEN length
    specific in server numeric 005.
101.Fixed timed unban in /ban command not working with half-ops.
102.Search option in View Logs dialog now actually searches through
    files for matching text, as well as matching on the filename.
103.Added /ban -k switch, performs a ban/kick. You can specify a kick
    message as the last parameter.
104.Incoming part messages are no longer truncated to 65 characters.
105.Added Alt+D shortcut to open Aliases section in script editor,
    due to conflicting Alt+A in Favorites menu. The Favorites menu
    can however be turned off, in which case Alt+A will revert to
    opening Aliases.
106.Added "navigation clicks" to sounds dialog, makes a sound when
    you click on a url or hotlink such as a channel/user name.
107.Changed the way colors are referenced for events text in windows
    so that colors are now an index to the color type eg. "Normal
    text", as opposed to the 16 color palette.
108.The log view dialog now allows you to merge/delete files that are
    in use. It closes log files if necessary before using them, and
    then re-opens them afterwards.
109.Empty lines are now stripped out of popup menu definitions in
    editor dialog.
110.Many interface changes and improvements.
111.Added color scheme option to colors dialog to allow you to switch
    between different color schemes easily.
112.Fixed /server -n -i bug not setting nicknames in new server
    window.
113.Fixed irc:// links not using default port value.
114.Fixed main menu flickering when switching windows.
115.Fixed /amsg and /ame bug when a long message is specified.
116.Fixed $submenu() bug, was over-evaluating parameters.
117.Fixed /rename bug.
118.Notify list now displays network name and server address.
119.Fixed $bfind() bug.
120.Fixed $base() floating point handling bug.
121.When repeatedly calling /notify to add multiple nicknames to the
    notify list, mIRC now pauses for one second before updating the
    server to prevent flooding.
122.The $() identifier used in the matchtext section of a remote
    event definition can now use $1- to reference the incoming line.
123.The matchtext section of a remote event definition can now
    contain a regular expression. You must specify the $ event prefix
    to use this feature.

    on $*:TEXT:m/regular expression/switches:#:/echo message: $1-

    The 'm' and switches are optional. The // are required. If
    switches are used they must be standard PCRE switches, otherwise
    the match will fail. You can use switch 'S' to strip control
    codes from $1-.

124.On systems that support it, mIRC uses the new format for the
    browse for folder dialog, eg. $sdir() etc.
125.Added toolbar disconnect confirm option: requires two clicks
    to disconnect from a server, to prevent accidental disconnects.
126.Fixed $mp3() not returning correct .length for large mp3s.
127.The on CONNECTFAIL event now sets $1- to the error message.
128.Fixed $isdde() bug.
129.Added /color -s "scheme name" to allow changing of color schemes,
    and /color -l to reload color settings from mirc.ini.
130.Individual incoming lines (numeric 322 during a channel listing)
    can now be /halted in a script.
131.Fixed popup menu resources bug. Submenus which were merged due to
    duplicate names were not being freed afterwards.
132.Control+Enter with a /! prefixed command now triggers on INPUT.
133.Changing the flash settings in IRC options now applies them to
    all open windows (whose flash settings weren't manually enabled).
134.Fixed finger server bug.
135.Added $line().state property, returns selection state for a line
    in a @window listbox.
136.Control+Break no longer halts a script if it is pressed while
    mIRC is not the active application.
137.Fixed long script filenames not being displayed correctly in
    Editor dialog.
138.Added $didreg() identifier, same as $didwm() but uses regex.
139.Extended $fline(), where the T parameter can be 1 to use a
    listbox, 2 to use regex, or 3 for both.
140.Closing a debug @window now turns off debugging for that server.
141.Added "paste confirm" option to confirm dialog, displays warning
    you when you try to paste more than N lines of text to a window.
142.Added Key combination Alt+X to toggle maximized state of a
    window.
143.Binary variables no longer have an upper limit on the number of
    bytes that can be stored.
144.Added $compress(file|&bvar, blN) and $decompress(file|&bvar, blN)
    that compress/decompress files/binary variables. The result is
    raw compressed data. Where -b indicates a binary variable in the
    first parameter, and -lN sets a compression level of 1 to 6 (the
    default is 6).
145.Added /write -n switch, prevents /write from appending the line
    with a $crlf.
146.Using /hdec on a non-existent hash table item now sets it to a
    default value of -1.
147.Added /debug -i <...> [identifier] which calls the specified
    identifier before a debug line is logged. The return value of
    the identifier is used as the debug line.
148.The "enable" sounds option in the sounds dialog now affects most
    sounds, including highlight, notify, window/icon flashing, etc.
    Sound requests and Agents still need to be enabled/disabled
    individually. This does not affect the use of sound-related
    commands in scripts.
149.Pressing Control-C while marking text in a window now copies the
    text and cancels the mark process.
150.Added /server -pfoc switches, which prevent: perform, popup
    favorites folder, autojoin channels, and on connect event, on
    connecting to a server.
151.Time and date identifiers eg. $ctime() now return $null if an
    invalid time/date is specified.
152.Status window switchbar button now displays highlight state of
    associated windows hidden with Alt+F1.
153.Disconnecting via the file menu/toolbar/disconnect command now
    results in a soft disconnect, allowing any pending server info
    to be displayed. Incoming data will not trigger scripts, etc.
    during this time.
154.Added "show nicks on join" option to IRC options dialog.
155.Added "Alt+Z closes active window" option to keys dialog.
156.The $ticks identifier should now take account of the 49.7 day
    windows tick counter wrapping around to zero.
157.When connecting to a server, named addresses are now resolved
    before checking for a match in the firewall exclude list.
158.Fixed "session time" not being written to log files at midnight.
159.Fixed $modefirst and $modelast not working in on op/deop/etc.
    events.
160.Status window titlebar now displays connect info when you are not
    connected to a server.
161.$calc($null) now returns zero instead of $null.
162.Fixed $dns(0).ip not returning ip address for a failed ip address
    lookup.
163.Fixed $rand() number distribution bug.
164.Fixed mark/copy display bug.
165.Fixed /did not showing/hiding tabs and their contents properly.
166.Added $comcall(name, alias,...) and $dllcall(filename, alias,...)
    identifiers, same format as $com() and $dll(), except these
    return immediately and allow the script to continue running. When
    the COM/DLL returns, the specified alias is called.

-

The full versions.txt has become too large to include in the
distribution, so only the version information for the last
version is being included from now on. You can still download
the full versions.txt file from the mIRC website.

-

28/02/95 - mIRC v2.1a

First public release.

