08/02/2020 - mIRC v7.59
1.Changed $disk().unc to use newer API.
2.Fixed channel mode parsing bug.
3.Added /cnick support for auto-color option by allowing * as color
number. Also added $cnick().auto property.
4.Changed SSL default setting to "Skip connections with invalid
certificates". This means that mIRC will, by default, not connect to
SSL servers with invalid SSL certificates.
5.Fixed how nick!user@host addresses are formed in $ulist() and other
features so that IPv6 addresses are handled correctly.
6.Changed toolbar display code to handle icons of different sizes for
default internal icons.
7.Updated CA root certificates cacert.pem file.
8.Fixed treeview display bug when scrolling new item into view.
9.Changed treeview sorting method that affects favorites and servers
10.Fixed favorites dialog join button not initiating a connection if
not currently connected.
11.Fixed $cnick() returning default values for non-existent items.
12.Changed how log filenames are renamed to use group/network names
during a connect/disconnect.
13.Changed quote "" parsing routines to use the same consistent method
for all commands/identifiers.
14.Extended $fline((@name,text,N,T,S) to support S parameter for
search start position and $flinen that returns match position.
15.Fixed custom dialog controls not being updated immediately when /did
is used to change their contents.
16.Added /fseek -p switch that moves the file pointer backwards to the
start of the current line. If the file pointer is already at the
start of a line, it is moved to the start of the previous line.
17.Fixed $fread() not setting file pointer to start of next line if
line is longer than the maximum line length.
18.Fixed /halt not stopping $hfind() search and then allowing script to
19.Changed how Port dialog bind adapter setting is saved in mirc.ini so
that both name and address are saved to [ports] section.
20.Fixed $bindip() bug when used with dual-stack network interface.
21.Added $caller tabcomp value for tab completion.
22.Fixed /if & bit comparison not using unsigned 32-bit integers.
23.Changed identd dialog so that userid entry is not changed when "Use
ID from email address" is checked.
24.Changed /if isnum to also support larger value as the first number.
25.Optimized file reading routines to improve processing speed for
contexts that affect /fseek -l, $read(), $lines(), and /loadbuf.
26.Added /drawrot -p switch that clips the rotated rectangle.
27.Fixed $zip() creating zip files with temporary file attributes.
28.Updated the IRC FAQ that comes with mIRC and is in the Help section
of the mIRC website.
29.Added support for the IRCv3 TAGMSG event. This event is not shown
but triggers as a RAW event.
30.Changed the /help and /ircintro commands so that if the mirc.chm or
ircintro.chm files cannot be found, they are instead opened on the
17/11/2019 - mIRC v7.58
1.Fixed $+ not correctly reporting string too long errors.
2.Changed installer setting to make it DPI aware.
3.Changed $findfile() to preserve multiple spaces inside a wildcard
4.Fixed /reload interacting incorrectly with Script Editor when a new,
unedited file is created.
5.Fixed $parms returning incorrect values in some contexts.
6.Fixed DCC trust user list bug that prevented autoget from working
correctly for trusted users.
7.Optimized SendMessage() processing to use less memory.
8.Fixed SendMessage() gpf bug where recursive calls result in a stack
9.Updated several features to be DPI aware.
10.Fixed incorrect default location for alias, popup, and remote
scripts when no files are present.
11.Fixed /exit -nr not restarting mIRC.
12.Added /run -a switch to request running as administrator.
13.Fixed script editor bug that was wrapping excessively long lines,
resulting in script errors, instead of truncating them.
14.Fixed SendMesage() handling of negative indexes.
15.Fixed richedit control handling bug that may have caused some
editbox-related code to behave incorrectly if the richedit control
failed to load.
16.Fixed a number of issues identfied by CppCheck relating to range
checking, memory initializations, optimizations, portability, and
17.Fixed script #group parsing bug for invalid group definitions.
18.Fixed $decode() gpf buf.
19.Updated more routines to use 32/64-bit compatible types as step in
preparing for a 64bit version of mIRC.
20.Fixed text file writing bug that could have caused the UTF-8 BOM to
be set incorrectly.
21.Fixed $url not working with newer versions of Chrome.
22.Changed /msg to no longer check for channel/nick prefixes due to some
networks using identical prefixes for both.
23.Changed all &binvar supporting features to allow single character &
as a binvar name for consistency.
24.Fixed $findfile() not freeing handles in some contexts. This also
affected other features that retrieve file lists.
25.Fixed /ignore/protect/aop/avoice gpf bugs.
26.Fixed 64bit time calculations in several features.
27.Fixed memory HDC allocation error check in line marker.
28.Fixed $did().csel potential gpf bug when freeing memory.
29.Changed compiler settings to disable string pooling and enable whole
30.Added /logview -nN switch to scroll view to line number.
31.Changed /play to improve handling of window/file names.
32.Updated OpenSSL library to v1.1.1d.
33.Added 421 numeric check for server disabled LIST command.
34.Changed server list and favorites list listboxes to use full line
35.Updated channel mode parsing and display based on CHANMODES token.
36.Fixed /window -r not restoring a hidden non-min/max window.
37.Changed $ctime() to return $null for invalid input and to handle
commas as separators.
38.Added support for IRCv3 message-tags token and msgid feature.
39.Fixed $N parameter bug that caused inconsistent handling of text
appended to the $N parameter, such as text that contained numbers
40.Fixed handling of channel nickname mode 'q' in some contexts.
41.Added $isadmin identifier that returns current elevation status.
42.Updated error handling for a number of APIs to use consistent methods
across all features.
43.Updated CA root certificates cacert.pem file.
44.Added auto-color nickname option to nick color list.
45.Updated servers.ini list. Around forty networks now use valid SSL
certficates. These networks are now listed with only port +6697 to
ensure secure connections.
46.Changed SSL hostname validation method when matching against
certificate CN and SAN. Multi-label wildcards are now allowed.
47.Added $sslcertvalid that returns $true/$false if the SSL certificate
is valid or not for the current SSL connection.
48.Changed /dns to show all resolved IP addresses for a hostname, not
just the first IP address.
49.Optimized $bfind().text search method.
50.Added $bfind().textcs property for case-sensitive search.
51.Optimized SSL support.
25/07/2019 - mIRC v7.57
1.Updated OpenSSL library to v1.1.1c.
2.Changed OpenSSL support so that, by default, mIRC no longer checks for
a newer external version of the OpenSSL library. This should resolve
the R6034 Windows error reported by some users.
3.Changed /url, /run, and other features to use alternative method to
open links to resolve issues with asynchronous window messages.
4.Fixed STS/SSL server/port parsing bug.
5.Fixed handling of 64bit timestamp value for several features.
6.Changed $crc() to use larger read buffer with files to improve speed.
7.Fixed script parser bug that caused binary variables to be unset in
scripts that call external DLLS that SendMessage() mIRC many times.
06/07/2019 - mIRC v7.56
1.Added $urlget() identifier that downloads content from http/https
addresses. Returns id number. Calls alias with id number when transfer
$id = $urlget(url,hgpuadfbrtic,target,alias,headers,body)
$urlget(N/id) used with properties:
url, redirect, method, type, target, alias, id, state, size,
resume, rcvd, time, reply
url = http/https://user:pass@address:port/file?parameters
hgpuad = head, get, post, put, patch, or delete
fb = file or &binvar
r = resume
t = use .part file
i = ignore SSL errors
c = cancel
target = file or &binvar
alias = called on completion
headers = &binvar
body = &binvar
2.Fixed $regml().pos bug with multibyte characters.
3.Changed $dll() to require filename .dll extension. If filename does
not have an extension, .dll is appended.
4.Updated OpenSSL library to v1.1.1b. Required code changes due to to
changes in OpenSSL 1.1.x. Older OpenSSL versions are no longer
supported. Compiled to work on XP. Dynamic loading of OpenSSL DLLs
still supported as libcrypto-1_1.dll and libssl-1_1.dll.
5.Updated TagLib library to latest fixes.
6.Updated LibZip library to v1.5.2.
7.Reverted changes to $gmt(N) and $gmt(format).
8.Changed a number of features to use tick counts instead of system
time for time measurement.
9.Fixed $astime() and other time/date features applying DST incorrectly
in some situations.
10.Changed time/date features to use threadsafe versions of CRT time
11.Changed $encode()/$decode() to allow non-literal keys longer than 56
12.Changed $encode()/$decode() to not allow salts/IVs that contain
13.Fixed "try next server in group" option being incorrectly applied in
14.Changed action message processing so that it is integrated into
the privmsg routines.
15.Changed time/date routines to use Windows APIs, allowing extended
date range 1601 to 9999.
16.Changed $encode()/$decode() to zero-pad salt strings shorter than
17.Changed /msg -switches support to enable backwards compatibility with
BNCs that use - as an invalid nickname prefix, such as -sBNC and
18.Changed DCC Folders dialog so that when a new item is added, it
uses the default get path by default.
19.Fixed script error not showing line number for single-line event
20.Added /server [-key filename] to set private key file to use for
an SSL connection.
21.Changed nickserv logon method to increase delay after last nickserv
notice is received before triggering perform.
22.Changed status window connection state icons. Now show a green
lock icon for a valid SSL connection and an orange icon for an SSL
connection with an invalid certificate.
23.Fixed $com()/$comcall() not scanning the local alias/script file
first for a matching command/identifier.
24.Updated PCRE regex library to v8.43.
25.Fixed $$ prefix not working for remote identifiers.
26.Fixed connect retry count and port number not changing when try next
server in group option is not enabled.
27.Changed flashing tray icon feature so that icon is dimmed instead of
28.Changed $sha1/$sha256/$sha384/$sha512/$hmac() to use larger read
buffer with files to improve speed.
08/02/2019 - mIRC v7.55
1.Fixed /onotice and related commands not working correctly in some
2.Fixed Clear History log files option not deleting empty nested
folders in logs folder.
3.Fixed $sha1()/$hmac() bug that caused &binvar data to be overwritten.
4.Added support for AES encrypted ZIP files using the LibZip library.
Where the switches are: c = create, e = extract, t = test, l = list,
p = password, o = overwrite existing file/dir.
The N parameter is used with the list option, where 0 = return number
of items, otherwise return Nth item, with properties: size.
5.Extended $rand() to allow negative number values.
6.Changed $rand() RNG algorithm to Bob Jenkins's JSF64.
7.Added $rands() identifier that returns a cryptographically secure
random number using Microsoft's RtlGenRandom() API.
8.Changed all features that previously used the standard CRT rand() to
use the new RNG algorithm.
9.Fixed $hfind() not reporting an error when the called alias returns
10.Fixed $asctime() 'z' bug that returned whole numbers for timezones
with 15/30/45 minute offsets.
11.Extended IRCv3 support for CAP NEW so that if a token is normally
requested by mIRC on connect, it will be automatically requested on
receipt of CAP NEW as well.
12.Fixed RCE vulnerability affecting all versions of mIRC (CVE-2019-6453).
13.Added $notify().sound2 property to return offline sound.
14.Updated CA root certificates cacert.pem file.
15.Fixed "Show nicks on join" option not working correctly.