mIRC Changelog

 mIRC Changelog


28/02/2018 - mIRC v7.52

Changes:
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
  connections.
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
  sts directives.
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
   fonts.
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
   keys correctly.
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
   parameters.
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
   be hidden.
39.Fixed $hotlink(match) bug that did not store nicknames correctly in
   some contexts.
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
   colors.
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
   parameters.
45.Changed /debug colors to support the color 99 to use the default
   color.
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
   files.
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
   displayed.
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
   commands.
70.Changed "Split long channel/query messages" option to handle @msgtag
   prefixes.

18/09/2017 - mIRC v7.51

Changes:
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
  contexts.
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
  login method.
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
   wrong position.
17.Updated help file to include a number of missing identifiers and
   commands.
18.Added /set -i switch that only initializes a variable if it does not
   already exist.
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

Changes:
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
   existing file.
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

Changes:
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
  resolution.
7.Added -nowine command line option to disable Wine support for testing
  purposes.
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
   dialog.
13.Added support for middle-click mouse button to close tab in
   switchbar/treebar.
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
   RAW events.
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
   the IAL.
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
   opening/writing/written states.

   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
   isquiet.

   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
   play sounds.
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.