28/02/2018 - mIRC v7.52
1.Changed website/forums to use HTTPS/SSL connections.
2.Changed HTTP requests, such as the update check, to use HTTPS/SSL.
Older versions of mIRC do not support this, so continue to use non-SSL
3.Added support for IRCv3 sts secure connection feature that directs
clients to switch from a non-SSL to an SSL port when connecting to a
server. Sts port and duration settings are saved in servers.ini file.
4.Added /server -u switch that makes the server connection ignore IRCv3
5.Fixed SSL connect behaviour that prevented a retry connect attempt
for non-critical SSL errors.
6.Extended $file() to include .path, .name, and .ext properties.
7.Updated code signing certificate.
8.Advance notification: the next version of mIRC will change the default
SSL dialog setting from "Display invalid certificates for approval" to
"Skip connections with invalid certificates". This means that, by
default, mIRC will not connect to SSL servers that use invalid,
self-signed certificates, such as on EFnet, DALnet, and LinkNet.
9.Fixed $chan().ibl/iel/iil/iql $inmode status not being reset when
server returns numeric 482.
10.Added support for IRCv3 batch feature, however, as allowed by the
spec, mIRC does not delay processing of batched lines.
11.Fixed online timer bug that caused mIRC to freeze once a minute the
more connected status windows were open.
12.Extended Window menu status window items to include user mode.
13.Fixed /editbox -bNeN selection not being set if the text length
resulted in auto-resizing of the multiline editbox.
14.Extended ^K color support for indexes 16 to 98.
15.Fixed $cb(N,u) not returning UTF-8 encoded text.
16.Updated libraries to OpenSSL 1.0.2n.
17.Fixed $window().tbtext not returning text for hidden windows.
18.Fixed font dialog not displaying sample text correctly for certain
19.Changed $sfile()/$msfile() to return $null for special folders such
as the fonts folder and to set $sfstate that returns "cancel" for
cancelled dialogs and "error" for errors.
20.Added "Hide away reminders" option to IRC/Options dialog that hides
repeat away messages in active query windows for ten minutes.
21.Fixed /timer -h bug that prevented a subsequent /timer -h request
from using the multimedia timer.
22.Changed script editor file monitor to ignore daylight savings offset
and to check file size changes.
23.Fixed window focus not being set correctly in some contexts when
mIRC is made the active application.
24.Changed CAP cap-notify support for NEW/DEL so that mIRC no longer
disconnects/reconnects for most CAP features unless necessary.
25.Fixed $encode() bug that caused it to report "line too long" with
binary variables and certain combinations of switches.
26.Updated to TagLib library latest fixes.
27.Fixed $encode()/$decode() with e/c switches not handling short/long
28.Extended nickname, highlight, display, marker, and styles dialogs to
support color indexes 16 to 98.
29.Changed JOIN events to no longer restore/activate channel windows
that already exist when rejoining after a kick/hop/reconnect.
30.Fixed user/level commands, such as /auser, causing gpf with long
31.Extended highlight dialog to show line color.
32.Changed mouse wheel scrolling to scroll by page if this option is
enabled for your mouse in Windows.
33.Added /savebuf -p switch that strips control codes from saved lines.
34.Extended $width() to support $true/$false parameters.
35.Extended /hload and /hadd to support -mN which creates the table,
with N slots, if it does not already exist.
36.Extended $cb() to support output to a %var|&binvar as third parameter
and to return length. If N == -1, stores entire clipboard.
37.Added /bwrite -c switch that chops file after appended bytes.
38.Extended /window -M -tN to allow N = 0 which enables leading text to
39.Fixed $hotlink(match) bug that did not store nicknames correctly in
40.Added $timer(N).name property that treats N parameter as timer name
and returns position.
41.Added /debug -rNoN switch that sets the received and outgoing line
42.Changed server dialog to update the connection details of any open
status windows if you edit a matching server item.
43.Added $fromeditbox identifier that returns $true/$false if command
or identifier called directly from an editbox.
44.Changed $encode()/$decode() with e/c switches to allow $null
45.Changed /debug colors to support the color 99 to use the default
46.Added $parms identifier that returns an untokenized $1- for events
and other command/identifier calls.
47.Extended /splay to enable pause, seek, and resume with wave and midi
48.Added /fupdate [N] command that sets the display update rate when
outputting text to windows.
49.Fixed MDI window maximize bug that caused a second copy of mIRC to
not have a maximized window on startup.
50.Fixed $msfile() gpf when too many files are selected.
51.Fixed regular expression bug relating to \K escape sequence.
52.Added /ignore support for highlight, speech, and tips.
53.Fixed beep on message option not beeping on an incoming message that
matched a highlight item. It now beeps as usual if the highlight
item does not specify a sound.
54.Changed Switchbar/Treebar "blink icons" feature so that it is now
controlled by the global flash setting and individual window flash
setting. It can still be fully disabled in the Display dialog.
55.Fixed /window -t T1 T2 ... Tn bug that caused it to not update
the display immediately.
56.Fixed UDP server sockets being closed due to WSAECONNRESET error.
57.Fixed $com() not freeing returned dispatch pointers if they were not
being saved for later use.
58.Changed CTCP handling to correctly display empty ACTIONs/SOUNDs and
empty CTCPs. Also, all CTCPs in DCC Chats are now displayed as CTCPs
for consistency, not just ACTIONs/SOUNDs.
59.Fixed List Channels dialog file not being set correctly after
connecting to a different network.
60.Fixed scripts dialog using an invalid folder for new files if a user
has deleted the folder outside of mIRC.
61.Fixed regex support for UTF-8 parsing and handling (*UTF8) prefix.
62.Added /flash -c switch to clear flash status of all windows.
63.Optimized switchbar in certain contexts when many windows are being
64.Added set/var -p switch to treat value as literal text, including
quotes and spaces.
65.Added /savebuf -n switch to treat wrapped lines as single line.
66.Changed /join -i so that it will work in an event.
67.Added /join -md switches to set mdi/desktop for new windows.
68.Added /query -mdx switches to set mdi/desktop for new windows and
to maximize a window.
69.Changed /raw to support @msgtag prefixes internally when parsing
70.Changed "Split long channel/query messages" option to handle @msgtag
18/09/2017 - mIRC v7.51
1.Fixed server passwords not being migrated from older versions of mIRC.
2.Fixed hotlinks bug that caused hotlink cursor to be offset in some
3.Fixed favorites history to store server address instead of network
name if server does not have an entry in the servers list.
4.Fixed /ignore and Options/Ignore so that they use the same method
when creating the ignore entry.
5.Changed server edit dialog to use "Login method" description for
6.Updated libraries to OpenSSL 1.0.2l and PCRE 8.41.
7.Extended channels list "hide non-text channels" option to allow
display of more double-prefix channels.
8.Fixed /server not parsing passwords set in servers list and allowing
them to be overriden by those in the /server command.
9.Fixed network name in status window titlebar not being synchronized
with switchbar/treebar in some contexts.
10.Fixed log files bug that caused logs from different networks to be
mixed in some contexts.
11.Fixed Clear History option not correctly clearing network names in
switchbar/treebar for non-connected status windows.
12.Extended /bset to support -1 to append characters.
13.Changed server dialog to display arrow icon under select button if
user changes connection details for a server entry.
14.Extended DCC Trust to allow network specific address by appending
":Network" to the address entry.
15.Extended LOADINFO structure to include DWORD mBeta value that stores
the beta version number.
16.Fixed mIRC window saved position bug that caused it to reset to the
17.Updated help file to include a number of missing identifiers and
18.Added /set -i switch that only initializes a variable if it does not
19.Fixed tray icon left-click not hiding/showing mIRC window if an
always-on-top window was onscreen.
20.Fixed script line parser bug that caused a gpf with long lines and
combinations of $str/$N-/$len.
21.Fixed $N- bug that caused the result to be shorter than it should be
when there were more than 999 tokens.
22.Optimized parsing speed of $+() and $str().
23.Fixed Window menu close menu item showing Alt+Z shortcut when that
has been disabled in the Options dialog.
24.Updated CA root certificates cacert.pem file.
25.Updated library to zlib 1.2.11.
26.Extended $compress()/$decompress() to support raw, zlib, and gzip
formats, using switch mN, where N = 1 is raw, N = 2 is zlib (the
default), and N = 3 is gzip.
25/05/2017 - mIRC v7.49
1.Changed CAP invite-notify support so that invite notifications are now
displayed by default.
2.Added CAP 3.2 support, so mIRC now sends LS CAP 302 when logging on.
3.Added CAP cap-notify support which allows a server to add or remove
capabilities during a connection. mIRC responds to NEW or DEL events
by quitting and reconecting, as allowed by the specification.
4.Added server version check for UnrealIRCd in order to disable support
for mode +q quiet lists as UnrealIRCd uses mode +q for owner lists.
5.Changed Add/Edit server dialog to allow use of seperate server and
logon method passwords.
6.Changed /server -w and -l switches to allow specification of separate
[-w password] for server and [-l method password] for logon method.
7.Changed $server().pass to return server password and .methodpass to
return logon method password.
8.Fixed window treebar/switchbar focus bug.
9.Fixed $regmlex() returning 0 for empty capture group when it should
have been returning $null.
10.Fixed CAP SASL external bug.
11.Added CTCP DCC resume error message when file is smaller than the
12.Added support for evaluation of highlight tip messages.
13.Added /sockopen -n switch to disable Nagle algorithm on socket.
14.Fixed IAL gpf bug when IAL was turned off and channel was joined.
15/04/2017 - mIRC v7.48
1.Extended $com() to handle one dimensional single-byte array results
which are now copied into the specified &binvar.
2.Fixed $com() memory bug that resulted in memory not being freed after
a dispatch pointer request.
3.Fixed on RAWMODE not triggering for invalid mode changes such as
a channel mode change for a user that is not on the channel.
4.Fixed /dns bug that returned IP address instead of error if it was
unable to reverse lookup IP address.
5.Added sha256 fingerprint to server SSL certificate dialog.
6.Extended /dns to parse nick!user@host and extract the host for
7.Added -nowine command line option to disable Wine support for testing
8.Fixed custom dialog incorrect client size bug due to menubar height.
9.Fixed $insong/$inmidi/$inwave bugs with appended text.
10.Fixed if/while statement parsing bug.
11.Updated to OpenSSL 1.0.2k library.
12.Added "Control key enables mark/copy" option to Options/Other/Keys
13.Added support for middle-click mouse button to close tab in
14.Added SASL/NickServ support as a per server setting in the servers
dialog. SASL is supported using CAP. NickServ is supported by
logging in when numeric 001 is received.
15.Added /server -l method parameter where method can be: pass, sasl,
external, msg, nickserv.
16.Added $server().method property to return server login method.
17.Added CAP support for extended-join and account-notify. These are
enabled automatically on connect if available and provide the account
names of users in JOIN/ACCOUNT events. ACCOUNT events are not shown
but are used to update $ial().account. They trigger as RAW events.
18.Added CAP support for away-notify. This is automatically enabled if
available and makes the server send AWAY events to the client
indicating the away state of users on the same channels as you. AWAY
events are not shown but are used to set $ial().away. They trigger as
19.Added CAP support for account-tag. This is automatically enabled if
available and makes the server include the user's @acount=name in the
message-tag for messages sent by that user.
20.Added CAP support for invite-notify. This is automatically enabled if
available and makes the server send these events to the client for
users invited to their channel. These events are not shown but
trigger as RAW events.
21.Added CAP support for chghost. This is automatically enabled if
available and makes the server send user@host updates for nicknames
on the same channels to update the IAL. These events are not shown
but trigger as RAW events.
22.Added /ialfill #channel command that fills the IAL by sending a /WHO
#channel to the server and processing the WHO reply. If the server
supports WHOX, an extended /WHO #channel %acdfhlnrstu,T is sent
to receive the account name, where T is a number that uniquely
identifies the WHO request and is set to 995.
23.Extended mark/copy to allow copying a single character by initially
marking more than one character.
24.Fixed file change monitor bug that was causing timers to be blocked
while the file change dialog was displayed.
25.Added $ial().gecos to return gecos/name field from the /who reply.
26.Added $ial().id that is a unique id number for each new entry in
27.Extended /ialmark to allow setting arbitrary marks using the format:
/ialmark -nrw [name] [text]
-n = the [name] of the mark. If -n is not used, the default name
'default' is used.
-r = remove the mark
-w = used with -rn to treat name as wildcard
Marks can be accessed using $ialmark(nick,N/name) and properties
'name' and 'mark'.
28.Optimized $ial() when looking up nick!user@host where the nick
contains no wildcards. An instant hash lookup on the nick is now
performed and a full address match performed on the result, instead
of a slower wildcard/address search.
29.Added $dqwindow identifier that returns the state of the single
message window. When used in on TEXT/ACTION events, it also returns
echo State: $iif($dqwindow & 1,enabled,not enabled)
echo State: $iif($dqwindow & 2,open,not open)
echo State: $iif($dqwindow & 4,opening,not opening)
echo State: $iif($dqwindow & 8,writing,not writing)
echo State: $iif($dqwindow & 16,written,not written)
30.Fixed server password not being encoded in mirc.ini/servers.ini
in some situations.
31.Changed server group to be truncated at ,'":; and space character
for future extension of servers.ini format.
32.Added -a switch to all binary variable commands that makes them not
apply UTF-8 encoding to characters in the range 0-255, as long as
the line contains no characters > 255.
33.Added channel central support for +q quiet list channel mode
supported by some networks. Also added $chan().iql, $iql(), and
Note: the quiet list numerics and their format vary across IRC
networks: some use 728 and 729, others use 344 and 345, some use a
'q' parameter, other do not. Also, some networks use these numerics
for other events, eg. 345 for invites and 729 for whois. mIRC has to
perform parameter checks on these numerics to decide what they mean
on a server.
34.Extended numeric 334 support for networks that use it as part of a
whois reply that provides the user's location. This numeric is also
used as a list/command syntax reply on other networks.
35.Fixed WM_ENDSESSION handling bug that resulted in mIRC being closed
by Windows before it could save all settings.
36.Fixed group changes via enable/disable commands not being saved if
used during the on UNLOAD event.
37.Improved /who tracking method.
38.Extended $regsub() to support output to a &binvar.
39.Extended $regsubex() to support output to a %var|&binvar, and to
return N, as long as the name parameter is specified.
40.Extended /ban to support -beIq switches. These can be stacked but are
issued as separate modes.
41.Extended per network channel key history that remembers keys of
joined channels for the current mIRC session. Now used automatically
in more joins eg. after reconnect, in new server windows, and so on.
History is cleared with "Channels" in the Clear History dialog.
42.Fixed window focus not being set correctly when a custom dialog is
used to open/close custom windows.
43.Changed the way sound-related routines are called by all features
to make it easier to change away from MCI.
44.Changed sound-related routines to use DirectSound instead of MCI to
45.Added "Create new certificate" button to Options/IRC/SSL dialog that
creates a new self-signed client certificate, saves the key/cert
pair to a PEM file, and sets it as your private key.
46.Added $sslcertsha1 and $sslcertsha256 identifiers that return
fingerprint of currently loaded SSL client certificate file for use
with /nickserv cert add.
47.Optimized the channel central +beIq lookup routines.
48.Extended /timer -pr switches to support wildcards.
49.Fixed $sound().vbr bug.
50.Added /drawsize @ that sets the bitmap size for picture windows
up to a maximum of 8192 x 8192 pixels. Note: 1) a bitmap cannot be
sized to less than the largest point that has been drawn on it (which
can be reset with /clear), 2) once a size has been set, changing the
window size will not resize it to less than the set size.
51.Fixed /drawreplace not setting largest point drawn to correctly.