OperStats -- v1.2.0 - skold <skold@habber.net>
-----

* Fixed Away users stat becoming inaccurate after splits
* Fixed Uptime tracking inflating

OperStats -- v1.1.0 - skold <skold@habber.net>
-----

* OperStats is now distributed under a BSD-style license. Please see
  doc/LICENSE for details. Portions of IRCServices relicensed under BSD
  with permission from Andrew Church.
* Fixed strupper (and strlower) which resulted in "Unknown command ELP"
  type errors on some OSes (ie, RedHat) - Reported by many, thanks to
  LearJet for a shell so I could track it down.
* stats.php now includes server uptime values.
* NetSpeed stat is no longer measured if StatServ is off.
* Added option to globops when new NetSpeed peak is reached.
* Added NetworkName conf option for use in HTML files and such.
* PING and VERSION replies now work for juped servers.
* SS MAP now omits user stats if you have more than 1500 users.
* Added Away user tracking
* StatServ now tracks how much data is transferred to and from
  the server.
* StatServ now uses uint64 for bandwidth measurements, allowing
  for numbers well above the 2GB barrier of long that was used
  before.
* OS GLOBAL now allows notices to specific servers or TLDs.
  - Suggested by Ron885
* Now replies to /stats ? with current/total transfer values.
* Fixed numerous problems running with OperServ disabled.
* Added OS STATS command, disabled when StatServ is enabled.
* SS STATS SERVER is no longer IRCOp restricted.
* HTML files are now done in PHP. Additionally, the templates are
  now named file.ost (OperStats Template), ie, channels.ost.
* Added serverstats.php file with output similar to SS SERVERS and
  SS STATS SERVER.
* check_akill() now uses * in place of the username.
* Oh my god, hundreds of major and minor tweaks, upgrades and changes
  to everything. Socket code, hashing code, etc. See the Cygnus
  changelog if you really care.

OperStats -- v1.0.0 - skold <skold@habber.net>
-----

