mIRC is a full featured Internet Relay Chat client for Windows that can be used to communicate, share, play or work with others on IRC networks around the world, either in multi-user group conferences or in one-to-one private discussions.
It has a clean, practical interface that is highly configurable and supports features such as buddy lists, file transfers, multi-server connections, SSL encryption, proxy support, UTF-8 display, customizable sounds, spoken messages, tray notifications, message logging, and more.
mIRC also has a powerful scripting language that can be used both to automate mIRC and to create applications that perform a wide range of functions from network communications to playing games.
mIRC has been in development for over a decade and is constantly being improved and updated with new technologies.
Changed website/forums to use HTTPS/SSL connections.
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.
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.
Added /server -u switch that makes the server connection ignore IRCv3 sts directives.
Fixed SSL connect behaviour that prevented a retry connect attempt for non-critical SSL errors.
Extended $file() to include .path, .name, and .ext properties.
Updated code signing certificate.
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.
Fixed $chan().ibl/iel/iil/iql $inmode status not being reset when server returns numeric 482.
Added support for IRCv3 batch feature, however, as allowed by the spec, mIRC does not delay processing of batched lines.
Fixed online timer bug that caused mIRC to freeze once a minute the more connected status windows were open.
Extended Window menu status window items to include user mode.
Fixed /editbox -bNeN selection not being set if the text length resulted in auto-resizing of the multiline editbox.
Extended ^K color support for indexes 16 to 98.
Fixed $cb(N,u) not returning UTF-8 encoded text.
Updated libraries to OpenSSL 1.0.2n.
Fixed $window().tbtext not returning text for hidden windows.
Fixed font dialog not displaying sample text correctly for certain fonts.
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.
Added "Hide away reminders" option to IRC/Options dialog that hides repeat away messages in active query windows for ten minutes.
Fixed /timer -h bug that prevented a subsequent /timer -h request from using the multimedia timer.
Changed script editor file monitor to ignore daylight savings offset and to check file size changes.
Fixed window focus not being set correctly in some contexts when mIRC is made the active application.
Changed CAP cap-notify support for NEW/DEL so that mIRC no longer disconnects/reconnects for most CAP features unless necessary.
Fixed $encode() bug that caused it to report "line too long" with binary variables and certain combinations of switches.
Updated to TagLib library latest fixes.
Fixed $encode()/$decode() with e/c switches not handling short/long keys correctly.
Extended nickname, highlight, display, marker, and styles dialogs to support color indexes 16 to 98.
Changed JOIN events to no longer restore/activate channel windows that already exist when rejoining after a kick/hop/reconnect.
Fixed user/level commands, such as /auser, causing gpf with long parameters.
Extended highlight dialog to show line color.
Changed mouse wheel scrolling to scroll by page if this option is enabled for your mouse in Windows.
Added /savebuf -p switch that strips control codes from saved lines.
Extended $width() to support $true/$false parameters.
Extended /hload and /hadd to support -mN which creates the table, with N slots, if it does not already exist.
Extended $cb() to support output to a %var|&binvar as third parameter and to return length. If N == -1, stores entire clipboard.
Added /bwrite -c switch that chops file after appended bytes.
Extended /window -M -tN to allow N = 0 which enables leading text to be hidden.
Fixed $hotlink(match) bug that did not store nicknames correctly in some contexts.
Added $timer(N).name property that treats N parameter as timer name and returns position.
Added /debug -rNoN switch that sets the received and outgoing line colors.
Changed server dialog to update the connection details of any open status windows if you edit a matching server item.
Added $fromeditbox identifier that returns $true/$false if command or identifier called directly from an editbox.
Changed $encode()/$decode() with e/c switches to allow $null parameters.
Changed /debug colors to support the color 99 to use the default color.
Added $parms identifier that returns an untokenized $1- for events and other command/identifier calls.
Extended /splay to enable pause, seek, and resume with wave and midi files.
Added /fupdate [N] command that sets the display update rate when outputting text to windows.
Fixed MDI window maximize bug that caused a second copy of mIRC to not have a maximized window on startup.
Fixed $msfile() gpf when too many files are selected.
Fixed regular expression bug relating to \K escape sequence.
Added /ignore support for highlight, speech, and tips.
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.
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.
Fixed /window -t <name> T1 T2 ... Tn bug that caused it to not update the display immediately.
Fixed UDP server sockets being closed due to WSAECONNRESET error.
Fixed $com() not freeing returned dispatch pointers if they were not being saved for later use.
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.
Fixed List Channels dialog file not being set correctly after connecting to a different network.
Fixed scripts dialog using an invalid folder for new files if a user has deleted the folder outside of mIRC.
Fixed regex support for UTF-8 parsing and handling (*UTF8) prefix.
Added /flash -c switch to clear flash status of all windows.
Optimized switchbar in certain contexts when many windows are being displayed.
Added set/var -p switch to treat value as literal text, including quotes and spaces.
Added /savebuf -n switch to treat wrapped lines as single line.
Changed /join -i so that it will work in an event.
Added /join -md switches to set mdi/desktop for new windows.
Added /query -mdx switches to set mdi/desktop for new windows and to maximize a window.
Changed /raw to support @msgtag prefixes internally when parsing commands.
Changed "Split long channel/query messages" option to handle @msgtag prefixes.