# @(#)$Id: RELEASE_NOTES,v 1.71 2005/05/13 16:09:33 chopin Exp $

This is version 2.11.1 of the IRC software.
===============================================================================

New features in 2.11.1:

	* It is possible to log server channels to a file.
	* New configure option --with-rundir.
	* It is possible to remove +r mode from a channel.
	* Clients can use '~' char in nicknames.

Important changes in 2.11.1 (since 2.11.0):

	* TKLINE command defaults to minutes, not seconds.
	* All restrictions were unlocked, that means clients can now:
	  - use +R freely (when opped),
	  - use longer nicks,
	  - use [\]{|} chars in nicknames,
	  - use {}~\ in channel names.

Important configuration changes in 2.11.1 (since 2.11.0):

	* It is possible to define two sendq values, one for burst and
	  one for normal work.

This is version 2.11.0 of the IRC software.
===============================================================================

New features in 2.11.0:
	* New server-server protocol based on Unique IDs.
	* When collision occurs, clients get their nicks forcefully changed
	  to their UIDs. (Note: this requires no 2.10 server on the path
	  between these two clients!)
	* New channel list type: R (aka reop hints). With the same syntax and
	  behaviour as beI, it serves as a hint list for reopping opless
	  channels.
	* CIDR support in +beIR channelmodes.
	* New wildcard "#", matching any digit (note that if ban (in nick part)
	  starts with digit, it will match on UID, if with '#', it will match
	  on nickname).
	* Clients can use "NICK 0" to get their UID as a nick. Works during
	  registration, too.
	* Channels now keep information of who and when set the topic.
	* File resolv.conf can have IPv6 servers (this makes ircd fully IPv6).
	* New "STATS P" to return listeners (removed from "STATS L").
	* DELAY_CLOSE is default, this may use some extra fds.
	* OPER_REMOTE is removed (and server behaves like it was defined).
	* Resolving slightly changed: when host has CNAMEs, use the name that
	  client IP PTR points to, not the CNAME that points to client IP.
	* It is now possible to include files in config without need of m4.
	* New "TKLINE timeformat user@host :reason" and "UNTKLINE user@host"
	  commands, available for services and (depending on O: flag) opers.
	  Timeformat is like 1w2d3h4m5s and defaults to minutes.
	* New "REHASH t" removes all tklines.
	* Oper-only (access granted via O: flag) &CLIENTS channel reporting
	  (if defined) clients connects, quits, nickchanges.
	* New config line X (for excluding users).
	* "STATS k" (lower case k) returns list of tklines.
	* New DelayedKill feature to make ircd more responsible on rehash
	  on big servers with many clients and many klines.
	* Reject reason sent to client can be specified in iauth.conf
	* C:lines can have negative ports to disable autoconnects; these
	  will be used when "CONNECT" with port "0" is used.
	* Possibility of using port "0" in manual "CONNECT" (even remote); ircd
	  will use port from ircd.conf.
	* New "STATS ?" shows quick information about connected servers.
	* New "STATS f" shows detailed information about client TCP connection
	  (local opers only).
	* New "SET" command, which makes possible to fine-tune certain ircd
	  values during runtime (like dbuf poolsize, autoconnect and client
	  accepting).
	* New iauth module: mod_webproxy.
	* Modules socks and webproxy can work on multiple different ports.
	* New keyword "delayed" in iauth configuration (shortening time client
	  waits for accepting).
	* Services can request UIDs (or, rather, UNICKs).
	* "LUSERS" shows local and global usercounts and maximums (new 265/266
	  numerics).
	* "USERS" defaults now to non-rfc1459 compatible variant (shows local
	  and global usercounts and maximums (new 265/266 numerics).
	* New command "MAP [*.mask] [s]" showing ascii tree version of LINKS
	  and including (with "s" param) user counts and server versions.
	* Oper-only &OPER channel (if defined, reporting tklines).
	* Run time parameter -T (tune file) can be empty, no tune file will be
	  used at all then.
	* Burst includes empty channels (to be locked).

Important changes in 2.11.0 (since 2.10.3):
	* Nicknames of local clients cannot have [\]{|} chars. (Will be removed
	  in 2.11.1).
	* Channelnames created on 2.11.0 will have chars {}~\ in their name
	  automatically converted to []^|. (Will be removed in 2.11.1).
	* An irc client is no longer included.
	* Class usage was moved from end of "TRACE" to "STATS Y".
	* "DNS" command is now oper only.
	* Redundant bans are allowed to be set.
	* New server channel &WALLOPS.
	* User mode +w is doing nothing: class usage is in "STATS Y" and
	  wallops are sent to &WALLOPS.
	* "REHASH d" (dns flush) instead of "REHASH q".
	* Only "STATS K" (upper case K) returns list of klines.
	* "LIST" (if allowed) does not disconnect if client's sendQ fills.
	* "WHOIS" now shows the time user signed on.
	* "INVITE" overriding ban shows inviter's n!u@h in channel notice.
	* Support for text representation of user modes in USER command
	  during registration.
	* Operator broadcast message syntax has been changed: add one '$' in
	  front (so NOTICE either $$*mask or $#*mask).
	* Essential notices were moved from &LOCAL to &NOTICES
	* Client's username and hostname are strictly checked for valid chars.
	* "-t" runtime option (foreground mode) available without DEBUGMODE.
	* "STATS Z" no longer computes real memory stats without DEBUGMODE.
	* "STATS l" and "STATS L" show counts in Bytes, not KiBytes.
	* "SERVICE" command has been changed slightly (removed 2nd (stok) and 5th
	  (hopcount) parameters), please update your services.
	* Format of log files has changed.
	* Format of KILL logs (including syslog) has changed.
	* Iauth prints errors to stderr and exits with code 1 if error.
	* New config.h option to speed up accepting clients (costs CPU).
	* Increasing poolsize is unlimited by default and it does not increase
	  client sendq while at it.

Important configuration changes between 2.10.x and 2.11.0:
	* ircd.tune must be removed when upgrading from 2.10.x to 2.11.x
	* M: has a new mandatory field: SID. Please read INSTALL.
	* A: has a new field: "network name". 
	* H: can have SID masks to accept.
	* I: requires now both name field and addr field to match.
	* I: has a new field: flags (D, E, e, F, I, M, N, R); read INSTALL.
	* P: has a new field: flags ('D' (recommended) and 'S'); read INSTALL.
	* C: has a new field: outgoing IP (useful for multihomed servers).
	* O: has a new field: flags; read INSTALL for details.
	  WARNING: no flags means no privileges at all!
	* o: is deprecated (but still works), please use O: with 'L' flag.
	* File names and layout changed a bit, be careful:
	  - localstatedir defaults to $(prefix)/var (autoconf did that!)
	  - logdir defaults to $(localstatedir)/log, not $(prefix)/var/log
	  - ircd_var_dir (where .pid and .tune are kept) defaults to
	    $(localstatedir)/run
	  - log files are no longer in $(prefix)/var/log/ircd/, instead
	    they are in $(logdir)
	  - log file names changed from $(logdir)/{users,rejects,auth}
	    to $(logdir)/ircd.{users,rejects,auth}
	  - config and log file names depend on $(IRCD) name.
	* Module socks no longer has default port, you must explicitly
	  set "port = " in module configuration in iauth.conf.

This is version 2.10.3 of the IRC software.
===============================================================================

Important changes in 2.10.3p4 (since 2.10.3p2):
       * ip6.arpa is now default, with defining SIXBONE_HACK we
         also recognize ip6.int
       * RESTRICT_HOSTNAMES is default on, allowing client hosts in
         conformance with RFC 1034, 1035, and 1123 (no '&', '*', '\' or
         other "strange" characters)
       * CLONE_CHECK default on, not SLOW_ACCEPT
       * find_kill() is aware of '+' prefix, so no need to add another
         K:line for it (or using *username)

===============================================================================

Important changes in 2.10.3p2 (since 2.10.3):
	* u@h limits in Y:lines now default to 1.1, not 0.0
	* WHO ** is not special anymore (may break clients depending on it)
	* CIDR support in O:lines
	* no need to use :ffff: mapped IPv4 addresses anymore
	* now ircd reopens logfiles only upon HUP; this means it is not enough
	  to remove (or rename) logfile to stop logging (but we gain a lot!)

===============================================================================

New features in 2.10.3:
	* new options for iauth.conf to better control iauth behaviour
	* iauth now supports dynamically shared modules.
	* socks module now checks for both v4 and v5 of the SOCKS protocol.
	* iauth has a new module: LHEx, see ftp://ftp.irc.org/irc/server/LHEx

Important changes in 2.10.3 (since 2.10.2):
	* default PATHs have changed, see INSTALL file and Makefile.
	* V line code was fixed, and format slightly changed again.

------

Because of the many changes concerning iauth, it is recommended that this new
version of the iauth program not be used with older version of the IRC daemon.

===============================================================================

Version 2.10.2 of the software adds support for IPv6.

Important changes in 2.10.2 (since 2.10.1):
	* iauth's socks module now uses an internal cache.
	* iauth's socks module now checks for SOCKSv4 (rather than v5) proxies.

===============================================================================

2.10 uses a new (server-server) protocol.

New features in 2.10.0:

	* slave process handles authentication (ident lookups, ..).
	* creation of a collision proof type of channels (prefix !).
	* opless !channels may be reoped by the server (mode +r).
	* added channel mode +e (EFnet's exceptions to bans).
	* added channel mode +I (invitations).
	* /invite can now be used to override channel bans & limit.
	* away status is propagated again. (away messages are not).
	* users need +o (or +v) to speak on a channel where they're banned.

Important configuration changes between 2.9.x and 2.10.x:

	* The V line format has changed!

------

If the irc daemon is unable to bind any socket to listen to for incoming
connections, it will die rather than stay alive.

===============================================================================

New feature in 2.9.5:
	* D lines created.

------

2.9.5 is taking steps to suppress the usage of the 2.9 JOIN
format (:nickname JOIN #channel^Gov).  Future versions will
not generate such joins anymore.  In order to make the
transition smooth, it is imperative that all servers on the
IRC network be upgraded to 2.9.5 when the JOIN syntax is
abandonned.  Not doing so will result in a considerable
increase of the amount of bandwidth used during netjoins.

As a result, MIRC_KLUDGE is now defined by default in config.h

------

2.9.5 can be compiled on a W32 system using the Cygwin32
library (http://www.cygnus.com/misc/gnu-win32/).

===============================================================================

2.9.4 doesn't support 2.8 links anymore.  A 2.8.x server cannot
be directly linked to a 2.9.4 server.  They can however coexist
on the same IRC network.

------

Configuration changes between 2.9.3 and 2.9.4:

	* The format for I lines was extended.
	* The format for B lines has slightly changed.
	* The format for Y lines has changed ([user@]host limits).
	* K lines on IP addresses now match resolving hosts by default.

------

As announced with the 2.9.3 release, the NOTE feature has been removed.
A replacement has been written as an independant package, and can be found
at the following location: ftp://ftp.cs.tu-berlin.de/pub/net/irc/noteserv/

===============================================================================

2.9.3 doesn't support 2.7 protocol anymore.  Don't run 2.9.3
and 2.7 servers on the same IRC network.

------

New features in 2.9.3:

	* compression of server links.
	* virtual IP support.
	* B lines created. (client redirection)
	* k lines created. (OTHER ident)
	* V lines created. (restrict peers' compile time options)
	* new type of client: services.

------

Important configuration changes between 2.9.2 and 2.9.3:

	* M and P lines format has changed since 2.9.2, it is important
	  to update your ircd.conf !
	* kill lines are now case sensitive (K: and k: are different)

