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

1.2 has been released as of August 29, 2009 with all of the features listed below.

See Roadmap for features planned or implemented in later versions.


  • (Brain) 1.2 GUI!
  • (Phoenix, w00t) Don't blow users up for forced nickchange w/ +N etc? Bug.png Bug #607 - annoying w/ svsnick, etc.
  • (Phoenix, w00t) Bug.png Bug #644: allow svsnick/sanick to override +Nb n:
  • (Phoenix, w00t) Bug.png Bug #524: Allow OperOverride to set modes +qa
  • (w00t, Brain) Extended invex (framework + a few modules)
  • (Phoenix, w00t) Oper prefixing mode -> Modules/operprefix
  • (Brain) userrec::HasPermission -> map of maps, for (even faster) access
  • (Brain) Fix jointhrottle to not try 'throttle' clients during a netmerge (requires changing join event to be aware of netmerge?)
  • (Brain) - backported SVSPART (bp to 1.1?)
  • (w00t) - backported Allow spanningtree to re-bind listeners on rehash (bp to 1.1?)
  • (w00t) Stop using local fake clients to force mode changes, use a global one.
  • (w00t) If possible, combine module compilation and linking into one command - from a casual glance and vague test, this should work, and cuts off about 25mb.
  • (w00t) Snomask compression (multiple snotice repeats compressed into 2 lines)
  • (w00t) Ability to limit total number of users in a connect class/tag, via limit="" (will not be easy)
  • (w00t) Permanent channels and relevent protocol changes (ick!) Bug.png Bug #352
  • (w00t, Brain) Development/UID UUIDs and SIDs.
  • (Brain, w00t) Development/CommandFloodControl Flood control redesign proposal.
  • (Om, Brain) Development/ModuleLoader Module factory removal and module loader refactor.
  • (w00t, Brain) Development/XLine XLine redesign.
  • (w00t) Development/BanCache BanCache. (probably in conjunction with XLine redesign)
  • (Brain) Development/Hooking Module hooks redesign.
  • (w00t) Development/xline.db XLine database stuff
  • (w00t) Re-work spanningtree usercounts to be a little more understandable, and work 100% on reloads etc
  • (w00t) RLINE regex.pattern.here\sgecosmatchingtoo 7d :reason (user-based regex bans ala /spamfilter -u)
  • (w00t) SAPART reason, and part-prefix/postfix.. Bug.png Bug #467
  • (w00t) Ban for lots of quit flooding, see Bug.png Bug #314 (done, m_quitban)
  • (w00t) Exceptions for m_denychans.
  • (w00t) Speed up culllist
  • (aquanight) Allow certain channels to be exempt from m_filter_*, help channels etc
  • (aquanight) Hashed passwords for more than just opers, e.g. die and restart, Bug.png Bug #355 - simple way to do this: Instead of OnOperPassCompare (blah), we need an OnPassCompare(method, input, expectedoutput) ..or something.
  • (aquanight) Make m_password_hash re-read hashtypes on rehash.. so you can load providers after it. (Actually, it just picks up the hash modules immediately as they are loaded meaning /loadmodule is enough.)
  • (aquanight) /invite timers.. timed invites that expire. Either /invite foo #chan 60s, or something. (I'd prefer mandatory expiry of all invites after a configurable period of perhaps 5 minutes myself). Bug.png Bug #489
  • (dz) Allow redirecting a channel in config (add option to ban channel stuff?)
  • (w00t) Create command handlers for spanningtree commands, move commands out into individual files rather than huge .cpps
  • (Brain) Development/RemoteIncludes Remote includes. (5 parts)
  1. (Brain) Remote includes dependency: posix-threads threading engine
  2. (Brain) Remote includes dependency: windows-threads threading engine
  3. (Brain) Thread class
  4. (Brain) Test suite incorporating thread engine test methods
  5. (Brain) Ability to execute a command as an include statement
  1. (Brain, nenolod) Addition of CAP to NAMESX, UHNAMES etc
  2. (Brain, nenolod) IAL/SASL support
  • (Brain) Ability for modules to hook any outbound numeric
  • (w00t, aquanight) Development/Logging Logging overhaul. (2 parts)
  1. (w00t, aquanight) Core logging
  2. (w00t, aquanight) m_chanlog channel logging
  • (Brain) Don't make binding ports work by port number (i.e. allow 7000 to be plaintext on one IP, SSL on another)
  • (Brain) Bug.png Bug #254 - Allow sqlauth to specify the nick in the password
  • (aquanight) Add the ability to allow or disallow modes for an oper via the oper type; this could, for example, allow certain types to not use some snomasks, or +H, etc, and would also remove the custom flag for m_invisible.
  • (Brain) Development/Functors Conversion to use functors (2 parts)
  1. (Brain, Om) Functor framework
  2. (Brain) Porting of core methods to functor framework - Functions will be converted to functors as required by modules/user requests
  • (w00t) /WATCH away notification
  • (w00t) Configurable prefixes for +qa (instead of forcing ~&). Needs a protocol change to FJOIN to be nice to services. Useful for Ultimate/ircx/etc users. (probably nabbed by w00t :P)
  • (Brain) Detection of max sockets without a recompile, just requires you to raise it in your kernel and restart inspircd.
  • (Brain) Mode merges in one line for netburst, fixes Bug.png Bug #493.
  • (Brain) Server to server protocol 'interface', which is implemented by protocol modules (m_spanningtree) - not sure how this is to work exactly, something like ServerInstance->Remote->SendModeChange(user, "+r"), ServerInstance->Remote->ChangeHost(userrec, "oper.flooble.com") (this will be ongoing, the beginnings will probably be in 1.2)
  • (Brain) Allow for custom prefixes to be used in /notice #chan e.g. &
  • (w00t) Development/Extbans Extban infrastructure.
  • (w00t) Convert m_shun and m_cban to use new XLine framework
  • (w00t) Permanent channels: have a list of channels in inspircd.conf created on startup - include topic and modes. Bug.png Bug #511
  • (w00t) Method of listing all users connected for configurable time (e.g. /who +t 1d5m) - implemented as /who 1d5m t. Useful for finding botnet connections, etc.
  • (aquanight) Single regex provider module used by all modules requiring regex: allows also for multiple types of regex (glob, tre (unreal compatibility, posix, pcre)
  • (danieldg) Make <bind address="" on IPv6 not suck epically
  • (danieldg) Development/ModuleManager Package management-like system for modules, to encourage 3rd party development and slim down the distribution
  • (danieldg) Bug.png Bug #669: /map output is too wide
  • (danieldg) Bug.png Bug #664: OTHERMODE is no longer required to operoverride +ohv
  • (danieldg) Bug.png Bug #423: Server linking via SSL, check cert fingerprints
  • (danieldg) SSL metadata (fingerprint) available to remote servers, better /whois support with multiple SSL modules loaded
  • (danieldg) Display correct source of server-sourced actions (such as mode changes) instead of always using the local server
  • (danieldg) Fix potential race conditions in rehash
  • (danieldg) Make SSL certificate generation optional in ./configure
  • (w00t) Bug.png Bug #762: DNS resolver doesn't use anything except the first returned record (causes problem when CNAME and PTR are both returned),

--Danieldg 15:40, 15 March 2010 (UTC)