Charter


We’re chartered to prototype, develop and test changes to the IRC client protocol. This defines our rules and goals.

View

Participation


We contain participants from many top IRC networks and projects. Here’s how you can participate with the WG.

View

GitHub


All of our projects and code (including even this website) can be found and contributed to on the IRCv3 GitHub team.

View

Introduction

We’re the IRCv3 Working Group – a collection of IRC software developers and network staff that develop extensions to the IRC client protocol. We’re always interested in new viewpoints, so check out our participation page if you’re interested!

If you’re interested in talking with us, our discussion channel is #ircv3 on Freenode [webchat].


Working Group Updates RSS

Below you can see the latest updates to specifications, new proposals, and generally what’s going on with the IRCv3 Working Group.

Roadmap

Our roadmap [link] always contains info on our direction moving forward, the sort of features we have planned and our priorities.

Labels, Message IDs and History 11 Jan 2017

There’s been a bunch of newly-submitted proposals recently, looking at everything from history retrieval with bouncers to message reactions. Let’s go over the holiday changes.

The labeled-response draft [link] was added. This draft links sent commands to returned numerics/messages much more effectively for clients, allowing more complete implementations of echo-message.

The message-ids draft [link] was added. This draft provides a network-unique identifier on messages, which allows many new and exciting features to be built! This includes the reply, reaction, and chathistory proposals below.

The sts draft is getting an upgrade with the preload key [link], which should allow IRC networks to specify whether they want their STS policy added into preload lists shipped with clients. In addition to what STS already provides, this contributes towards helping make clients more secure.

The new message tags specification is also getting an update [link]. Currently being looked at is exactly how to specify client-only tags, and increasing the current minimum-bound of 512 bytes for tag space.

In terms of proposals, a reaction PR has been submitted, which allows clients to add their ‘reactions’ to specific messages. This feature is already widely-implemented in other messaging protocols, and puts IRC on a more equal footing against them.

As well, a chathistory PR has been submitted, which allows clients to query servers/bouncers for chat history. This feature has been desired in bouncers for a while, and should also make it possible for certain clients to implement infinite-scroll style history retrieval.

A reply PR has also been submitted. It allows clients to note that a message is intended as a reply to another sent message. In addition to allowing features such as the reaction tag above, it also brings up the possibility of a more thread-like view of conversations.

Specification Update 20 Nov 2016

We’ve got a lot done recently! Let’s go through all of the latest changes.

First off, the message intents draft was replaced with message-tags[spec]. The new draft message-tags cap and semantics are more useful than intents, allowing features to be implemented by clients themselves (similar to CTCP) and also codifying some of the existing meta around clients/servers parsing all well-formed tags.

If you’ve missed it, the Strict Transport Security (STS) draft [link] is also on the site, and some testnets have support for it as draft/sts. The aim of STS is to allow clients to automatically upgrade their plaintext connections to TLS and to subsequently prevent downgrade attacks.

On a related note, the SNI draft [link] is also now on the site, and should help servers present the right certificate to connecting clients.

It was clarified that all message tag / capability / batch names must be handled as opaque identifiers [pr]. This was already assumed by most, but is a useful clarification to make for implementors.

Draft capability names now use the draft/ prefix to denote their status, and to improve transition if specs change before being merged in proper [pr].

IRCv3.2 Metadata has been deprecated [pr]. The new version of Metadata will extend the rate-limiting and notification capabilities of this spec, letting it be implemented in a much more efficient way by the larger IRC servers.

And for proposals, an rfc7700 casemapping PR has been submitted, which would allow nicknames and channel names to contain Unicode characters. As well, an extended message length PR has been submitted, which would allow servers to accept and send larger IRC messages.