Historical:Development/Roadmap/2.1

From the makers of InspIRCd.
(Redirected from Development/Roadmap/2.1)
Jump to: navigation, search

See Roadmap for features planned for this or later versions. Version 2.1 is still open for including features from that page or completely new ideas.

Finished in 2.1

  • <modeletters> configuration block to change channel mode letters
  • Oper classes populated from <oper> in addition to <type>, and items from <class> are allowed in either <type> or <oper>
    • This changes m_opermodes to use automodes="" from the oper/type block rather than modes=""
  • <connect> block changes
    • inheritance of all fields that act on users, not just the primary ones. Note that fields used in matching do not inherit.
    • allow multiple hosts and ports in one block
  • Modes and metadata are now saved across module reloads
  • Channels that are +ik can be joined by using the key rather than requiring an invite (only if <options:invitebypassmodes> is set)
  • Rehash now reports errors more reliably (especially remote rehash), and always reports errors to snomask a.
  • New modules
    • m_opmoderated - +U to redirect messages to channel ops. Useful for conference or similar where users post questions that are then selected by a moderator and answered.
    • m_inviteextban - extban "i" to require/exempt invite status based on a banmask. Unlike mode +I (when invitebypassmodes is set), does not bypass anything else.
    • m_timedmodes - More generic m_timedbans that allows setting arbitrary modes on a timed basis. Can replace timedbans.
    • m_chanacl - +W to change required access level for all channel actions. Can replace exemptchanops.
    • m_opflags - set custom flags on users for giving channel access rights. Works with autoop, chanacl, and exemptchanops.
    • m_serverbots - allow more complex aliases that are done by PRIVMSGing a nick, similar to the "IRC" nick in other ircds
    • m_clear - ircd-side masskick and mass mode changes in channel. Can help with difficult-to-remove bans.
    • m_chanregister - ircd-side channel registration using +r <accountname>
    • m_sql_channels - database storage of channel topic and modes, restores permanent channels on ircd startup
    • m_flatfile_channels - database for storing channels across ircd restart (no-dependency version of sql_channels)
    • m_nickregister - ircd-side nick registration and Q:line of registered nicks
    • m_account_modes - Implements the +RM channel modes and the +R user mode (split from m_services_account)
    • m_account_flags - Implements the +r channel mode and the +r user mode (split from m_services_account)
    • m_servvhost - <connect> block matcher for USER parameters
    • m_cline - /CLINE for sorting users into a specific <connect> block, useful for temporary session limit exceptions or similar
    • m_sqlcommand - Allow defining /COMMANDS using SQL queries, useful for managing sqlauth/sqloper from IRC
  • Removed modules
    • m_timedbans - replaced by timedmodes
    • m_mssql - no maintainer or tester available
  • Module changes
    • m_sqloper can now override all fields in an <oper> block using its query string
    • m_override - change to use <class permission="override/name"> rather than <type override="name">
    • m_override - require umode +O to be set to override. This makes override more reliable in permitting actions, although it will have false positives for commmands needing override while the umode is set.
    • Channel redirects (+L) are now used no matter what caused the join failure
    • m_alias adds an ECHO command for easier user feedback from aliases
    • LDAP and SQL authentication modules can now set account names on users that authenticate with them (if configured)
    • m_ssl_gnutls - Allow SSL certificates to be overridden in <bind> and <link> blocks using <ssl_cert> tags
    • m_autoop - allow users to set umode +n to disable autoop, refresh autoop on host change or identify
    • m_autoop - allow manually opping yourself using /mode #channel +o yourself, if you have access to +o in the autoop list
    • m_cban - allow glob patterns
    • m_check - more information in output
  • Server protocol changes
    • RESYNC command to fill in topic and listmodes during the accidental create race (final-user PART/QUIT crossing JOIN)
    • FJOIN uses "*" for incremental joins, triggering RESYNC if needed
    • FMODE uses "=" in place of "+" to indicate a mode merge, rather than assuming all server-sourced mode changes are merges
    • Mode lists as sent in 2.0 are now important due to <modeletters> block allowing users to change them.
      • Note: If you don't support changing letters, please document which mode letters you check for so that admins know what not to change.
      • Modes without letters are sent using +Z, same as they are displayed to clients.
  • Internal changes
    • New rehash trigger mechanism, no need to register OnRehash
    • Module init() is now required for all registration
    • OnRequest is removed, the dynamic_reference mechanism introduced in 2.0 should be used instead