"As of 2016, a new standardization effort is under way under a working group called IRCv3, which focuses on more advanced client features like instant notifications, better history support and improved security. As of 2019, no major IRC networks have fully adopted the proposed standard."
from the IRCv3 working group:
"We don’t work on the S2S [server-to-server] protocols because they’re an implementation detail. So long as those servers expose the client protocol, it’s IRC."
Skimming it, seems like they add an extra "can you dig it?" handshaking to the IRC session start, and extra metadata to regular IRCv2 messages. There's client-to-client-protocol (CTCP) messaging (isn't that already in IRCv2?) and
- account-notify, account-tag, extended-join
- away-notify
- batch (ie. batch netsplit, batch netjoin, batch chathistory )
- channel-rename
- chathistory (to see messages that happened when you weren't here (uhhhhhhh))
- setname and chghost, for more faking username@hostname
- reply tag on a message
- response tag on a message
- typing status broadcast
- echo aka "recieved receipt"
- invite-notify to know when someone else invited a body to this channel
- every message gets a uuid so it can be referenced in tags
- monitor, which is just ISON with push instead of polling
- multi-prefix so that channel perms can be a set of flags instead of just one (highest) flag
- multiline tag so you can have messages longer than 500bytes without sending multiple messages (except you still do, just that clients are supposed to pretend they're one huge mesage)
- standard replies, so you can form-letter and robocall your users
- userhosts-in-names, so that /NAMES will show more than nicks.