List of protocol changes between versions
From the makers of InspIRCd.
Contents |
Protocol Changes
This page documents changes between "PROTOCOL=x" protocol versions, which may be useful for developers of third party software such as services packages.
Version 1100
Initial revision of 1.1 server to server protocol. Changes to the following commands from 1.0:
- CAPAB
- FMODE
- FJOIN
Version 1101
Changes to TS handling to make losing server responsible for clearing all its modes rather than winning server clearing the modes of the loser. Addition of the following command:
- REMSTATUS
Version 1102
Addition of the following commands:
- OPERNOTICE
- MODENOTICE
- SNONOTICE
Changes to the following commands:
- MODE now accepts server origin
Version 1103
Removal of built-in AES, addition of SSL and other modular transports
Version 1104
The following changes were made:
- Losing a collision in the FJOIN command (having higher TS than the one you receive) now results in removal of ALL channel modes, not just status modes. This is now identical in behaviour to TS6. Note that this also means that the removed modes are not echoed out in a confirming manner to other servers, which may confuse services servers.
- When processing an FMODE command, if the FMODE has a lower or equal TS to ours, we accept all the mode changes and pass on the FMODE, otherwise we simply drop the FMODE and dont apply anything or pass on anything. This is now identical behaviour to TS6.
- The REMSTATUS command results in removal of all modes, not just status modes from a channel.
Version 1105
Addition of the OPERQUIT command which specifies a seperate quit reason opers see for a remote user when the user quits.
Version 1200
- All server to server traffic now uses SIDs and UIDs for servers and users rather than a normal textual prefix.
- SERVER has been changed to add a SID parameter.
- NICK (for introduction) has been removed in favour of the UID command, which operates in a similar manner, with the addition of a UID parameter.
- FJOIN can now have a nonexistant userlist parameter (for permanent channel support).
- BURST and ENDBURST are now always sent with a prefix, and are broadcast network-wide (for notification of new bursts, timing, non-resource intensive application of XLines etc).
- Addition of ENCAP command (used for SASL etc)
- Addition of SVSWATCH command
- Addition of SVSSILENCE command
- FJOIN now sends users with their prefix modes (e.g. oh), not their prefixes (e.g. @%).
- The MODE command may now not be used to change modes on channels. FMODE MUST be used with a proper timestamp. MODE may still be used to change modes of users.
- PRIVMSG and NOTICE may be addressed to a channel with an SID (server) origin across the network. Previously, PRIVMSG and NOTICE were required to be sent with user origin only.
- Simple modes (not +beI lists etc) are now sent in FJOIN, not as a seperate FMODE on synchronising a new channel
- The only supported syntax for RSQUIT is now the documented one, :<server/uuid> RSQUIT <sid> :<reason> - this will not change in 1.1 for backwards compatibility, however third party code is advised to not rely on other syntax being available when sending. Be conservative in what you send, liberal in what you accept.
- OPERNOTICE has been removed, as it was performing no real function. SNONOTICE should now be used instead: http://www.inspircd.org/wiki/InspIRCd_Spanning_Tree_(1.2)#SNONOTICE
- REMSTATUS removed, it's performed internally by FJOIN/FMODE anyway.
Version 1201
- All usermode parameters are now passed in the UID command introducing a new user, meaning snomasks are properly kept synched along with any other mode parameters in the future.
UID syntax is now:
UID uuid age nick host dhost ident ip.string signon +modestr-and-optional-params :gecos

















