]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/ChangeLog
Added ability to update the helpop file on rehash (Bug #69)
[user/henk/code/inspircd.git] / docs / ChangeLog
index 5f0f5698b5989115a3ca50809cd9b61c5ac1a3eb..708f18a9db567ab80c8f5db1d1f3d384b5b246ed 100644 (file)
@@ -1,3 +1,321 @@
+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!)