* Conf now shows 'SpamService' instead of 'SpamServ' - Reported by ZeroCide
* SpamServ Guest Prefix is now definable - Suggested by ZeroCide
* Added flood protection.
* Fixed problem with make install.
* Updated SJOIN code.
* Fixed OperServ help files listing some disabled items.
* RESTART is now listed in OperServ's short help index.
* doc dir is now copied to install dir. - Suggested by Wcc
* Full server name is now shown during FLUSH.
* GlobOps is now sent out on AKILL DEL.
* RESET now resets a few other things too.
* Current client count is now shown in STATS <server>
* Jupe no longer lets you use *. (it didn't work anyhow)
* Max uptime is now stored in the statserv DB.
* Servers with U:Lined uplinks (aka, jupes) are now hidden if ignoreulines is on.
* Servers with U:Lined uplinks (aka, jupes :P) are no longer pinged.
* check_akill() now works properly.
* Fixed 'lagged' time of 999000ms. It's now 999ms.
* Reordered the conf.
* Added GlobalMSG conf option to define a global notice prefix.
* Default html files no longer have DOCTYPE, as this messes with ie6...

OperStats -- v0.3.1 - skold <skold@habber.net>
-----

* Fixed improper NOQUIT/SQUIT handling on Bahamut
* Fixed MAP
* Fixed missing space in RPL_ENDOFHELP
* Fixed (null) (null) in SS SERVERS for servers that haven't been seen yet.
* SS RESET now properly resets all server stats.
* countops() now includes OperStats own IRCOp clients
* Now tracks max clients for individual servers.
* Default server M:Line is now in the code. You can leave it blank in the conf.
* NOQUIT support has been removed until further notice.

OperStats -- v0.3.0 - skold <skold@habber.net>
-----

* Added SEARCH function to search operstats.log.
* Slight improvements to conf and DB reading.
* Now properly handles SIGTERM.
* SS TLD now accepts more than one word (for country names) - Reported by Ron855
* Now properly sends CAPAB NOQUIT to Bahamut - Reported by ^Tux^
* Fixed pseudoclient rehashing problem.
* No longer supports Prometheus 1.0.0, now only supports 2.0.0.
* Fixed the call to do_update from do_rehash.
* Fixed split tracking .. again .. I think .. I hope ..
* Added support for logos on html files.
* Lag reports are now in ms. - Courtesy of Andy Smith
* Now supports U:Lined servers. - Courtesy of Andy Smith
* U:Lined servers are now hidden from MAP, and thus MAP is publicly available.
* SERVERS is now available too...
* Changed help file system. It's now a lot more dynamic.
* Added ShortHelp conf option to switch to shorter help file indexes.
* fatal() now outputs to stderr as well as the logfile.
* Added several new TLDs to the TLD listings.
* Fixed several things that weren't being rehashed properly.
* IgnoreULines conf option to have OperStats not count U:Lined servers.
* Removed Offset conf options in favor of IgnoreULines.
* Minor fix to m_vreply. - Reported by Jordi Murgo
* Fixed outgoing debug logging. - Reported by Jordi Murgo

OperStats -- v0.2.1 - skold <cygnus@uniserve.ca>
-----

* The mv* scripts now chmod the files to 644, since they're written with 600.
* Fixed some problems that broke the makeconf script on RedHat boxes.
* Fixed a bug in OS SHUTDOWN, where SHUTDOWN NOSAVE with no reason would
  crash OperStats. This had the highly undesirable effect of terminating
  OperStats without saving the dbs...
* OS JUPE now uses intro_user to jupe nicks. - Reported by frozen
* Fixed Realname AKills crashing on Bahamut - Reported by frozen
* The 'is now SRA' globop is now optional.
* Added '(X Ops)' to SS STATS Current Users.
* Added User and ServerOffsets to control stats counts - Suggested by Borg
* Added 'Downtime in last split' to SS STATS SERVER.
* Fixed nickchange bugs with collision protection - Reported by frozen
* Fixed the flood of 'server is lagged' globals resulting from pocket lag.
* Updated channels.html with mIRCLinks and some CSS!
* Fixed missing blank line in SS STATS.
* Now does a full recompile when config.h or sysconf.h is modified.
* Added Spam Detection bot.
* Now stops processing after dealing with CTCP queries.
* Fixed problems with servers that don't reply to VERSION queries.
* Fixed split tracking problems - Reported by frozen

OperStats -- v0.2.0 - skold <cygnus@uniserve.ca>
-----

* TLD and TimeZone files are now loaded, thus enabling related features.
* Fixed OS CLONES output.
* Fixed INJECT executing the injected command twice.
* user@* akills no longer become *@* (eep!) - Reported by IpAddress
* Updated makeconf to actually make valid confs..
* Fixed several problems with the SETTINGS command.
* Removed 'is now SRA' globop.
* The GlobalNoticer now replies to PING and VERSION CTCPs.
* Fixed a number of options not being rehashed properly.
* All data files are now written with proper file permissions. (600)

OperStats -- v0.1.6 - skold <cygnus@uniserve.ca>
-----

* Changed conf-directives OperServ and StatServ to OperatorService and
  StatisticalService. People who don't bother reading the documentation
  kept changing both OperServ's and StatServ's, thus disabling them, then
  then asking me why they're disabled. RTFM.
* Added Exception lines. Makes certain hosts immune to clone detection.
* The logfiles are now reopened if closed somehow. (ie, deleting the log)
* 'Sync'd to network' notices now show stats counts instead of real counts.
* TLD function now allows lookups by full name. (ie, TLD canada returns CA)
* TRIGGER can no longer be accessed if clone detection is off.
* Added a CLONES function to list current clones on the network.
* Made several changes to the crontab scripts. - Suggested by Borg
* SS STATS now allows filtering via several tokens. - Suggested by Borg
* Uptime is no longer only visible by IRCOps in STATS.
* IRCds with gimpy version replies (which aren't supported) no longer crash OS.
* Added TimeZone lookup function to StatServ.

OperStats -- v0.1.5 - skold <cygnus@uniserve.ca>
-----

* Fixed UMODE2 problem with UnrealIRCd, really this time.
* TRIGGER ADD now checks for wildcards.
* Daily hit count is now reset at midnight.
* LagThreshold setting is now obeyed in SS MAP.
* Current and Peak Lag counts are now displayed in SS STATS SERVER.
* Added dumptlds function to drop daily TLD hit stats to disk in html.
* Fatal config errors are now more specific as to the problem.
* Added a makeconf script.
* Added SS TLDSTATS function, reports the same info as tldstats.html.
* Spruced up the help files a bit with some intro text.

OperStats -- v0.1.4 - skold <cygnus@uniserve.ca>
-----

* Fixed some OperServ/StatServ only issues
* Clients are now introduced with a timestamp (fixes warnings on Bahamut)
* SETTINGS now shows ALL settings.
* Added JoinChan option to have pseudo-clients join a channel.
* Fixed a problem with the NETINFO reply on UnrealIRCd.
* Fixed m_kill not removing users
* Added option to globop when a server's lag exceeds a certain amount.
* The server lag threshold is now conf definable.
* Now actually pays attention to UMODE2 (Reported by several people)
* Fixed crashing bug with TRIGGER ADD - Reported by voltage (Joe@AlphaNine.com)
* Auto-AKills are now placed as *@host.

OperStats -- v0.1.3 - skold <cygnus@uniserve.ca>
-----

* Added blank lines in the SS STATS <server> output for conformity..
* Added 'Last Split' display to SS STATS <server>
* Now actually dies off if no SRAs are defined.
* Now stops processing privmsgs when the message target is found.
* Fixed a few logging entries.
* LogUpdates is now rehashed properly.
* Changed the order of the client info checks
* Added an endofburst notice for Prometheus.
* Makefile now actually uses LFLAGS and LIBS
* Updated dumpchans() function! (it doesn't suck anymore! yay!)
* Documented how to use dumpchans in doc/channels.doc
* Added SS RESET ALL option.
* findserv() now matches wildcards, so you don't need to give full servernames.
* AKill learning now ignores existing akills.
* Added AKill forgetting (reverse of learning, dur)
* AKill learning and forgetting are now conf options.
* Fixed Current Net Speed code and added support for GB/s speeds
* Added 'Hit' counting. (One hit is one user connecting)
* Servers lost behind another server in a split are no longer penalized.
* Added TLDmap function.
* Daily stats are once again saved to the DB.
* Implimened Anti-Nick-Collision measures.
* Added support for UnrealIRCd UMODE2 and NICKv2 protocol options.
* Links are now fully tokenized on servers that support it.
* Added Clone detection (and Triggers)
* Fixed unneeded error message for subcommands..
* Fixed truncated quit messages
* Server version/flags are no longer stored in the dbs.
* Cleaned up load_os_dbase function.
* Spit-&-polish update of all files.

OperStats -- v0.1.2 - skold <cygnus@uniserve.ca>
-----

* Removed doc/MANUAL .. I don't want to try and keep it up to date.
* Put the RAW and INJECT function in a define. Off by default. See config.h.
* Replaced the 'is it midnight' code with better code from GeoStats.
* The daily stats are now updated properly.
* Fixed Max User Count being wiped out by the current user count on boot
* Removed average counts from SS STATS since they're rarely accurate.
* Psuedo-client realnames are now checked during a REHASH. (whups)
* OperStats now rehashes the conf file without dying off on SIGHUP.
* Cleaned up the default conf a bit.
* Added IRCu P9 support.
* AKILLs are now removed when they expire.
* Added SWHOIS support for Unreal.
* Removed daily stats from the DB. They'll be lost if OperStats is restarted.
* Fix to allow compilation on (some) FreeBSD machines - Reported by Andy Smith

OperStats -- v0.1.1 - skold <cygnus@uniserve.ca>
-----

* Added Bahamut support (Tested with 1.4(21))
* Fixed '1 splits' in SS SERVERS - Reported by PreZ
* Fixed '1 days' in SS STATS
* SS MAP now shows oper counts. - Suggested by PreZ
* Now logs when it's loading the conf, tld and db files, in case of failure.
* DBs are only loaded if that particular client is enabled. (dur...)
* Now generates HTML channel lists. (see inc/config.h)
* Practically rewrote SHUTDOWN and RESTART so they work properly.
* Rewrote logging functions so the logfile is open/closed properly.
* Rewrote debug logging so it doesn't open/close the log constantly.
* Fixed -live (it wasn't really broken..)
* Added tracking of daily statistics.
* Now dumps core. You can stop this from happening by editing inc/config.h.
* Removed a few unused lines from response.h.

OperStats -- v0.1.0 - skold <cygnus@uniserve.ca>
-----

* First stable release!
* Fixed SS SERVERS version info for OperStats.
* Improved installation procedure a bit.
* Fixed some GlobalNoticer-dependant functions showing up when GN is disabled.
* Fixed another channel related memory leak.
* Added an unremarkable default MOTD file.
* Replaced lackluster documentation with spiffy, well written ones.
* Reworded OS_LOGONMSG_ADDED - Was written like a global notice.
* Minor fixes in some of the configure script tests.
* Moved several functions into a new shared.c to save space.
* Added conf option to toggle logging of DB sync stuff.
* Deopering now DEAUTHs you as a side effect.
* Fixed a typo in a 0.0.3 changelog entry :P - Reported by Ron885
* Added WaitRestart - OperStats will now restart if the connection is lost.
* Changed SyncTime warning to 1 minute instead of 5.
* Fixed Makefile ignoring configure-defined cflags.
* Now compiles warning-free with -Wall! :)
* Moved SENDPINGS into StatServ where it belongs.
* Added UPTIME listing to SS STATS
* Used Global instead of StatServ in RAW example..
* OperStats now learns AKills placed elsewhere (ie through other services)
* Began a full manual; contains help files and some misc info currently.
* Now logs some connection info.
* Fixed a problem with the user counts being out after toggling a pseudo-client.
* Fixed math for Max/Avg listings in StatServ.
* Gave the default conf a once over ..
* Added a RESTART command.
* Added NOSAVE option to SHUTDOWN command to skip db save.

OperStats -- v0.0.3 - skold <cygnus@uniserve.ca>
-----

* Removed OperServ INFO command
* Fixed some problems with MAP
* StatServ no longer includes OperStats in MAP.
* The pseudo-clients are now (re)introduced or removed if needed
* Added debugging levels: Off, server<->server traffic, function calls, both.
* AKills now actually expire .. (whups)
* Added PAKills
* *.db.save files are now automatically recovered if the main db isn't found.
* Fixed STATS u 'highest connection count' numbers.
* AUTH no longer lets already authed users auth again (multiple globops/etc)
* Added NOQUIT support.
* Added crontab scripts for backup and restarting.
* You can now disable OperServ, StatServ will take over crucial commands.
* Added some basic UnrealIRCd support.
* Fixed OS AKILL ADD (with no param) crashing bug - Reported by Fish
* Removed tracking of various unneeded user/channel info to save memory.
* Reworded SS STATS 'Current Channels' to avoid confusion.
* Fixed default AKill reason becoming truncated after a no-reason AKill.
* Rewrote duration() to output times in the same format as the conf times
* Modified VERSION reply slightly.
* Users matching new akills are hunted down properly now. (I hope..)
* Fixed (at least one of the) channel memory leaks.

OperStats -- v0.0.2 - skold <cygnus@uniserve.ca>
-----

* Fixed nick!user@host messages (commonly used with /operserv etc aliasing)
* Fixed version.sh a bit
* Added support for incoming tokens (DreamForge)
* The SRA nickname is no longer case sensitive for AUTH.
* Fixed 'end of help' notices in StatServ - Reported by ^Tux^
* Fixed SyncTime warning in check_conf()
* Added AutoKills
* Added LogonMSGs
* Cleaned up logging a bit.
* Fixed 'terminating, reason unknown' on shutdown with no reason
* If the .tld file can't be loaded, the TLD lookup is disabled.
* OperStats no longer tries to privmsg the snoop channel if it's not in use.
* Fixed TLD and SRA hashing. TLD Lookups and SRAs should work properly now.
