-----------------------------------------------------------------------------------------------
Oragono roughly draws from these sources:

 - Modern IRC: http://modern.ircdocs.horse/

 - IRCv3: http://ircv3.net/


Oragono also implements these specifications:

 - oragono.io/nope - A way of detecting incorrect client implementations.
 
 - znc.in/self-message - Letting clients receive self messages in buffer playback.
 
 - znc.in/playback - Letting clients request history from the server if it's configured.


Oragono also implements these specifications proposed to IRCv3:

 - language   - Server language negotiation.

 - rename     - Channel renaming.

 - resume     - Connection resumption.

 - rfc8265    - Unicode nick and channel names.
 
 - multiline  - Longer lines.
 
 - chathistory - Chat history grabbing.


And these specifications I've written up based on existing commands and behaviour:

 - Roleplay commands


For other specifications you should consider looking at, see this page:
http://ircdocs.horse/specs/

-----------------------------------------------------------------------------------------------
~=~ IRCv3 Support ~=~ The following stable extensions are supported: - Capability Negotiation 3.1 - Capability Negotiation 3.2 - cap-notify - account-notify - account-tag - away-notify - batch - chghost - echo-message - extended-join - invite-notify - labeled-response - message-ids - message-tags - monitor - multi-prefix - sasl 3.1 - sasl 3.2 - server-time - sts - userhost-in-names
-----------------------------------------------------------------------------------------------
Generally, I try to keep Oragono close to how other IRC software behaves. However, if there are any issues or there's a specific case you'd like to report, please visit the issue tracker here: https://github.com/oragono/oragono/issues