+1.0 Beta 4
+
+ * Fixed configure bug resulting in osflags being called BEFORE getcache (Making it redundant.)
+ * Fixed output of src/modules/Makefile saying it was made by Craig.net tongue.gif
+ * Updated for test gcc4 compatibility
+ * Added support back for ./inspircd
+ * Added a line to automatically chmod ./inspircd to 0744 ('Last Second Save!')
+ * configure now supports any future .file.inc includes (Yes, i can see into the future)
+ * Updated makefile
+ * New Perl ./configure
+ * Added -Woverloaded-virtual to catch annoying module typos
+ * Fixed to always look for the ircd.log within the bin/ dir
+ * Fixed to not spool the error log after ./inspircd debug
+ * Sanity checks for fd_ref in addclient
+ * Fixed 'server ignores me forever if i throttle the server with connections' bug
+ * Debugging now allowed from ./inspircd (./inspircd debug)
+ * Added LD_LIBRARY_PATH hacks/kludges to the .inspircd.inc file to make it find libmysql in funny situations
+ * Added final documentation for inspircd Beta 4
+ * Added important note relating to ip addresses in <link:ipaddr>
+ * Added schema for m_sqllog.so
+ * Added m_sqloper, allows storage of opers within a mysql database
+ * Commented new functions
+ * Major *MAJOR* optimizations by double-referencing channels to users (never need to scan the entire user hash again except in very rare circumstances)
+ * Added channel 'counter', increases speed of quits, parts, kicks
+ * commented some users and connections code
+ * added remote @* notice
+ * Added remote versioning
+ * Fixed dicky buffer (due to cleanup the wrong variable was being used)
+ * Services speedups for stupid buffered i/o uplinks
+ * Added server input buffers (for systems that decide buffering is fun)
+ * Major code tidyup (-W)
+ * Fixed some flood checking
+ * added noticeall
+ * Added a Server:: method to send server notices to channels
+ * Added explicit oper tracking in a vector of userrec* pointers, optimizes sending out oper notices
+ * Fixed: +s and +p channels wouldn't be synched correctly
+ * Fixed: +s and +p never show in whois even when you're a member of them
+ * Fixed: +s and +p never show in list even if you're a member of them
+ * Added Server::FindDescriptor
+ * Added and tested fd crossreference table - improves speed a lot, and fixes one of the /STATS chars which has been broken a while
+ * Added OnAddBan and OnDelBan module api calls, and fixed glitch which required them in m_timedbans module
+ * Added OnOperCompare function to override strcmp in password check for /oper
+ * Added module message passing architecture
+ * Added a few anti-flood features
+ * Updated buffering, faster and more sensible (old code sucks)
+ * Added password field
+ * Removed some debug output
+ * Added /stats T
+ * Empty but non-null string passed to is_uline now returns true
+ * Added numeric 318 to /WHOIS when nick is not found (end of whois should still be there as its a list response)
+ * Added numeric 412 "no text to send"
+ * Changed to handle : as a NOP token so that 'assuming' inspircd knows RFC commands wont cause tons of errors
+ * Fix to a mode parsing bug (eating wrong version of parameter?)
+ * fixed warning of redefinition of RUSAGE_SELF
+ * Fix annoying off-by-one error in connection::RecvPacket
+ * Added more fault tolerance to server links
+ * Added new /stats z
+ * Fixes to /who output
+ * Added mode 'compression', stops abuse with modes like: +s-s+s-s+s-s
+ * Test fixes for /version strings not being set in burst
+ * Fixed a reversed strcmp
+ * Added 901 numeric - end of modules list
+ * Added support for /SQUIT <mask> and checks against /SQUIT *
+ * Changed remote kill reason text
+ * Fixed strange leading ":" on remote Z/K/G lines
+ * Fixed so that quitprefixes are shown in client exit notices
+ * Added global oper monitoring through modules and global connect monitoring through modules
+ * Fixed weird issues when anope sends large amounts of text at once to the uplink
+ * Fixed dodgy poll()
+ * Added new and improved GetBuffer function based on research on crappy redhat 7.3
+ * Fixed park crash bug #63 reported by ViaraiX
+ * Reordered some on-connect network stuff to stop services being so confused
+ * Extra safety checks to avoid trying to write() remote users
+ * Optimized WriteCommon and WriteCommonExcept
+ * Fixed weird line wrapping bug with extremely long lines
+ * Made xline notices neater when notifying of unknown connections
+ * Fixed WriteCommon not writing to the source user when not on any channels
+ * Changed "is now running" message to AFTER port bind checks
+ * Added PID reporting and testing before daemonize
+ * Changed startup ascii to green. Elphaba would be so proud tongue.gif
+ * Fix to prevent empty umodes
+ * Fixed empty modes from nickserv
+ * Optimized modes (removed strlens etc)
+ * Fixed empty modes issue that emerged after dodgy code was corrected
+ * Fixed services not being informed of force joins
+ * Fix to prevent quits being sent onto the network for nonexistent users
+ * Added faster wildcard checking routines
+ * Fix for bug #62 (replaces only occur once per line in m_censor)
+ * m_chanfilter now works on gcc 2.95.x again.
+ * m_chanprotect fixed to remove privilages upon kick
+ * Fixed WriteChannelWithServ
+ * Added module which provides MD5 encryption for oper passwords plus /mkpasswd
+ * Added another check for 'NoServerUline' type thing in m_services.
+ * Added Check for 'NoServer' when +r ing a channel in m_services.
+ * Added m_timedbans (timed bans module for channel ops/halfops)
+ * Added m_sql, module to provide sql db access to other modules
+ * Added m_sqlauth - allows authorizing of connections via an arbitary mysql table with a username and password field
+ * Added m_sqllog - allows you to log your irc information to an sql database
+ * Added m_sqloper, allows storage of opers within a mysql database
+
+1.0 Beta 3
+
+Added rm -rf src/modules/*.so to make modclean
+Added module message passing architecture
+added Module::OnMeshToken
+added Server::MeshSendAll
+added Server::MeshSendCommon
+added Server::MeshSendAllAlive
+added Server::MeshSendUnicast
+added Server::MeshSendAllExcept
+added Server::MeshCheckChan
+added Server::MeshCheckCommon
+added Server::FindModule
+added New docs for API
+added Module::OnRawMode
+added Module::OnCheckInvite
+added Module::OnCheckKey
+added Module::OnCheckLimit
+added Module::OnCheckBan
+added Module::OnStats
+added Module::OnChangeLocalUserHost
+added Module::OnChangeLocalUserGECOS
+added Module::OnLocalTopicChange
+Added Server::AddGLine
+Added Server::AddKLine
+Added Server::AddZLine
+Added Server::AddQLine
+Added Server::AddELine
+Added Server::DelGLine
+Added Server::DelKLine
+Added Server::DelZLine
+Added Server::DelQLine
+Added Server::DelELine
+Added Server::Duration
+Fixed /LUSERS server count
+Updated documentation of <connect> tags at request of Strike
+Fixed somebody putting double closing tags, nullifying the effect of allowhalfop in the example conf
+Removed deprecated class 'packet'
+Fixed Dns free() errors
+Added ability for modules to hold users in a 'holding pattern' while they do stuff on connect
+Added OnUserDisconnect method to modules.* to fix fd leak in m_ident.cpp
+Added the m_chanfilter module, implements chanmode +g which allows channel specific badwords (YAY)
+Added Module::OnSendList
+Added m_conn_lusers.so: Sends /LUSERS on connect
+Added m_ident.so: nonblocking ident lookup module
+Fixed /kill bug in m_operlevels (couldnt kill non-opers)
+Changed m_override: Fine-grained control over what can be overridden by whom
+Added m_park, user parking to keep ops during a ping timeout (suggested by Ib3N)
+Fixed limit checking in core and m_redirect.so
+Added m_setidle, allows opers to set their idle times
+Added Module::OnBackgroundTimer method, ticks approximately every 5 seconds
+Yet more optimizations!
+Added 'server already exists' check for u-type links
+Fixed bug when ordering a bot to leave using anope services
+Fixed anope module sending L tokens with 2 instead of 3 params (made code more tolerant instead of changing module)
+Fixed broken server/server handshake for U-type server links (services)
+Fixed strhashcomp to forbid matching scandanvian nicks properly eg. [Brain] and {Brain}
+Fixed lingering (SO_REUSEADDR was being set to 0?)
+Added Module::OnCheckReady and Module::OnUserRegister
+Updated /INFO
+Fixed to allow server to server traffic again (DOH)
+Added PID reporting and testing before daemonize
+Changed "is now running" message to AFTER port bind checks
+Fixed strange join behavior reported by w00t (mirc requesting MODE immediately after JOIN)
+Fixed bug #47 reported (and suggested fix) by Om
+Fixed bug where if channel limit was lower than the user count users could still join, but not if it was equal
+Added Module::OnUserKick and Module::OnUserPreKick
+Added Server::PseudoToUser and Server::UserToPseudo
+Made setrlimit a commandline option
+Removed some old uneeded code
+Made cmode and chanmode more safe
+Fixed a double free in dnsqueue.cpp
+Fixed a resolver issue (weird segfault on gentoo?) in server linking
+Double 367 numeric glitch fixed
+Added Server::IsValidHostMask
+Added getrlimit/setrlimit to set process limits to allow a core dump
+Removed some logging from wildcard.cpp
+
+1.0 Beta 2
+
+* Added a lot of small fixes based on feedback of beta 1
+* Fixed compile issues on freebsd due to an icky shellscript expression that failed to detect strlcat
+* Added more advanced m_override.cpp module due to user request (thanks Rob)
+
+1.0 Beta 1
+
+* Enough optimizations to shake a very big stick at
+* Added asyncronous DNS
+* Changed /MODULES to allow simplified output for non-opers
+* Added module flags to /MODULES for opers
+* Added /UNLOADMODULE
+* Added /LOADMODULE
+* Added resource tracking for modules
+* Added extra log output for oper success and failure
+* Added hostname checking for opers (someone left it out *looks around nonchalantly*)
+* Added module API OnUserPostNick method
+* Added E:Lines and /ELINE (ban exceptions)
+* Security fixes to /MODE and /TOPIC
+* Fixed a cosmetic bug in /WHO
+* Fixed random crashes when user connecting
+* Fixed 'unlikely' crash if nick was changed before dns lookup completed
+* Fixed to actually check the password of linking servers (someone left this out too!)
+* Added error checking to make sure opertypes exist before opering a user!
+* Added 005 handling for modules
+* Added onKill event for modules
+* Added OnModuleLoad event for modules (notified of all module loading)
+* Added <disabled:commands> tag
+* Added ability to disable any command for non-opers
+* Added customizable ping frequency to <connect:allow>
+* Added optional module path to the configuration file
+* Added support for Rehashing to allow adding and removal of modules
+* Added module VersionFlags support
+* Fixed a resolver issue (weird segfault on gentoo?) in server linking
+* Changed the loglevel of some startup failure messages to DEFAULT (were DEBUG)
+* Optimized connects - motd is sent faster
+* InspIRCd now logs value of <die> to the logfile on failure
+* Added new <banlist> tags, allows dynamic banlist sizes on a per channel basis rather than hard coded or network wide
+* Fix for bug #39, m_redirect returning invalid/random value for OnUserPreJoin method of the module class
+* Added code to shutdown listening sockets on exit
+* Added pid file support, and documentation for it
+* Fixed string format vunerability, thanks again to the #ratbox people for helping find it
+* Fixed 005 numeric to only output 13 tokens per line (thanks anfl)
+* Replaced some 005 constants with their configured values
+* Fixed "error in free()" and other bugs going to open sockets
+* Config files read by the ircd are now chmod'ed 0600
+* Fixed parsing error with comments that have tabs before them
+* Added implementation of strlcpy and strlcat for systems that dont have it
+* Fixes to crash when setting the key of a channel youre not a member of
+* Fixed issue where failing modules would bail by calling exit (deprecated) -- modules should now just disable their functionality if they are missing data
+* Added GetVersion() to m_showwhois.cpp
+* m_chanprotect.so fixed to take away +q and +a when the user parts the channel (double DOH)
+* Added 005 numeric handling to most of the modules
+* Added m_hostchange module, our own homebrew implementation of the unreal pay module!
+* Added m_nicklock module, a module which allows opers to lock a user to a nickname until they quit
+* Added m_operlevels, prevents opers designated as above other opers from being killed
+* Fixed Crash bug cause by multiple declarations of 'Srv' in m_randquote.so (Bug #35)
+* Added m_remove by om, uses a force part to replace a kick to thwart auto rejoin
+* Added module to restrict channel creation to opers only (requested by [ed])
+* Added a module at request of [ed] which stops anyone messaging all but opers
+* Added m_silence.so - implementation of /SILENCE command
+* Added ./inspircd (start|stop|restart|rehash|status|cron|Cheese-Sandwich) (Happy luigiman?)
+* Made a slightly nicer method for .Makefile.inc
+* Updated ./configure to reflect the above changes.
+* Removed reference to depricated ./makeconf and updated command to exec to build the daemon.
+* Added dynamic src/modules/Makefile generation, during ./configure the script will search modules for /* $CompileFlags: */ and append any given flags to its g++ line.
+* Startup script modified to kill -9 if a kill -TERM fails.
+* Makefile will ignore if cp fails to copy the binaries.
+* Added <disabled:commands> to the example config (commented out by default!)
+* Documented /LOADMODULE and /UNLOADMODULE plus new /MODULES behaviour
+* New docs to match extra module Version class stuff, etc
+* Added new documentation for ELine class and OnUserPostNick method
+* Added DNS class to documentation
+
+1.0 alpha 12
+
+* Updated ./configure to detect GCC 3.4.x
+* Added m_showwhois.so - lets opers see when theyre WHOISed
+* Added m_opermotd.so - Gives opers an opermotd on oper-up
+* Added m_operjoin.so - Forces opers to join a given channel when they oper
+* Security audit resulting in more secure and stable code
+* Added lots of error checking to the configuration parser
+* InspIRCd now works with BOPM, please see the tutorial on our forums
+* UMODE issues with SVSMODE finally addressed, working fine again
+* Services issues addressed and fixed
+* Added generic error output to the ConfigReader class (ConfigReader::DumpErrors())
+* Fixed sys/socket.h error on earlier versions of GCC (2.95.x)
+* Redone documentation
+* Fixed mode changes (they actually work now!)
+* Module passes service names to its uplink now
+* ChanServ actually sets channel modes rather than the server!
+* NickServ actually sets umodes rather than the server!
+* Double-mode-changes no longer occur
+* User nickname registration tracking with +r works properly again
+
+1.0 Alpha 11
+
+* Added lots of bugfixes
+* Optimised, works faster, and smoother
+* Added support for non-mesh servers
+* Added services support
+* Implemented example ircservices module (working with ircservices 5)
+* Added m_services module
+* Added m_antibottler module
+* Added m_alias module
+* Added glines (local and global)
+* Added klines
+* Added qlines (local and global)
+* Added zlines (local and global)
+
+1.0 Alpha 10
+
+* Added server linking support (tcp based mesh link)
+* Lots of stability fixes
+* Speed improvements
+* Optimisations, no longer eats cpu so much
+* GCC3 and GCC2 support
+* Even bigger module API
+* More documentation
+* m_antibottler, labels bottler bots
+* m_chghost, gives you a /chghost command
+* m_cloaking, gives you hostname cloaking and mode +x
+* m_filter, filters glob patterns on channels and private
+* m_globops, provides /GLOBOPS and mode +g support
+* m_helpop, gives /HELPOP and mode +h support
+* m_sajoin, force-join a user to a channel
+* m_sapart, force-part a user from a channel
+* m_samode, force a mode change on a user or channel
+* m_saquit, force a quit of a client without /kill
+* m_sethost, allows opers to change their hostmasks
+* m_setname, allows users to change their name
+* HELPOP documentation accessible with the helpop module loaded
+* Split the ircd into many smaller files for faster compiling
+* Improved configure and makefile phase
+* Added all oper commands (CONNECT, SQUIT etc)
+* Added remaining server->server commands such as /MAP
+* Connection pooling, uses less CPU for the same tasks as before
+* High-powered server to server link protocol unlike any other ircd
+
+1.0 alpha 9.5
+
+* Added support for /connect (no sync yet!)
+* Added extra module support and improved api
+* Improved developer docs, see http://www.inspircd.org/docs/
+* FINALLY fixed crash-on-disconnect bug
+* Fixed many stability bugs
+* Fixed length and buffer overrun issues that caused user records to become corrupted without crashes (!)
+
+1.0 alpha 9
+
+* Added /WHOWAS
+* Made ircd cache message of the day in a vector (faster!)
+* Added support for multiple lines of /NAMES on large channels
+* Added hostname/ip caching to speed up connects
+* Added '/stats z'
+* Added Server class
+* Added more code to example module demonstrating use of Server class
+* Added Admin class (holds /admin info for modules)
+* Added methods to Server class
+* Added m_cloaking.so module, provides host masking
+* Added /AWAY
+* added /ISON command (for mIRC etc basic notify)
+* Added /USERS stub
+* Added /SUMMON stub
+* attemted to fix weird crash on /kill
+* added pause= value to /die and /restart in config
+* Attempted to fix closed client sessions not being detected
+* Added wildcard support
+* Added channel bans
+* Changed user and channel structs to classes (finally)
+* Fixed parameter error in QUIT code (was showing junk chars on BSD)
+* fixed some ugly pointer bugs (thanks dblack and a|KK|y!)
+* Added /INVITE command and relevent structures
+* Added CONNECT ALLOW and CONNECT DENY config tags
+* Added PASS command
+* Fixed: /LUSERS cant count :P
+* added /TRACE command
+* Implemented channel mode +m
+* Added channel modes, +k, +l, +i, +m etc
+* Added user and channel modes +i, +p, +s
+* Implemented usermode +s
+* Fixed dodgy mode glitches (the ones Craig loves to play with, awww)
+* Added code to tidy up bans (e.g. max nick length) - i blame mIRC!
+* fixed multiple /MODE +l bugs (thanks to akky and BOFH bugging meh!)
+* Fixed ident max length to 10
+* fixed random crash on kill_link (AGAIN) - was /stats
+* improved speed 10x (because i can...)
+* optimisations galore!
+* Added FileReader file-caching class
+* Changed m_randquote to use FileReader class
+* Neater source tree (binaries in bin, source in src, headers in include, etc)
+* Added /WHOWAS
+* Tidied up makefiles
+* Much nicer configure program
+* makeconf program (very nice config maker by Craig)
+
+
+1.0 alpha 8
+
+* Added Admin class (holds /admin info for modules)
+* Added methods to Server class
+* Added m_cloaking.so module, provides host masking
+* Added Server class
+* Added more code to example module demonstrating use of Server class
+* ./configure improved by Craig (better prompts, dir creation)
+* /stats z added detail
+* Added '/stats z'
+* Added hostname/ip caching to speed up connects
+* Made ircd cache message of the day in a vector (faster!)
+* Added support for multiple lines of /NAMES on large channels
+
+1.0 alpha 7
+
+* Added /USERHOST command
+* Added '/STATS O'
+* removed random debug output
+* Fixed random crash on nickchange
+* Fine tuned ability to handle >300 users
+* added '/stats L' (connect-info)
+* '/stats u' support added (server uptime)
+* added '/stats M' command
+* Added extra dynamic module support, new methods to Module class
+
+1.0 alpha 6
+
+* Changed command table to a vector of command_t types
+* Dynamix module support, preliminary release
+* Fixes random crash on nickchange
+* Fixed wallops and command parameter counting bugs
+* fixed "user lingering" problem in kill_link
+* updated example config
+* developed a simple sample module (m_foobar.so)
+
1.0 alpha 5
* Changed channel array to a hash_map similar to the one used for users, faster and more efficient
* Fixed close() on nonblocking sockets problem
* Added /KILL command >:)
* Added /KICK command
+
+1.0 alpha 2
+
+* addition of /oper and several Channel Modes.
+* new config file format
+