Unreal3.2.6 Release Notes
==========================

==[ GENERAL INFORMATION ]==
- If you are upgrading on *NIX, make sure you run 'make clean' and './Config'
  first before doing 'make'
- The official UnrealIRCd documentation is doc/unreal32docs.html
  online version at: http://www.vulnscan.org/UnrealIRCd/unreal32docs.html
  FAQ: http://www.vulnscan.org/UnrealIRCd/faq/
  Read them before asking for help.
- Report bugs at http://bugs.unrealircd.org/
- When upgrading a network, we assume you are upgrading from the previous
  version (3.2.5). Upgrading from 3.2.3 or 3.2.4 should be ok as well.
  However, if you have a network running with servers that are several versions behind
  (eg: 3.2.1) then you might experience small (desynch) problems.
  Please also minimize the time you have multiple versions running, a few days or
  one week is generally not a problem, but having mixed versions on a network for several
  weeks or months is not recommended.
- The purpose of the sections below (NEW, CHANGED, MINOR, etc) is to be a SUMMARY of
  the changes in this release. There have been 80+ changes, and trying to mention them
  all would be useless, see the Changelog for the full list of changes.

==[ NEW ]==
- None. Except some behavior changes, see next.

==[ CHANGED ]==
- SSL: The server certificate and keys can now be reloaded via '/REHASH -ssl', no
  restart needed anymore.
- IRCOps can now view the bans of a channel ("MODE #channel b") from the outside
- Moved failed /OPER attempt notices to snomask +o and made them sent to all servers.
  This means all failed oper attempts can now be seen globally. Plus, the UID is now
  always shown (like for incorrect host and maxlogin), unless trying an unknown oper acc.
- The annoying "please type /quote pong" message is now no longer shown on connect, unless
  explicitly enabled by setting set::pingpong-warning to 'yes'. (mainly Windows)
- /INVITE's from people on the silence list are now silently ignored
- SAPART now works for multiple channels (again)
- Non-SSL users are now kicked when netsynching and channel is +z (SSL only)
- No longer showing server numerics in /MAP to non-opers (too confusing anyway)
- Updated ukrainian-w1251, belarussian-w1251 and catalan character sets
- Spamfilter + IPv6: for target 'u' (nick!user@host:realname bans), the 'host' part
  is now in brackets if it's an IPv6 address (eg: blah!blah@[1:2:3:4:5:6:7:8]:hello)
- loadmodule errors are improved
- Snomask 'N' will no longer show nick changes of U-lined servers
- The set::dns block is now no longer mandatory, because it is actually not used
  (except for set::dns::bind-ip) and fetched from /etc/resolv.conf (*NIX) or the
  registry (Windows) instead. This has always been the case, but has never been documented.
- Various doc updates ('/HELPOP ?EXTBANS', and some unreal32docs improvements)

==[ MAJOR BUGS FIXED ]==
- Crash if link::options::quarantine was used
- Another crash which could happen in some rare cases
- Throttling was not always being applied correctly
- Windows 2003: Fixed crash on-boot if no nameserver was set
- Windows: Fixed /RESTART not always working properly (leaving the ircd dead)

==[ MINOR BUGS FIXED ]==
- Remote includes: should now work with latest curl again, due to c-ares upgrade
- a bunch of OperOverride bugs.. messages being sent when they shouldn't, some things
  not being logged or broadcasted, and more.
- Sometimes no message was shown when a link to an SSL server failed
- Desynch problem caused by +Q
- SAJOIN now properly deals with +z channels
- "MODE #channel" showing extended channel mode parameters if not in channel
- Channel Mode 'f' did not properly eat a parameter on unset (even though it would
  show like it did), this could have caused desynchs in some cases.
- Fixed handling of CNAME's once again (now showing original name instead of fwded name)
- The "looking up your hostname" message was always sent, regardless of show-connect-info
- deny link { } blocks were being ignored by autoconnect
- Windows: SSL private key prompt caused a crash
- Windows: Unable to write to service.log caused a crash
- set::allowed-nickchars could cause a segfault for some unknown languages
- If class::connfreq was omitted and used for a server link, this would cause a huge
  connection flood when autoconnect was used.
- set::dns::bind-ip was seen as a duplicate when it actually wasn't
- And more... see Changelog

==[ KNOWN ISSUES ]==
- Regexes: Be careful with backreferences (\1, etc), certain regexes can slow the IRCd
  down considerably and even bring it to a near-halt. In the spamfilter user target it's
  usually safe though.
- Regexes: Possessive quantifiers such as, for example, "++" (not to be confused with "+")
  are not safe to use, they can easily freeze the IRCd.

==[ SERVICES / CODERS ]==
- Note: this is a new section, it describes changes specifically for services coders
  and unreal module coders. Note that other changes (such as new modes, etc) mentioned
  elsewhere in this document might affect you as well. For more info about a particular
  change mentioned below (such as a new hooktype), see the Changelog.
- New hooktype: HOOKTYPE_SILENCED (called when a message is not delivered due to silence)
- New hooktype: HOOKTYPE_POST_SERVER_CONNECT (called after users synched to remote server)
- Fixed CALLBACKTYPE_CLOAK_EX, wasn't working properly at all
- Fixed SVSNICK: cAsE cHaNgE no longer causes a collision, fixed QUIT not being sent
- SVSMODE/SVS2MODE: when doing -x on a user, the virthost is removed from memory.
  This means services can now properly "unvhost" a user and give them back their cloaked
  host by doing "SVSMODE User -x+x".
- Services timestamps for users are now properly treated as unsigned long, previously
  some trouble could arise when netsynching for values larger than 2147483647.
- 'SVSMOTD !' now removes the svsmotd from memory as well.
- Fixed SVSMODE -b User not always removing all bans for that user (specifically, bans on
  the cloaked host, when the user has a vhost).
- Fixed SVSO - not removing coadmin (+C)

==[ ADDITIONAL INFO ]==
* See Changelog for more details
