/ircv3

IRCv3 support.

A reference of the IRCv3 extensions bIRC supports, on top of the base client protocol (RFC 1459 as updated by RFC 2812).

✓ Supported · draft work-in-progress · names link to the IRCv3 spec.

Core & message format

capability-negotiation✓CAP 302 negotiation — paged LS, REQ / ACK / NAK, and live NEW / DEL.
message-tags✓The tag format every client tag below rides on.
oper-tagdraft✓Marks operator messages — a server-set tag (draft/oper + solanum.chat/oper).
batch✓Nested batches — drives history, netsplit, and multiline.
client-batchdraft✓Client-initiated batches — the mechanism bIRC uses to send a multiline message.
message-ids✓A msgid on every message — keys reactions, replies, redaction, and dedup.
server-time✓Server-supplied timestamps, so replayed history keeps its original time.
echo-message✓The server echoes your own sends — bIRC shows them once.
labeled-response✓Correlates a reply to the command that caused it.
standard-replies✓FAIL / WARN / NOTE parsed and surfaced.
extended-isupportdraft✓Fetch the ISUPPORT list on demand.

Accounts, presence & membership

account-notify✓See when others log in to or out of an account.
account-tag✓The sender's account on each message.
away-notify✓Live away status for people in your channels.
chghost✓A user/host change without a quit and rejoin.
extended-join✓JOIN carries the account and real name.
extended-monitor✓Away / account / host changes for watched users too.
invite-notify✓See invites sent in a channel.
monitor✓Watch nicks (the Notify List), with an ISON fallback where absent.
multi-prefix✓All of a member's prefixes (@%+), not just the highest.
userhost-in-names✓nick!user@host in NAMES, not just the nick.
no-implicit-names✓Skip the implicit NAMES burst after JOIN when offered.
setname✓Change your real name live (/setname).
whox✓Extended WHO with field selection.
bot-mode✓Bots are flagged in the member list, WHOIS, and the script API.
account-extban✓Ban by account (Ban Account / /banaccount).

Authentication & connection

sasl-3.1✓PLAIN and EXTERNAL (CertFP).
sasl-3.2✓Reauthentication and mechanism discovery (skips a mechanism the server doesn’t offer and names what it does), plus SCRAM-SHA-256/512/1 and OAUTHBEARER.
sts✓Auto-upgrade to TLS and remember the secure port.
utf8-only✓UTF-8 enforced both ways when the network requires it.
websocket✓Connect to ws:// / wss:// networks.

History & long messages

chathistorydraft✓CHATHISTORY paging plus the chathistory batch.
event-playbackdraft✓Replays joins / parts / etc. alongside message history.
read-markerdraft✓Sync your read position across clients (MARKREAD).
multilinedraft✓Send a multi-line or over-length message as one message.
message-redactiondraft✓Redact your last message (/redact).
netsplit / netjoin✓Quit / join floods collapse into a single line.

Client-only tags

+typing✓Typing indicators.
+reply✓Threaded replies, with jump-to-parent.
+reactdraft✓Emoji / text reactions.
+channel-context✓Show a tagged DM in its channel (inbound).

Files, metadata & other drafts

FILEHOSTdraft✓Upload a file to the server's own host and post the link — draft/FILEHOST (PR #562) and soju.im/FILEHOST.
metadatadraft✓View / edit avatar, color, pronouns, status… (draft/metadata-2).
network-icondraft✓Show the network's icon.
channel-renamedraft✓Rename a channel (/rename).
account-registrationdraft✓Register and verify an account (/register, /verify).
pre-awaydraft✓Mark away during connect, before registration finishes.

Vendor & adjacent

soju.im/bouncer-networksvendor✓List, add, edit, and remove a soju bouncer's upstream networks — and add each network as its own server, bound via BOUNCER BIND.
znc.in/playbackvendor✓Resume history on older ZNC bouncers.
znc.in/self-messagevendor✓See messages you sent from another client.
STARTTLS✓Upgrade a plaintext connection to TLS in-band. (Deprecated spec.)
OAUTHBEARER✓OAuth 2.0 token login — SASL, RFC 7628.

Per-feature notes live in the documentation. The spec index is at ircv3.net.