--- Noteworthy changes in version 8.2.39 (2021-08-14)
+#### Noteworthy changes in version 8.2.41 (2022-07-15)
+* Fixed issue where `WHO` didn't work on channel names with two or more consequent
+ asterisk characters
+* IRCv3 WHOX has been implemented. See `doc/who.txt` for more information about
+ the new `WHO` options and features.
+* Clients that are connected via TLS are now flagged with the letter `S` in the
+ who reply
+
+
+#### Noteworthy changes in version 8.2.40 (2022-07-02)
+* `channel::disable_fake_channels` now also blocks strikethrough text (0x1E (30))
+* `KNOCK` can now be used on private channels. Channel mode `K` may be used instead
+ to control whether or not `KNOCK` is allowed on a channel.
+* Support for `/dev/poll` has been dropped
+* `INFO` now also reports configured values of `channel::default_join_flood_count`
+ and `channel::default_join_flood_time`
+* The founder `q` and admin `a` channel prefix modes have been implemented.
+ These are optional and can be enabled with the new `channel::enable_owner`
+ and `channel::enable_admin` configuration directives.
+* Channel half-ops may now kick other half-ops
+* Extban `$K` of type acting has been implemented. This extban prevents
+ matching users from using the `KNOCK` command.
+* Server-side channel mode locking `MLOCK` has been implemented
+* Fixed server name leak in `WHOWAS` with `serverhide::hide_services` enabled
+
+
+#### Noteworthy changes in version 8.2.39 (2021-08-14)
* `hidechans` and `hideidle` may now be set in `general::oper_only_umodes`
* OpenSSL 3.0 compatibility improvements
* Fixed crashing issue in the mkpasswd tool with older glibc
* Fixed a `STATS P` displaying issue with compressed ipv6 loopback/inaddr_any
--- Noteworthy changes in version 8.2.38 (2021-01-17)
+#### Noteworthy changes in version 8.2.38 (2021-01-17)
* Backwards compatibility mode for ircd-hybrid 8.2.22 and below has been removed
* Minimum supported version of the Anope IRC services is now 2.0.8
* Fixed displaying issue with channel `MODE` messages
addition to `.`
* Fixed issue with clients connected from IPv6 localhost that, depending on the
system's `getaddrinfo` implementation, could lead to a crash of remote servers
-* For a full list of all changes in this release, see <https://git.io/Jts3u>
--- Noteworthy changes in version 8.2.37 (2020-12-26)
+#### Noteworthy changes in version 8.2.37 (2020-12-26)
* Implemented IRCv3 `CAP 302`
* Implemented IRCv3 `cap-notify` capability
* In case a client sends multiple `PASS` messages, ircd only accepts the password
sent in the first `PASS` message instead of the last one
* Missing help file for `MONITOR` has been added
* Fixed slightly off memory count for motds in `STATS z`
-* For a full list of all changes in this release, see <https://git.io/JtkgJ>
--- Noteworthy changes in version 8.2.36 (2020-12-04)
-* The old WATCH implementation has been replaced with IRCv3.2 MONITOR. For this,
+#### Noteworthy changes in version 8.2.36 (2020-12-04)
+* The old `WATCH` implementation has been replaced with IRCv3.2 `MONITOR`. For this,
the `general::max_watch` configuration directive has been renamed to
`general::max_monitor`.
* User mode `B` has been implemented. Clients with that mode set are marked as a
long as the `bot` directive is set in `general::oper_only_umodes`), servers,
and services.
This mode can for example be used to mark HOPM as official network bot.
-* For a full list of all changes in this release, see <https://git.io/JLMnJ>
--- Noteworthy changes in version 8.2.35 (2020-11-14)
+#### Noteworthy changes in version 8.2.35 (2020-11-14)
* Fixed issue where servers could propagate truncated ban masks during net-join
-* For a full list of all changes in this release, see <https://git.io/JIUa6>
--- Noteworthy changes in version 8.2.34 (2020-11-01)
+#### Noteworthy changes in version 8.2.34 (2020-11-01)
* Re-implement backwards compatibility mode for old ircd-hybrid 8.2.23 and below.
Final removal is scheduled for early 2021.
* For consistency, the `general::network_desc` configuration directive has been
renamed to `general::network_description`
-* Server notices that previously have been sent to user modes +f and +u are now
- sent to user mode +j (reject notices) instead. Due to this change, `unauth` and
+* Server notices that previously have been sent to user modes `f` and `u` are now
+ sent to user mode `j` (reject notices) instead. Due to this change, `unauth` and
`full` have been removed from `general::oper_only_umodes`, `general::oper_umodes`,
and `operator::umodes`.
-* User mode +b (bots) has been replaced with +f (flood). Spam/flood notices are now
+* User mode `b` (bots) has been replaced with `f` (flood). Spam/flood notices are now
sent to this user mode. For this, `bots` has been removed from
`general::oper_only_umodes`, `general::oper_umodes`, and `operator::umodes`.
`flood` has been added instead to these configuration directives.
* Stricten server/user ID validation. IDs have to be all uppercase everywhere now.
-* For a full list of all changes in this release, see <https://git.io/JkeID>
--- Noteworthy changes in version 8.2.33 (2020-09-07)
+#### Noteworthy changes in version 8.2.33 (2020-09-07)
* Added `client` option to `listener::flags`
* Added `defer` option to `listener::flags`
* IRC operators may now use CIDR notation in `WHO`
-* For a full list of all changes in this release, see <https://git.io/JTftW>
--- Noteworthy changes in version 8.2.32 (2020-08-16)
+#### Noteworthy changes in version 8.2.32 (2020-08-16)
* `RESV` couldn't be issued in case no reason has been supplied. This has been fixed.
* Fixed possible `RPL_WHOISCHANNELS` line truncation of remote replies
-* Extban $t of type `matching` has been implemented. This extban allows matching
+* Extban `$t` of type matching has been implemented. This extban allows matching
based on TLS protocol version and/or cipher suite
* Implemented channel mode `K`. `KNOCK` cannot be used on channels with that mode set
* `STATS ?` is now oper-only
-* For a full list of all changes in this release, see <https://git.io/JUZa1>
--- Noteworthy changes in version 8.2.31 (2020-05-03)
+#### Noteworthy changes in version 8.2.31 (2020-05-03)
* macOS compatibility fixes
* Removed `spoof_notice` from `auth::flags`. With vhosts now this notice doesn't make
much sense anymore
* Fixed issue where ban masks might become malformed if set by remote clients/servers
-* Fixed issue with channel mode +c where high ascii characters can be erroneously
+* Fixed issue with channel mode `c` where high ascii characters can be erroneously
detected as control characters
-* For a full list of all changes in this release, see <https://git.io/JUZa6>
--- Noteworthy changes in version 8.2.30 (2020-03-01)
+#### Noteworthy changes in version 8.2.30 (2020-03-01)
* `QUOTE HELP extban` didn't work because the extban help file hasn't been
installed properly during `make install`
* Fixed broken libcrypto detection which caused the ircd not to work with
OpenSSL under certain circumstances
-* Extban $n of type `acting` has been implemented. This extban prevents
+* Extban `$n` of type acting has been implemented. This extban prevents
matching users from changing their nick while in the channel. Users
with voice or above are not affected.
-* Channel mode +N has been changed so channel members with +v can change
- their nick name as well
-* For a full list of all changes in this release, see <https://git.io/JfOyF>
+* Channel mode `N` has been changed so channel members with `v` (voice) can
+ change their nick name as well
--- Noteworthy changes in version 8.2.29 (2020-02-19)
+#### Noteworthy changes in version 8.2.29 (2020-02-19)
* Extbans have been implemented. Currently supported extbans:
Matching:
* `$a:<account>` Matches users logged into a matching account.
* `$c:<channel>` Matches users that are on the given channel. An additional
- prefix of either @, %, or + can be specified to test for
- certain channel privileges.
+ prefix of either `@`, `%`, or `+` can be specified to test
+ for certain channel privileges.
* `$o:<class>` Matches IRC operators that have joined a class
matching the mask.
* `$r:<realname>` Matches users with a matching realname.
For more details, see `help/extban`.
* Added `channel::enable_extbans` configuration option. See `doc/reference.conf`
for more information.
-* For a full list of all changes in this release, see <https://git.io/JvgAL>
--- Noteworthy changes in version 8.2.28 (2020-01-26)
+#### Noteworthy changes in version 8.2.28 (2020-01-26)
* Fixed issue with topics set by `TBURST` not being propagated properly to clients
* Allow IRC operators to search for real hosts in `WHO`
* Ban/exempt/invex masks are now also tested against realhosts to prevent clients
from bypassing channel bans by activating a fakehost
-* For a full list of all changes in this release, see <https://git.io/Jv37M>
--- Noteworthy changes in version 8.2.27 (2020-01-22)
+#### Noteworthy changes in version 8.2.27 (2020-01-22)
* Experimental support for wolfSSL has been implemented. Minimum supported version is 4.3.0
* The `--enable-openssl`, `--enable-gnutls` switches, and their disabling counterparts
`--disable-openssl` and `--disable-gnutls`, have been replaced with the `--with-tls`
`ssl_cipher_list` -> `tls_cipher_list`
`ssl_message_digest_algorithm` -> `tls_message_digest_algorithm`
* In the operator {} block, the following configuration directives have been renamed:
- `ssl_certificate_fingerprint -> `tls_certificate_fingerprint`
- `ssl_connection_required -> `tls_connection_required`
+ `ssl_certificate_fingerprint` -> `tls_certificate_fingerprint`
+ `ssl_connection_required` -> `tls_connection_required`
* In the connect {} block, the following configuration directives have been renamed:
- `ssl_cipher_list -> `tls_cipher_list`
- `ssl_certificate_fingerprint -> `tls_certificate_fingerprint`
-* For a full list of all changes in this release, see <https://git.io/Jvq9g>
+ `ssl_cipher_list` -> `tls_cipher_list`
+ `ssl_certificate_fingerprint` -> `tls_certificate_fingerprint`
--- Noteworthy changes in version 8.2.26 (2019-05-31)
+#### Noteworthy changes in version 8.2.26 (2019-05-31)
* The `general::tkline_expire_notices` configuration directive has been
replaced with user mode `X`. *LINE expiration notices are sent to IRC
operators with that mode set
* Fixed issue with `/rehash conf` creating duplicated class entries
instead of updating existing ones that are already in use
-* For a full list of all changes in this release, see <https://git.io/fjEbq>
--- Noteworthy changes in version 8.2.25 (2019-04-24)
+#### Noteworthy changes in version 8.2.25 (2019-04-24)
* The `class::number_per_ip`, `class::max_local` and `class::max_global`
configuration directives have been replaced with just `class::number_per_ip_local`
and `class::number_per_ip_global`. The `class::max_local` basically was
been deprecated. If you need to bind a specific address you can specify one
in the connect {} block
* The `connect::vhost` configuration directive has been renamed to `connect::bind`
-* For a full list of all changes in this release, see <https://git.io/fjRVk>
--- Noteworthy changes in version 8.2.24 (2018-04-05)
+#### Noteworthy changes in version 8.2.24 (2018-04-05)
* Added `STATS s` to show configured pseudo {} blocks
* Implemented channel mode `N` which prevents users from changing their
nick while in a channel with that mode set
* Services clients are now shown with `is a Network Service` in `WHOIS`
-* For a full list of all changes in this release, see <https://git.io/fjRVt>
--- Noteworthy changes in version 8.2.23 (2018-03-26)
+#### Noteworthy changes in version 8.2.23 (2018-03-26)
* IRC operators are now able to see a user's resolved hostname in `WHOWAS`,
and `WHOIS` even if the user has a fakehost/vhost
* `RPL_WELCOME` now does use the rfc2812 style nick!user@host format
* Fixed bug where ircd would not remove `RPL_WHOISOPERATOR` based svstags
when deoppering
* Fixed `unknown closes` statistic in `STATS t` showing invalid values sometimes
-* For a full list of all changes in this release, see <https://git.io/fjRVq>
--- Noteworthy changes in version 8.2.22 (2017-03-26)
+#### Noteworthy changes in version 8.2.22 (2017-03-26)
* Implemented channel mode `L`. Channels with that mode set can make use of an
extended ban list size specified with the new `channel::max_bans_large`
configuraton option. This mode can be set only by IRC operators or servers.
numerics containing UIDs
* `STATS z` now shows simple memory stats of servers linked to the network
* Added support for remote `ETRACE`
-* For a full list of all changes in this release, see <https://git.io/fjRVO>
--- Noteworthy changes in version 8.2.21 (2016-11-27)
+#### Noteworthy changes in version 8.2.21 (2016-11-27)
* The `general::default_floodtime` configuration option has been added
along with the `SET FLOODTIME` command. These allow to fine-tune the
message throttling better
* Fixed an issue with `INVITE` not showing the list of channels the
sender is invited to
-* For a full list of all changes in this release, see <https://git.io/fjRVG>
--- Noteworthy changes in version 8.2.20 (2016-11-05)
+#### Noteworthy changes in version 8.2.20 (2016-11-05)
* `INFO` now shows GnuTLS/OpenSSL library/header versions
* Added `channel::max_invites` configuration option. See `doc/reference.conf`
for more information.
* `INVITE` expirations have been implemented. Expire time can be adjusted with
the `channel::invite_expire_time` configuration directive
-* `WHOIS` notices to IRC operators have been re-added. User mode +y is required
- to see them
+* `WHOIS` notices to IRC operators have been re-added. User mode `y` (spy) is
+ required to see them
* The maximum line length for motd files has been increased to 320 bytes to
support multibyte encodings better
-* For a full list of all changes in this release, see <https://git.io/fjRVZ>
--- Noteworthy changes in version 8.2.19 (2016-08-21)
+#### Noteworthy changes in version 8.2.19 (2016-08-21)
* Fixed a possible server name leak in `WHO` with server hiding enabled
* `WHO` now allows IRC operators to search by IP address
* Admins no longer can see IP addresses in `STATS P` with
`serverhide::hide_server_ips` enabled
* User mode `n` now shows nick name changes from remote clients, too
-* For a full list of all changes in this release, see <https://git.io/fjRVC>
--- Noteworthy changes in version 8.2.18 (2016-06-22)
+#### Noteworthy changes in version 8.2.18 (2016-06-22)
* Fixed an assert when a client sends invalid `LIST` options
* Fixed invalid memory stats of channel invites in `STATS z`
-* For a full list of all changes in this release, see <https://git.io/fjRSx>
--- Noteworthy changes in version 8.2.17 (2016-04-21)
+#### Noteworthy changes in version 8.2.17 (2016-04-21)
* Fixed core on `REHASH CONF` with `general::whowas_history_length`
set to 0
* Fixed possible core on `INVITE` with `channel::max_channels` set to 0
-* For a full list of all changes in this release, see <https://git.io/fjRSp>
--- Noteworthy changes in version 8.2.16 (2016-03-20)
+#### Noteworthy changes in version 8.2.16 (2016-03-20)
* Added `general::whowas_history_length` configuration option which
allows to define the maximum length of the `WHOWAS` nickname history
* Services are now allowed to override `general::min_nonwildcard`,
and `general::min_nonwildcard_simple` settings
* Minor updates to help files
-* For a full list of all changes in this release, see <https://git.io/fjRSj>
--- Noteworthy changes in version 8.2.15 (2016-02-24)
+#### Noteworthy changes in version 8.2.15 (2016-02-24)
* Added proper support for Raspbian/ARM. Gracias to Beave/2600.net
for providing a box for testing purposes.
* Fixed an assert with empty `user = ""` directives in auth {} blocks
* `STATS z` now shows allocated listeners
* Fixed bug where `can_flood` auth {} flags did not work on channels
-* For a full list of all changes in this release, see <https://git.io/fjR9v>
--- Noteworthy changes in version 8.2.14 (2016-02-09)
+#### Noteworthy changes in version 8.2.14 (2016-02-09)
* Fixed server clustering
* Major cleanups to the configuration subsystem
* Improvements to libGeoIP support:
and `libgeoip_ipv6_database_file` configuration directives to the
serverinfo {} block
* Further improvements to GnuTLS support
-* For a full list of all changes in this release, see <https://git.io/fjR9f>
--- Noteworthy changes in version 8.2.13 (2016-02-02)
+#### Noteworthy changes in version 8.2.13 (2016-02-02)
* Implemented support for GnuTLS. Currently ./configure's autodetection
intentionally prefers OpenSSL over GnuTLS, so OpenSSL detection needs
to be disabled explicitely by using the `--disable-openssl` switch.
* Added `rehash:remote` IRC operator privilege flag
* Added `rehash` type to shared {} blocks
* Fixed minor memory leak with shared {} and cluster {} blocks
-* For a full list of all changes in this release, see <https://git.io/fjR9J>
--- Noteworthy changes in version 8.2.12 (2016-01-05)
-* **IMPORTANT:** Character case mapping is `ascii` now. It is recommended
- to update all servers on the network to prevent possible channel
- desynchronizations and nick name collision kills
+#### Noteworthy changes in version 8.2.12 (2016-01-05)
+* Character case mapping is `ascii` now. It is recommended to update all
+ servers on the network to prevent possible channel desynchronizations
+ and nick name collision kills
* Added channel mode `T` which forbids `NOTICE` to be sent to a channel
* Fixed minor `SVSTAG` memory leak
* Fixed broken `PART` message blocking mechanism
`/etc/resolv.conf`
* The `-klinefile`, `-dlinefile`, etc. switches didn't work at all
* Fixed possible core on ident lookups if ircd is out of file descriptors
-* Far client exit notices (+F) now show IP addresses, too
+* Far client exit notices (user mode `F`) now show IP addresses, too
* Made idle time look nicer in `STATS v|p` by using a formatted time string
* `general::ts_warn_delta`, and `general::ts_max_delta` can be set to 0 now
-* For a full list of all changes in this release, see <https://git.io/JvLtj>
--- Noteworthy changes in version 8.2.11 (2015-11-19)
+#### Noteworthy changes in version 8.2.11 (2015-11-19)
* Implemented IRCv3.2 `invite-notify` extension
* Implemented IRCv3.2 `chghost` extension
* Added `channel::invite_delay_channel` configuration option
-* For a full list of all changes in this release, see <https://git.io/JvLqe>
--- Noteworthy changes in version 8.2.10 (2015-11-06)
-* **IMPORTANT:** renamed `serverhide::links_delay` configuration directive
+#### Noteworthy changes in version 8.2.10 (2015-11-06)
+* The `serverhide::links_delay` configuration directive has been renamed
to `serverhide::flatten_links_delay`
* Added `serverhide::flatten_links_file` configuration option
* Fixed bug where changing `serverhide::flatten_links_delay` on runtime
to the DH param file
* Added missing IRC operator privilege flags to `STATS o`. For a full list
of flags see `doc/reference.conf`
-* For a full list of all changes in this release, see <https://git.io/JvLqJ>
--- Noteworthy changes in version 8.2.9 (2015-09-13)
-* **IMPORTANT:** database files and links.txt are now stored in `/var/lib`
- instead of `/etc`, so make sure to move your k/d/x-line database files
- to the new path before (re)starting the ircd
-* **IMPORTANT:** the splitmode logic has been removed along with the
- following channel {} block configuration directives:
+#### Noteworthy changes in version 8.2.9 (2015-09-13)
+* Database files and `links.txt` are now stored in `/var/lib` instead
+ of `/etc`, so make sure to move your k/d/x-line database files to
+ the new path before (re)starting the ircd
+* The splitmode logic has been removed along with the following
+ channel {} block configuration directives:
`default_split_user_count`, `default_split_server_count`,
`no_create_on_split`, `no_join_on_split`
* Added `xline_exempt` to auth {} block flags
privileges.
* Added `close` to IRC operator flags
* ircd is using ISO 8601 date and time notation in most places now
-* For a full list of all changes in this release, see <https://git.io/JvLqI>
--- Noteworthy changes in version 8.2.8 (2015-05-10)
+#### Noteworthy changes in version 8.2.8 (2015-05-10)
* ircd now rejects remote k-line requests for user@host mask that don't
have at least `general::min_nonwildcard` non-wildcard characters in it
* Configuration related server notices are now sent to admins only as
been set with the `XLINE`/`RESV commands`
* Fixed broken temporary remote XLINEs
* The `general::havent_read_conf` configuration directive has been removed
-* For a full list of all changes in this release, see <https://git.io/JvLqq>
--- Noteworthy changes in version 8.2.7 (2015-04-05)
+#### Noteworthy changes in version 8.2.7 (2015-04-05)
* Fixed a potential buffer overflow with the `BMASK` inter-server command
* Fixed undefined behavior in the `HELP` command module which could
lead to stack corruption
* Removed useless help files for inter-server commands
-* For a full list of all changes in this release, see <https://git.io/JfOyA>
--- Noteworthy changes in version 8.2.6 (2015-03-29)
+#### Noteworthy changes in version 8.2.6 (2015-03-29)
* `INFO` now shows configured values of `max_watch` and `stats_m_oper_only`
* `WHOWAS` now shows IP addresses to IRC operators
* Fixed bug that would allow remote clients to bypass the hard
limit of max `WHOWAS` entries to be returned
-* For a full list of all changes in this release, see <https://git.io/JTTuf>
--- Noteworthy changes in version 8.2.5 (2015-02-24)
+#### Noteworthy changes in version 8.2.5 (2015-02-24)
* Fixed core on Mac OSX 10.10 and possibly some other systems when parsing
the `ircd.conf` with configured pseudo {} blocks
-* For a full list of all changes in this release, see <https://git.io/JTTuI>
--- Noteworthy changes in version 8.2.4 (2015-02-17)
+#### Noteworthy changes in version 8.2.4 (2015-02-17)
* Added `SVSTAG` command which services may use to add tags to users which can
be seen in `WHOIS`
* Added `oper::whois` configuration option which allows to override the default
* IRC operators may now use +O on a channel even if they are only a half-op
* Fixed bug where `TOPIC` messages were not n!u@h prefixed in case of `TBURST`
issued by services clients
-* For a full list of all changes in this release, see <https://git.io/JTTut>
--- Noteworthy changes in version 8.2.3 (2015-02-11)
-* **IMPORTANT:** the following configuration directives have been renamed:
+#### Noteworthy changes in version 8.2.3 (2015-02-11)
+* The following configuration directives have been renamed:
`max_clients` -> `default_max_clients`
`join_flood_count` -> `default_join_flood_count`
`join_flood_time` -> `default_join_flood_time`
* Updated some help files
* IRC operators may now see certificate fingerprints, user modes and hidden
channels via `WHOIS` as well. This used to be admin only.
-* For a full list of all changes in this release, see <https://git.io/JTQP3>
--- Noteworthy changes in version 8.2.2 (2015-01-20)
+#### Noteworthy changes in version 8.2.2 (2015-01-20)
* Implemented IRCv3.1 `extended-join` extension
* Channel half-ops can now use `INVITE` as well
* Fixed broken `make install -jX`
IRC operators still can have higher `flood` limits with `no_oper_flood = yes;`
hoewever, they are no longer allowed to bypass RecvQ limits.
* Added `general::stats_m_oper_only` configuration option
-* Remote client connection notices (user mode +F) now do show IP addresses, too
-* For a full list of all changes in this release, see <https://git.io/JTQPG>
+* Remote client connection notices (user mode `F`) now do show IP addresses, too
--- Noteworthy changes in version 8.2.1 (2014-10-21)
+#### Noteworthy changes in version 8.2.1 (2014-10-21)
* Fixed bug where `UNDLINE remote.server IP` did not work as expected
* Servers are now allowed to add/remove K-/D-/X-lines and RESVs
-* User mode +G now no longer allows to override +g
+* User mode `G` now no longer allows to override user mode `g`
* Due to potential weakness, TLS session caching and session tickets
have been disabled
* Minor improvements to TS6 implementation
* `WHOWAS` now shows the name of the services account a user was logged in
-* For a full list of all changes in this release, see <https://git.io/JTQP8>
--- Noteworthy changes in version 8.2.0 (2014-08-24)
+#### Noteworthy changes in version 8.2.0 (2014-08-24)
* Successful IRC operator logins are now announced globally via `GLOBOPS`
* Cleanups and improvements to the resolver code
* Cleanups and improvements to the `poll` I/O event notification support
See `doc/reference.conf` for more information.
* Removed `general::services_name` configuration option. This is now no
longer needed.
-* For a full list of all changes in this release, see <https://git.io/JTQPR>
--- Noteworthy changes in version 8.2.0rc2 (2014-08-03)
-* Improved AWAY throttling to allow for better fine-tuning. See the
+#### Noteworthy changes in version 8.2.0rc2 (2014-08-03)
+* Improved `AWAY` throttling to allow for better fine-tuning. See the
newly added `away_count` and `away_time` configuration directives
in the general {} block
* Support for the `select` I/O event notification has been dropped
-* For a full list of all changes in this release, see <https://git.io/JkeIF>
--- Noteworthy changes in version 8.2.0rc1 (2014-07-20)
+#### Noteworthy changes in version 8.2.0rc1 (2014-07-20)
* Miscellaneous code cleanups and stabilization fixes
* `./configure` now requires OpenSSL 0.9.8o or above in order
to enable TLS/SSL support
-* For a full list of all changes in this release, see <https://git.io/JkeLI>
--- Noteworthy changes in version 8.2.0beta4 (2014-07-06)
-* **IMPORTANT:** channel halfops are now an integral part of ircd-hybrid
- and can't be disabled anymore
+#### Noteworthy changes in version 8.2.0beta4 (2014-07-06)
+* Channel halfops are now an integral part of ircd-hybrid and can't be disabled anymore
* Added flood control for the `INVITE` command. See channel {} block in `reference.conf`
* Changed flood control logic for the `KNOCK` command. See channel {} block in `reference.conf`
* `INVITE` without any parameters now shows a list of channels a client is invited to
* Removed `ssl_server_method` and `ssl_client_method` configuration options.
ircd now only allows TLSv1, TLSv1.1 and TLSv1.2 protocols depending
on the OpenSSL version. SSLv3 is no longer supported.
-* For a full list of all changes in this release, see <https://git.io/JkeLO>
--- Noteworthy changes in version 8.2.0beta3 (2014-05-26)
+#### Noteworthy changes in version 8.2.0beta3 (2014-05-26)
* Code cleanups/performance improvements
-* For a full list of all changes in this release, see <https://git.io/JkeLW>
--- Noteworthy changes in version 8.2.0beta2 (2014-05-15)
-* **IMPORTANT:** renamed `general::warn_no_nline` configuration directive to
- `general::warn_no_connect_block`
+#### Noteworthy changes in version 8.2.0beta2 (2014-05-15)
+* Renamed `general::warn_no_nline` configuration directive to `general::warn_no_connect_block`
* Fixed bug with `WHOIS` not showing a list of channel names as expected
-* Added user mode +q which hides idle and signon time in `WHOIS`
-* Added user mode +p which hides channel list in `WHOIS`
-* For a full list of all changes in this release, see <https://git.io/JkeLB>
+* Added user mode `q` which hides idle and signon time in `WHOIS`
+* Added user mode `p` which hides channel list in `WHOIS`
--- Noteworthy changes in version 8.2.0beta1 (2014-04-29)
+#### Noteworthy changes in version 8.2.0beta1 (2014-04-29)
* TS6 is now mandatory. ircd is no longer backwards compatible with TS5
and below.
* `SVSJOIN` and `SVSPART` commands have been added
* Updated several help files
--- Noteworthy changes in version 8.1.20 (2014-07-20)
+#### Noteworthy changes in version 8.1.20 (2014-07-20)
* Fixed `XLINE` not working as expected
* Fixed build with LibreSSL which hasn't compression support
* Miscellaneous stabilization and cosmetical fixes
* EGD support has been dropped
--- Noteworthy changes in version 8.1.19 (2014-07-05)
+#### Noteworthy changes in version 8.1.19 (2014-07-05)
* Fixed `EOB` logic for remote servers
* Fixed bug where IRC operators that have the +g/+G/+R umodes set won't receive
server notices for remote CONNECT/KLINE/DLINE/XLINE/RESV attempts
* Fixed `UNDLINE` not to require the IP address to be prepended with *@
--- Noteworthy changes in version 8.1.18 (2014-06-09)
+#### Noteworthy changes in version 8.1.18 (2014-06-09)
* Fixed `CAP` issue for certain clients
* Fixed bug where `STATS p` would show an invalid amount of IRC operators
in case there are any +H opers
if `general::network_name` contains spaces
--- Noteworthy changes in version 8.1.17 (2014-05-01)
+#### Noteworthy changes in version 8.1.17 (2014-05-01)
* Fixed possible `WATCH` core
* Fixed bug where the configuration parser wouldn't take time units
into consideration for the `join_flood_time` and `throttle_time`
* Minor `LIST` optimization
--- Noteworthy changes in version 8.1.16 (2014-04-20)
+#### Noteworthy changes in version 8.1.16 (2014-04-20)
* Fixed undefined behaviour with `crypt` returning `NULL`
since glibc2.17 in certain cases
* Admins may now see all channel members via `WHO #channel`
- regardless of channel mode +s
+ regardless of channel mode `s`
* Fixed corrupted `STATS U` output
--- Noteworthy changes in version 8.1.15 (2014-03-29)
-* **IMPORTANT:** ircd binary is now again placed into `bin/` instead of `sbin/`
+#### Noteworthy changes in version 8.1.15 (2014-03-29)
+* ircd binary is now again placed into `bin/` instead of `sbin/`
* mkpasswd in tools/ now defaults to MD5 instead of DES
* The `USERS` command has been removed
* Fixed issue with `SVSNICK` where clients self-collided when changing
just the case of the nick name, i.e. somenick -> SomeNicK
--- Noteworthy changes in version 8.1.14 (2014-02-25)
+#### Noteworthy changes in version 8.1.14 (2014-02-25)
* WHOWAS now honors `serverhide::disable_remote_commands`
* Improved TS6 inter-server communication
* Added `unxline` IRC operator flag
in the `WHOIS` reply
--- Noteworthy changes in version 8.1.13 (2014-01-07)
+#### Noteworthy changes in version 8.1.13 (2014-01-07)
* Fixed `EOB` not working for remote servers (resulted in fake direction notices)
* Fixed remote client connection notices for servers that are
more than one hop away
haven't finished the SSL handshake
* Fixed several bugs with server hiding
* Updated/fixed help files
-* `WHOIS` no longer sends a notice to +y operators
+* `WHOIS` no longer sends a notice to IRC operators with user mode `y` (spy)
--- Noteworthy changes in version 8.1.12 (2013-12-22)
+#### Noteworthy changes in version 8.1.12 (2013-12-22)
* `RPL_WHOISMODES` now uses the 379 numeric
* Serial number is now shown on start up
* Fixed possible channel mode desynch with services
* Fixed issue with `WEBIRC` where hostnames were not validated
--- Noteworthy changes in version 8.1.11 (2013-12-06)
+#### Noteworthy changes in version 8.1.11 (2013-12-06)
* Administrators may now see channel modes in `LIST`
* Fixed compile error on BSD systems when building with `kqueue`
--- Noteworthy changes in version 8.1.10 (2013-11-25)
+#### Noteworthy changes in version 8.1.10 (2013-11-25)
* Fixed bug with `kqueue` where it occasionally dropped updates
* Changed `WHOIS` to show certificate fingerprint to administrators only
* The `WHO` reply now shows if a nickname has been registered
* Added `SVSKILL` command
--- Noteworthy changes in version 8.1.9 (2013-11-08)
-* Added user mode +W. Users connected via a webirc gateway get this
+#### Noteworthy changes in version 8.1.9 (2013-11-08)
+* Added user mode `W`. Users connected via a webirc gateway get this
mode set by servers.
* `WHOIS` now shows if a client is connected via a webirc gateway
* Administrators may now see +s channels a user is in with `WHOIS`.
set via `WHOIS`
--- Noteworthy changes in version 8.1.8 (2013-10-25)
+#### Noteworthy changes in version 8.1.8 (2013-10-25)
* Fixed bug that could lead to a desynchronized nick database
throughout the entire network if using services enforced
nick names (`SVSNICK`)
* Administrators can now see +s channels in the `LIST` reply
--- Noteworthy changes in version 8.1.7 (2013-08-18)
-* Fixed issue with channel mode +n having no functionality at all
+#### Noteworthy changes in version 8.1.7 (2013-08-18)
+* Fixed issue with channel mode `n` having no functionality at all
* Fixed SSL certificate fingerprint validation for outgoing server connects
* Updated several documentation files
--- Noteworthy changes in version 8.1.6 (2013-08-02)
+#### Noteworthy changes in version 8.1.6 (2013-08-02)
* Fixed possible core with empty motd files
--- Noteworthy changes in version 8.1.5 (2013-07-16)
+#### Noteworthy changes in version 8.1.5 (2013-07-16)
* Fixed bug that would prevent servers from linking together
if `connect::aftype` isn't set
--- Noteworthy changes in version 8.1.4 (2013-07-05)
+#### Noteworthy changes in version 8.1.4 (2013-07-05)
* Added `xline` and `resv` logging types. See `doc/reference.conf`
for more information
* Fixed bug where remote `STATS` requests were not rate limited
* Minor fixes to nickflood control code
--- Noteworthy changes in version 8.1.3 (2013-06-23)
+#### Noteworthy changes in version 8.1.3 (2013-06-23)
* Fixed possible core on `STATS z`
* Revised `doc/reference.conf`
* Fixed broken `--disable-libgeoip` switch
--- Noteworthy changes in version 8.1.2 (2013-06-20)
+#### Noteworthy changes in version 8.1.2 (2013-06-20)
* Added `general::cycle_on_host_change` configuration option
* Added `general::stats_u_oper_only` configuration option
* Added support for SHA-256 ssl certificate fingerprint based operator {}
fingerprints
* Added `operator::ssl_connection_required` configuration option. See
`doc/reference.conf` for more information
-* Added user mode +S (client is connected via SSL/TLS). Allows services
+* Added user mode `S` (client is connected via SSL/TLS). Allows services
to keep track of what users are connected via SSL, and allows to see
ssl-status of remote clients in a `WHOIS`
* Fixed a server name leak with server hiding enabled
--- Noteworthy changes in version 8.1.1 (2013-06-06)
-* **IMPORTANT:** moved `disable_remote_command` configuration directive from
- general {} block to serverhide {} block
+#### Noteworthy changes in version 8.1.1 (2013-06-06)
+* Moved `disable_remote_command` configuration directive from general {} block
+ to serverhide {} block
* Minor code cleanups/performance improvements
* Fixed bug where IRC operators could see `LOCOPS` messages even if they don't
- have the +l mode set
+ have the `l` user mode set
* Fixed bug where non-SSL clients could join +S channels on non-SSL servers
* Implemented motd {} configuration blocks. See `doc/reference.conf` for more
information
* `STATS T` shows configured MOTD files
--- Noteworthy changes in version 8.1.0 (2013-05-23)
+#### Noteworthy changes in version 8.1.0 (2013-05-23)
* Minor code cleanups/performance improvements
--- Noteworthy changes in version 8.1.0rc1 (2013-05-19)
+#### Noteworthy changes in version 8.1.0rc1 (2013-05-19)
* Fixed broken spoofs
--- Noteworthy changes in version 8.1.0beta5 (2013-05-15)
+#### Noteworthy changes in version 8.1.0beta5 (2013-05-15)
* Removed `remote`, and `global_kill` oper flags, and added `connect`,
`squit`, and `kill` flags for better fine-tuning instead. Whether or
not a specific action is allowed on a remote server can be controlled
* Improve/cleanup `HELP` system
--- Noteworthy changes in version 8.1.0beta4 (2013-05-09)
-* Implemented channel mode +M. Clients that haven't identified their
+#### Noteworthy changes in version 8.1.0beta4 (2013-05-09)
+* Implemented channel mode `M`. Clients that haven't identified their
name with NickServ may not speak in a channel that has this mode set
* Fixed weird idletimes shown in `TRACE`
-* Added `nononreg` (+R) to `general::oper_umodes`
-* Added user mode +F (can see remote client connect/exit notices)
+* Added `nononreg` (user mode `R`) to `general::oper_umodes`
+* Added user mode `F` (can see remote client connect/exit notices)
--- Noteworthy changes in version 8.1.0beta3 (2013-05-05)
+#### Noteworthy changes in version 8.1.0beta3 (2013-05-05)
* PCRE support has been dropped
* `STATS o` now shows how many times an operator {} block has been used.
Similar to `STATS x|q`
-* Implemented channel mode +c. Known from other ircds, this mode basically
+* Implemented channel mode `c`. Known from other ircds, this mode basically
prevents users from sending messages including control codes to a channel
that has this mode set
* Fixed bug where bans were not checked against non-channel members when
now enabled by default
--- Noteworthy changes in version 8.1.0beta2 (2013-04-28)
+#### Noteworthy changes in version 8.1.0beta2 (2013-04-28)
* Fixed broken compile with libGeoIP disabled
* Code cleanups; working towards stabilization and improved performance
* Removed oper flag `nick_changes`. IRC operators can now set +n at will
* Fixed spoofs not working as expected
--- Noteworthy changes in version 8.1.0beta1 (2013-04-25)
-* **IMPORTANT:** name/channel entries can't be stacked any longer within a
- single resv {} block. Each entry now requires its own resv {} block.
+#### Noteworthy changes in version 8.1.0beta1 (2013-04-25)
+* Name/channel entries can't be stacked any longer within a single resv {}
+ block. Each entry now requires its own resv {} block.
Read `doc/reference.conf` for more details
* Added `resv::exempt` configuration option. Exempt can be either a
ISO 3166 alpha-2 two letter country code, or a nick!user@host mask.
* NICK/JOIN now shows the actual reason of reserved nick-/channelnames
* contrib/ and its content has been enirely removed from the tree
* Added `serverhide::hide_services` configuration option
-* Added `nononreg` (+R) to `oper::umodes` and `general::oper_only_modes`
+* Added `nononreg` (user mode `R`) to `oper::umodes` and `general::oper_only_modes`
* Implemented IRCv3.1 `away-notify` extension
--- Noteworthy changes in version 8.0.9 (2013-05-16)
+#### Noteworthy changes in version 8.0.9 (2013-05-16)
* Fixed bug where ircd would sometimes drop a services link because
of a missing argument to the `SVSMODE` command
* Fixed weird idletimes shown in `TRACE`
--- Noteworthy changes in version 8.0.8 (2013-04-28)
+#### Noteworthy changes in version 8.0.8 (2013-04-28)
* `STATS s` now shows configured services {} blocks as well
* Fixed compile warnings, minor code cleanups and optimizations
* Increased nickname history length to 32768
* Unidentified/unregistered nicks may not speak in +R channels
--- Noteworthy changes in version 8.0.7 (2013-04-12)
+#### Noteworthy changes in version 8.0.7 (2013-04-12)
* Services may now set a channel topic without joining the channel first
* Fixed bug where `WHOIS` would send empty sockhost information on TS5 servers
-* Remote server connection and split notices now go to new user mode +e.
- These previously used user mode +x.
+* Remote server connection and split notices now go to new user mode `e`.
+ These previously used user mode `x`.
* Services may now change the host of a specific user
via `SVSMODE <timestamp> <target> +x <hostname>`
--- Noteworthy changes in version 8.0.6 (2013-01-28)
+#### Noteworthy changes in version 8.0.6 (2013-01-28)
* Fix bug where idle time sometimes is 0 even if the client didn't
send any private message
* Fixed possible core in `try_parse_v4_netmask`
--- Noteworthy changes in version 8.0.5 (2013-01-24)
-* **IMPORTANT:** nick and topic lengths are now configurable via `ircd.conf`.
+#### Noteworthy changes in version 8.0.5 (2013-01-24)
+* Nick and topic lengths are now configurable via `ircd.conf`.
A `max_nick_length`, as well as a `max_topic_length` configuration option
can now be found in the serverinfo {} block
* Fixed build on GNU/Hurd
* Fixed `STATS Y|y` sometimes sending weird sendq/recvq values
* `INFO` now also shows configured values of `disable_fake_channels`,
and `stats_e_disabled`
-* m_webirc.c is now officially supported, and has been moved from contrib/
+* `m_webirc.c` is now officially supported, and has been moved from contrib/
to modules/
* `WHOIS`, `STATS p`, and `TRACE` may now show fake idle times depending
on how the new `class::min_idle` and `class::max_idle` configuration
* The configuration parser now does support `year` and `month` units
--- Noteworthy changes in version 8.0.4 (2013-01-02)
+#### Noteworthy changes in version 8.0.4 (2013-01-02)
* Fixed possible core on `USERHOST`/`ISON` with optimization enabled
* Fixed bug where `can_flood` sometimes didn't work as expected
--- Noteworthy changes in version 8.0.3 (2012-12-24)
+#### Noteworthy changes in version 8.0.3 (2012-12-24)
* Fixed core on `UNDLINE`
* `XLINE`, `KLINE`, `RESV`, `DLINE`, `SQUIT`, and `KILL` now have the
same default reason if no reason has been specified
--- Noteworthy changes in version 8.0.2 (2012-12-20)
+#### Noteworthy changes in version 8.0.2 (2012-12-20)
* Minor updates to the build system
* Fixed broken `--enable-assert` configure switch
* Fixed bug where timed events stopped from working if the system's
* IRC operators may now again see server generated nick rejection notices
--- Noteworthy changes in version 8.0.1 (2012-11-04)
+#### Noteworthy changes in version 8.0.1 (2012-11-04)
* Fixed broken CIDR support for `CHALLENGE` based IRC operator logins
* Fixed class limits not properly applying to operator {} blocks
* Fixed possible `TBURST` desynchronization with services
* Fixed `TBURST` from leaking the server name if it's a hidden server
--- Noteworthy changes in version 8.0.0 (2012-10-18)
+#### Noteworthy changes in version 8.0.0 (2012-10-18)
* Fixed an off-by-one with spoofs. Spoofs are now also checked for
invalid characters
* Removed `general::use_whois_actually` configuration directive.
* Fixed bancache not being updated on `CHGHOST`/`CHGIDENT`
--- Noteworthy changes in version 8.0.0rc1 (2012-09-28)
+#### Noteworthy changes in version 8.0.0rc1 (2012-09-28)
* Removed `general::client_flood` configuration option and added the
new `recvq` configuration directive to class {} blocks.
The max size of a receive queue can be seen in `STATS Y`
* Allow the `[` and `]` characters in server description
--- Noteworthy changes in version 8.0.0beta3 (2012-08-24)
+#### Noteworthy changes in version 8.0.0beta3 (2012-08-24)
* Fixed wrong syntax in several language files
* Removed &localchannels
* `PRIVMSG` to `opers@some.server` is no longer supported
These features are now enabled by default
--- Noteworthy changes in version 8.0.0beta2 (2012-07-21)
+#### Noteworthy changes in version 8.0.0beta2 (2012-07-21)
* `channel::disable_fake_channels` now also disables ascii 29 (mIRC italic)
when set to `yes`
-* Added `channel::max_chans_per_oper` configuration directive. The old way
- was to let IRC operators join three times the amount of max_chans_per_user
+* Added `channel::max_chans_per_oper` configuration directive. The old way was to
+ let IRC operators join three times the amount of `max_chans_per_user`.
* Replaced `MODLOAD`, `MODUNLOAD`, `MODRELOAD`, `MODLIST` and `MODRESTART`
commands with the new `MODULE` command which can be fed with the `LOAD,`
`UNLOAD`, `RELOAD` and `LIST` parameters.
* Channel keys/passwords are now case sensitive
--- Noteworthy changes in version 8.0.0beta1 (2012-05-28)
+#### Noteworthy changes in version 8.0.0beta1 (2012-05-28)
* Implemented full services support, including but not limited to the
following changes:
- Added `SVSNICK`, and `SVSMODE` command handlers
- Added service stamps to `NICK`/`UID` messages
- Added SVS to server capabilities (`CAPAB`). SVS capable servers can
deal with extended `NICK`/`UID` messages that contain service IDs/stamps.
- - Changed rejected client notices to go to new user mode +j. These
- previously used user mode +r.
- - Added user mode +r (registered nick) and channel mode +r (registered channel)
- - Added user mode +R (only registered clients may send a private message)
- - Added channel mode +R (only registered clients may join that channel)
+ - Changed rejected client notices to go to new user mode `j`. These
+ previously used user mode `r`.
+ - Added user mode `r` (registered nick) and channel mode `r` (registered channel)
+ - Added user mode `R` (only registered clients may send a private message)
+ - Added channel mode `R` (only registered clients may join that channel)
- Various services shortcuts have been added (`NS`, `CS`, `NICKSERV`, `CHANSERV`, etc.)
- Added services {} block to `ircd.conf`
- - Added services_name directive to general {} block
+ - Added `services_name` directive to general {} block
- Added `GLOBOPS` mainly for services compatibility, but can be used by IRC operators, too
* Removed `RKLINE` and `RXLINE` commands. Regular expression based bans should
only be added via `ircd.conf`
* Introduced new logging subsystem including log rotation based on
file sizes. Log timestamp format is ISO8601 now
* Added support for remote D-lines
-* Added user mode +H which is basically a replacement for the hidden_admin and
- `hidden_oper` operator flags. With user mode +H, IRC operator status can now
+* Added user mode `H` which is basically a replacement for the `hidden_admin` and
+ `hidden_oper` operator flags. With user mode `H`, IRC operator status can now
be hidden even on remote servers
* Added CIDR support for operator {} blocks
* Removed the servlink program. ircd-hybrid can now make use of
the new `WHO` options and features.
* Clients that are connected via TLS are now flagged with the letter `S` in the
who reply
-
-
-#### Noteworthy changes in version 8.2.40 (2022-07-02)
-* `channel::disable_fake_channels` now also blocks strikethrough text (0x1E (30))
-* `KNOCK` can now be used on private channels. Channel mode `K` may be used instead
- to control whether or not `KNOCK` is allowed on a channel.
-* Support for `/dev/poll` has been dropped
-* `INFO` now also reports configured values of `channel::default_join_flood_count`
- and `channel::default_join_flood_time`
-* The founder `q` and admin `a` channel prefix modes have been implemented.
- These are optional and can be enabled with the new `channel::enable_owner`
- and `channel::enable_admin` configuration directives.
-* Channel half-ops may now kick other half-ops
-* Extban `$K` of type acting has been implemented. This extban prevents
- matching users from using the `KNOCK` command.
-* Server-side channel mode locking `MLOCK` has been implemented
-* Fixed server name leak in `WHOWAS` with `serverhide::hide_services` enabled
-
-
-#### Noteworthy changes in version 8.2.39 (2021-08-14)
-* `hidechans` and `hideidle` may now be set in `general::oper_only_umodes`
-* OpenSSL 3.0 compatibility improvements
-* Fixed crashing issue in the mkpasswd tool with older glibc
-* Fixed issue where the ircd wouldn't listen on both IPv4 and IPv6 ports in
- case only a port but no address has been specified in a listen {} block
-* Fixed a `STATS P` displaying issue with compressed ipv6 loopback/inaddr_any
-
-
-#### Noteworthy changes in version 8.2.38 (2021-01-17)
-* Backwards compatibility mode for ircd-hybrid 8.2.22 and below has been removed
-* Minimum supported version of the Anope IRC services is now 2.0.8
-* Fixed displaying issue with channel `MODE` messages
-* Characters valid for user names (ident) for local clients are now `[A-Za-z0-9._-]`.
- Special characters like ``}|{`^]\[$``, that were allowed previously, are no longer
- valid. Also user names may not begin with `.`, `_`, or `-`.
-* The `general::dots_in_ident` configuration directive has been renamed to
- `general::specials_in_ident` and now covers the `-` and `_` characters in
- addition to `.`
-* Fixed issue with clients connected from IPv6 localhost that, depending on the
- system's `getaddrinfo` implementation, could lead to a crash of remote servers
-
-
-#### Noteworthy changes in version 8.2.37 (2020-12-26)
-* Implemented IRCv3 `CAP 302`
-* Implemented IRCv3 `cap-notify` capability
-* In case a client sends multiple `PASS` messages, ircd only accepts the password
- sent in the first `PASS` message instead of the last one
-* Missing help file for `MONITOR` has been added
-* Fixed slightly off memory count for motds in `STATS z`
-
-
-#### Noteworthy changes in version 8.2.36 (2020-12-04)
-* The old `WATCH` implementation has been replaced with IRCv3.2 `MONITOR`. For this,
- the `general::max_watch` configuration directive has been renamed to
- `general::max_monitor`.
-* User mode `B` has been implemented. Clients with that mode set are marked as a
- bot in both `WHOIS` and `WHO`. This mode can only be set by IRC operators (as
- long as the `bot` directive is set in `general::oper_only_umodes`), servers,
- and services.
- This mode can for example be used to mark HOPM as official network bot.
-
-
-#### Noteworthy changes in version 8.2.35 (2020-11-14)
-* Fixed issue where servers could propagate truncated ban masks during net-join
-
-
-#### Noteworthy changes in version 8.2.34 (2020-11-01)
-* Re-implement backwards compatibility mode for old ircd-hybrid 8.2.23 and below.
- Final removal is scheduled for early 2021.
-* For consistency, the `general::network_desc` configuration directive has been
- renamed to `general::network_description`
-* Server notices that previously have been sent to user modes `f` and `u` are now
- sent to user mode `j` (reject notices) instead. Due to this change, `unauth` and
- `full` have been removed from `general::oper_only_umodes`, `general::oper_umodes`,
- and `operator::umodes`.
-* User mode `b` (bots) has been replaced with `f` (flood). Spam/flood notices are now
- sent to this user mode. For this, `bots` has been removed from
- `general::oper_only_umodes`, `general::oper_umodes`, and `operator::umodes`.
- `flood` has been added instead to these configuration directives.
-* Stricten server/user ID validation. IDs have to be all uppercase everywhere now.
-
-
-#### Noteworthy changes in version 8.2.33 (2020-09-07)
-* Added `client` option to `listener::flags`
-* Added `defer` option to `listener::flags`
-* IRC operators may now use CIDR notation in `WHO`
-
-
-#### Noteworthy changes in version 8.2.32 (2020-08-16)
-* `RESV` couldn't be issued in case no reason has been supplied. This has been fixed.
-* Fixed possible `RPL_WHOISCHANNELS` line truncation of remote replies
-* Extban `$t` of type matching has been implemented. This extban allows matching
- based on TLS protocol version and/or cipher suite
-* Implemented channel mode `K`. `KNOCK` cannot be used on channels with that mode set
-* `STATS ?` is now oper-only
-
-
-#### Noteworthy changes in version 8.2.31 (2020-05-03)
-* macOS compatibility fixes
-* Removed `spoof_notice` from `auth::flags`. With vhosts now this notice doesn't make
- much sense anymore
-* Fixed issue where ban masks might become malformed if set by remote clients/servers
-* Fixed issue with channel mode `c` where high ascii characters can be erroneously
- detected as control characters
-
-
-#### Noteworthy changes in version 8.2.30 (2020-03-01)
-* `QUOTE HELP extban` didn't work because the extban help file hasn't been
- installed properly during `make install`
-* Fixed broken libcrypto detection which caused the ircd not to work with
- OpenSSL under certain circumstances
-* Extban `$n` of type acting has been implemented. This extban prevents
- matching users from changing their nick while in the channel. Users
- with voice or above are not affected.
-* Channel mode `N` has been changed so channel members with `v` (voice) can
- change their nick name as well
-
-
-#### Noteworthy changes in version 8.2.29 (2020-02-19)
-* Extbans have been implemented. Currently supported extbans:
-
- Matching:
-
- * `$a:<account>` Matches users logged into a matching account.
- * `$c:<channel>` Matches users that are on the given channel. An additional
- prefix of either `@`, `%`, or `+` can be specified to test
- for certain channel privileges.
- * `$o:<class>` Matches IRC operators that have joined a class
- matching the mask.
- * `$r:<realname>` Matches users with a matching realname.
- * `$s:<server>` Matches users that are connected to a server matching the mask.
- * `$u:<modes>` Matches users having the specified user modes set or not set.
- * `$z:<certfp>` Matches users having the given TLS certificate fingerprint.
-
- Acting:
-
- * `$j:<banmask>` Prevents matching users from joining the channel.
- * `$m:<banmask>` Blocks messages from matching users. Users with voice
- or above are not affected.
-
- For more details, see `help/extban`.
-* Added `channel::enable_extbans` configuration option. See `doc/reference.conf`
- for more information.
-
-
-#### Noteworthy changes in version 8.2.28 (2020-01-26)
-* Fixed issue with topics set by `TBURST` not being propagated properly to clients
-* Allow IRC operators to search for real hosts in `WHO`
-* Ban/exempt/invex masks are now also tested against realhosts to prevent clients
- from bypassing channel bans by activating a fakehost
-
-
-#### Noteworthy changes in version 8.2.27 (2020-01-22)
-* Experimental support for wolfSSL has been implemented. Minimum supported version is 4.3.0
-* The `--enable-openssl`, `--enable-gnutls` switches, and their disabling counterparts
- `--disable-openssl` and `--disable-gnutls`, have been replaced with the `--with-tls`
- switch which takes one of the following options: `openssl`, `wolfssl`, `gnutls`,
- and `none`.
- If nothing has been specified, configure tries to autodetect in the following order:
- OpenSSL/LibreSSL -> GnuTLS -> wolfSSL.
-* Fixed segfault with GnuTLS/libgmp in case there's no DH parameters file
- defined in `serverinfo::ssl_dh_param_file` or if that file is missing
-* The connection timeout for connect {} blocks can now be configured via
- the `connect::timeout` configuration directive
-* Minimum supported OpenSSL version is 1.1.1 now
-* Minimum supported GnuTLS version is 3.6.5 now
-* Supported TLSv1.3 cipher suites can now be configured explicitely via the
- new `serverinfo::tls_cipher_suites` configuration directive
-* In the serverinfo {} block, the following configuration directives have been renamed:
- `ssl_certificate_file` -> `tls_certificate_file`
- `ssl_dh_param_file` -> `tls_dh_param_file`
- `ssl_dh_elliptic_curve` -> `tls_supported_groups`
- `ssl_cipher_list` -> `tls_cipher_list`
- `ssl_message_digest_algorithm` -> `tls_message_digest_algorithm`
-* In the operator {} block, the following configuration directives have been renamed:
- `ssl_certificate_fingerprint` -> `tls_certificate_fingerprint`
- `ssl_connection_required` -> `tls_connection_required`
-* In the connect {} block, the following configuration directives have been renamed:
- `ssl_cipher_list` -> `tls_cipher_list`
- `ssl_certificate_fingerprint` -> `tls_certificate_fingerprint`
-
-
-#### Noteworthy changes in version 8.2.26 (2019-05-31)
-* The `general::tkline_expire_notices` configuration directive has been
- replaced with user mode `X`. *LINE expiration notices are sent to IRC
- operators with that mode set
-* Fixed issue with `/rehash conf` creating duplicated class entries
- instead of updating existing ones that are already in use
-
-
-#### Noteworthy changes in version 8.2.25 (2019-04-24)
-* The `class::number_per_ip`, `class::max_local` and `class::max_global`
- configuration directives have been replaced with just `class::number_per_ip_local`
- and `class::number_per_ip_global`. The `class::max_local` basically was
- redundant as it had the same functionality as `class::number_per_ip`
-* Adding RESVs with wildcards no longer requires administrator privileges
-* The `general::ignore_bogus_ts` configuration option has been deprecated
-* TLSv1.1 and TLSv1.0 are no longer supported and have been disabled in
- the OpenSSL and GnuTLS module
-* Minimum supported OpenSSL version is 1.0.1f now
-* Minimum supported GnuTLS version is 3.5.8 now
-* The `serverinfo::vhost` and `serverinfo:vhost6` configuration directives have
- been deprecated. If you need to bind a specific address you can specify one
- in the connect {} block
-* The `connect::vhost` configuration directive has been renamed to `connect::bind`
-
-
-#### Noteworthy changes in version 8.2.24 (2018-04-05)
-* Added `STATS s` to show configured pseudo {} blocks
-* Implemented channel mode `N` which prevents users from changing their
- nick while in a channel with that mode set
-* Services clients are now shown with `is a Network Service` in `WHOIS`
-
-
-#### Noteworthy changes in version 8.2.23 (2018-03-26)
-* IRC operators are now able to see a user's resolved hostname in `WHOWAS`,
- and `WHOIS` even if the user has a fakehost/vhost
-* `RPL_WELCOME` now does use the rfc2812 style nick!user@host format
-* Removed rudimentary libgeoip support
-* Added `--enable-efence` switch to allow easy linking with the
- electric fence memory debugger library
-* `JOIN 0` is no longer supported
-* Fixed bug where ircd would not remove `RPL_WHOISOPERATOR` based svstags
- when deoppering
-* Fixed `unknown closes` statistic in `STATS t` showing invalid values sometimes
-
-
-#### Noteworthy changes in version 8.2.22 (2017-03-26)
-* Implemented channel mode `L`. Channels with that mode set can make use of an
- extended ban list size specified with the new `channel::max_bans_large`
- configuraton option. This mode can be set only by IRC operators or servers.
-* Implemented channel mode `u` which hides bmask (+b/+e/+I) lists and mode changes
- to non-chanops everywhere
-* Fixed an issue with `TRACE` where remote servers would reply with `RPL_TRACEUSER`
- numerics containing UIDs
-* `STATS z` now shows simple memory stats of servers linked to the network
-* Added support for remote `ETRACE`
-
-
-#### Noteworthy changes in version 8.2.21 (2016-11-27)
-* The `general::default_floodtime` configuration option has been added
- along with the `SET FLOODTIME` command. These allow to fine-tune the
- message throttling better
-* Fixed an issue with `INVITE` not showing the list of channels the
- sender is invited to
-
-
-#### Noteworthy changes in version 8.2.20 (2016-11-05)
-* `INFO` now shows GnuTLS/OpenSSL library/header versions
-* Added `channel::max_invites` configuration option. See `doc/reference.conf`
- for more information.
-* `INVITE` expirations have been implemented. Expire time can be adjusted with
- the `channel::invite_expire_time` configuration directive
-* `WHOIS` notices to IRC operators have been re-added. User mode `y` (spy) is
- required to see them
-* The maximum line length for motd files has been increased to 320 bytes to
- support multibyte encodings better
-
-
-#### Noteworthy changes in version 8.2.19 (2016-08-21)
-* Fixed a possible server name leak in `WHO` with server hiding enabled
-* `WHO` now allows IRC operators to search by IP address
-* Admins no longer can see IP addresses in `STATS P` with
- `serverhide::hide_server_ips` enabled
-* User mode `n` now shows nick name changes from remote clients, too
-
-
-#### Noteworthy changes in version 8.2.18 (2016-06-22)
-* Fixed an assert when a client sends invalid `LIST` options
-* Fixed invalid memory stats of channel invites in `STATS z`
-
-
-#### Noteworthy changes in version 8.2.17 (2016-04-21)
-* Fixed core on `REHASH CONF` with `general::whowas_history_length`
- set to 0
-* Fixed possible core on `INVITE` with `channel::max_channels` set to 0
-
-
-#### Noteworthy changes in version 8.2.16 (2016-03-20)
-* Added `general::whowas_history_length` configuration option which
- allows to define the maximum length of the `WHOWAS` nickname history
-* Services are now allowed to override `general::min_nonwildcard`,
- and `general::min_nonwildcard_simple` settings
-* Minor updates to help files
-
-
-#### Noteworthy changes in version 8.2.15 (2016-02-24)
-* Added proper support for Raspbian/ARM. Gracias to Beave/2600.net
- for providing a box for testing purposes.
-* Fixed an assert with empty `user = ""` directives in auth {} blocks
-* `STATS z` now shows allocated listeners
-* Fixed bug where `can_flood` auth {} flags did not work on channels
-
-
-#### Noteworthy changes in version 8.2.14 (2016-02-09)
-* Fixed server clustering
-* Major cleanups to the configuration subsystem
-* Improvements to libGeoIP support:
- - Works now with IPv6 addresses
- - Added `libgeoip_database_options`, `libgeoip_ipv4_database_file`,
- and `libgeoip_ipv6_database_file` configuration directives to the
- serverinfo {} block
-* Further improvements to GnuTLS support
-
-
-#### Noteworthy changes in version 8.2.13 (2016-02-02)
-* Implemented support for GnuTLS. Currently ./configure's autodetection
- intentionally prefers OpenSSL over GnuTLS, so OpenSSL detection needs
- to be disabled explicitely by using the `--disable-openssl` switch.
-* Minimum supported GnuTLS version is 3.3.8 now
-* Minimum supported OpenSSL version is 1.0.1d now
-* Added support for remote `REHASH`: `REHASH <server> <option>`
-* Added `rehash:remote` IRC operator privilege flag
-* Added `rehash` type to shared {} blocks
-* Fixed minor memory leak with shared {} and cluster {} blocks
-
-
-#### Noteworthy changes in version 8.2.12 (2016-01-05)
-* Character case mapping is `ascii` now. It is recommended to update all
- servers on the network to prevent possible channel desynchronizations
- and nick name collision kills
-* Added channel mode `T` which forbids `NOTICE` to be sent to a channel
-* Fixed minor `SVSTAG` memory leak
-* Fixed broken `PART` message blocking mechanism
-* ircd now makes use of up to 8 name servers that are specified in
- `/etc/resolv.conf`
-* The `-klinefile`, `-dlinefile`, etc. switches didn't work at all
-* Fixed possible core on ident lookups if ircd is out of file descriptors
-* Far client exit notices (user mode `F`) now show IP addresses, too
-* Made idle time look nicer in `STATS v|p` by using a formatted time string
-* `general::ts_warn_delta`, and `general::ts_max_delta` can be set to 0 now
-
-
-#### Noteworthy changes in version 8.2.11 (2015-11-19)
-* Implemented IRCv3.2 `invite-notify` extension
-* Implemented IRCv3.2 `chghost` extension
-* Added `channel::invite_delay_channel` configuration option
-
-
-#### Noteworthy changes in version 8.2.10 (2015-11-06)
-* The `serverhide::links_delay` configuration directive has been renamed
- to `serverhide::flatten_links_delay`
-* Added `serverhide::flatten_links_file` configuration option
-* Fixed bug where changing `serverhide::flatten_links_delay` on runtime
- would not have any effect
-* mkpasswd (tools): fixed broken bcrypt support on *BSD in conjunction with
- the `-s` and `-l` switches. Dropped MD5, DES and Extended DES support.
-* Removed `CHALLENGE` in favor of ssl certificate fingerprint enabled
- operator {} blocks
-* RSA keys with less than 2048 bits are no longer supported; same applies
- to the DH param file
-* Added missing IRC operator privilege flags to `STATS o`. For a full list
- of flags see `doc/reference.conf`
-
-
-#### Noteworthy changes in version 8.2.9 (2015-09-13)
-* Database files and `links.txt` are now stored in `/var/lib` instead
- of `/etc`, so make sure to move your k/d/x-line database files to
- the new path before (re)starting the ircd
-* The splitmode logic has been removed along with the following
- channel {} block configuration directives:
- `default_split_user_count`, `default_split_server_count`,
- `no_create_on_split`, `no_join_on_split`
-* Added `xline_exempt` to auth {} block flags
-* `serverinfo::sid` is now optional. A unique SID is now automatically
- generated based on the server's name and description
-* Various fixes to the mkpasswd tool
-* If supported by the compiler, ircd-hybrid now compiles with
- `-fstack-protector-strong` instead of `-fstack-protector`
-* Services can now add RESVs (SQLINEs) that have wildcards in it
-* Channel name RESVs are now sanity checked for too broad masks
-* `class::connectfreq` now works properly with values lower than 300 seconds
-* Implemented IRCv3.1 `account-notify` extension
-* The `general::oper_pass_resv` configuration directive has been deprecated
- in favor of the new `join:resv`, and `nick:resv` IRC operator flags.
- See `doc/reference.conf` for more information.
-* Added `resv`, and `unresv` IRC operator flags. Previously, all
- IRC operators were allowed to `RESV` and `UNRESV`, regardless of configured
- privileges.
-* Added `close` to IRC operator flags
-* ircd is using ISO 8601 date and time notation in most places now
-
-
-#### Noteworthy changes in version 8.2.8 (2015-05-10)
-* ircd now rejects remote k-line requests for user@host mask that don't
- have at least `general::min_nonwildcard` non-wildcard characters in it
-* Configuration related server notices are now sent to admins only as
- they potentially could leak passwords and other sensitive data to IRC
- operators that don't have administrator privileges
-* The `GLINE`/`GUNGLINE` commands have been removed. `KLINE` in conjunction
- with cluster {} and/or shared {} blocks is now the recommended
- way to add global user@host mask based server bans
-* Added `dline_min_cidr`, `dline_min_cidr6`, `kline_min_cidr`, and
- `kline_min_cidr6` configuration options to the general {} block
-* Fixed bug where a `REHASH` would clear all X-Lines and RESVs that have
- been set with the `XLINE`/`RESV commands`
-* Fixed broken temporary remote XLINEs
-* The `general::havent_read_conf` configuration directive has been removed
-
-
-#### Noteworthy changes in version 8.2.7 (2015-04-05)
-* Fixed a potential buffer overflow with the `BMASK` inter-server command
-* Fixed undefined behavior in the `HELP` command module which could
- lead to stack corruption
-* Removed useless help files for inter-server commands
-
-
-#### Noteworthy changes in version 8.2.6 (2015-03-29)
-* `INFO` now shows configured values of `max_watch` and `stats_m_oper_only`
-* `WHOWAS` now shows IP addresses to IRC operators
-* Fixed bug that would allow remote clients to bypass the hard
- limit of max `WHOWAS` entries to be returned
-
-
-#### Noteworthy changes in version 8.2.5 (2015-02-24)
-* Fixed core on Mac OSX 10.10 and possibly some other systems when parsing
- the `ircd.conf` with configured pseudo {} blocks
-
-
-#### Noteworthy changes in version 8.2.4 (2015-02-17)
-* Added `SVSTAG` command which services may use to add tags to users which can
- be seen in `WHOIS`
-* Added `oper::whois` configuration option which allows to override the default
- `RPL_WHOISOPERATOR` numeric string shown in `WHOIS`
-* IRC operators may now use +O on a channel even if they are only a half-op
-* Fixed bug where `TOPIC` messages were not n!u@h prefixed in case of `TBURST`
- issued by services clients
-
-
-#### Noteworthy changes in version 8.2.3 (2015-02-11)
-* The following configuration directives have been renamed:
- `max_clients` -> `default_max_clients`
- `join_flood_count` -> `default_join_flood_count`
- `join_flood_time` -> `default_join_flood_time`
-* Fixed bug where `REHASH` would always reset the `MAX`, `JFLOODTIME`, and
- `JFLOODCOUNT` values that have been changed from within IRC via the `SET`
- command
-* Added channel mode `C` which prevents users from sending CTCPs to a channel
-* Fixes to the `NOTICE`/`PRIVMSG` anti-flood logic
-* Allow to disable the `NOTICE`/`PRIVMSG` anti-flood mechanism by setting the
- `general::default_floodcount` configuration option to 0
-* Updated some help files
-* IRC operators may now see certificate fingerprints, user modes and hidden
- channels via `WHOIS` as well. This used to be admin only.
-
-
-#### Noteworthy changes in version 8.2.2 (2015-01-20)
-* Implemented IRCv3.1 `extended-join` extension
-* Channel half-ops can now use `INVITE` as well
-* Fixed broken `make install -jX`
-* `m_opme.c` has been added to `modules/extra`. Can be used on opless channels only.
-* Added `opme` to IRC operator flags
-* Updated several help files
-* The `general::hide_spoof_ips` configuration option has been deprecated
-* The `general::true_no_oper_flood` configuration option has been deprecated.
- IRC operators still can have higher `flood` limits with `no_oper_flood = yes;`
- hoewever, they are no longer allowed to bypass RecvQ limits.
-* Added `general::stats_m_oper_only` configuration option
-* Remote client connection notices (user mode `F`) now do show IP addresses, too
-
-
-#### Noteworthy changes in version 8.2.1 (2014-10-21)
-* Fixed bug where `UNDLINE remote.server IP` did not work as expected
-* Servers are now allowed to add/remove K-/D-/X-lines and RESVs
-* User mode `G` now no longer allows to override user mode `g`
-* Due to potential weakness, TLS session caching and session tickets
- have been disabled
-* Minor improvements to TS6 implementation
-* `WHOWAS` now shows the name of the services account a user was logged in
-
-
-#### Noteworthy changes in version 8.2.0 (2014-08-24)
-* Successful IRC operator logins are now announced globally via `GLOBOPS`
-* Cleanups and improvements to the resolver code
-* Cleanups and improvements to the `poll` I/O event notification support
-* A topic mask can now be specified within the `LIST` options
-* All users may now see channel modes in the `LIST` reply
-* Fixed bug where `NOTICE +#somechan` did allow bypassing resv {} channels,
- or channels that are set +c (no control codes)
-* pseudo {} blocks also known as service aliases have been implemented.
- See `doc/reference.conf` for more information.
-* Removed `general::services_name` configuration option. This is now no
- longer needed.
-
-
-#### Noteworthy changes in version 8.2.0rc2 (2014-08-03)
-* Improved `AWAY` throttling to allow for better fine-tuning. See the
- newly added `away_count` and `away_time` configuration directives
- in the general {} block
-* Support for the `select` I/O event notification has been dropped
-
-
-#### Noteworthy changes in version 8.2.0rc1 (2014-07-20)
-* Miscellaneous code cleanups and stabilization fixes
-* `./configure` now requires OpenSSL 0.9.8o or above in order
- to enable TLS/SSL support
-
-
-#### Noteworthy changes in version 8.2.0beta4 (2014-07-06)
-* Channel halfops are now an integral part of ircd-hybrid and can't be disabled anymore
-* Added flood control for the `INVITE` command. See channel {} block in `reference.conf`
-* Changed flood control logic for the `KNOCK` command. See channel {} block in `reference.conf`
-* `INVITE` without any parameters now shows a list of channels a client is invited to
-* The `OPERWALL` command has been removed. Use `GLOBOPS` instead
-* Added `max_channels` to class {} blocks
-* Added `throttle_count` configuration option to the general {} block
-* Added `ssl_message_digest_algorithm` configuration option to serverinfo {} block.
- See `doc/reference.conf` for more information.
-* Added support for Elliptic Curve Diffie-Hellman (ECDH). Also an elliptic curve can be
- specified via the `serverinfo::ssl_dh_elliptic_curve` configuration option.
-* Removed `ssl_server_method` and `ssl_client_method` configuration options.
- ircd now only allows TLSv1, TLSv1.1 and TLSv1.2 protocols depending
- on the OpenSSL version. SSLv3 is no longer supported.
-
-
-#### Noteworthy changes in version 8.2.0beta3 (2014-05-26)
-* Code cleanups/performance improvements
-
-
-#### Noteworthy changes in version 8.2.0beta2 (2014-05-15)
-* Renamed `general::warn_no_nline` configuration directive to `general::warn_no_connect_block`
-* Fixed bug with `WHOIS` not showing a list of channel names as expected
-* Added user mode `q` which hides idle and signon time in `WHOIS`
-* Added user mode `p` which hides channel list in `WHOIS`
-
-
-#### Noteworthy changes in version 8.2.0beta1 (2014-04-29)
-* TS6 is now mandatory. ircd is no longer backwards compatible with TS5
- and below.
-* `SVSJOIN` and `SVSPART` commands have been added
-* Major code cleanups and refactoring. Improved overall performance
-* `INFO` now also reports `MPATH` (path to main motd (Message of the Day) file)
- and `SPATH` (Path to server executable)
-* Updated several help files
-
-
-#### Noteworthy changes in version 8.1.20 (2014-07-20)
-* Fixed `XLINE` not working as expected
-* Fixed build with LibreSSL which hasn't compression support
-* Miscellaneous stabilization and cosmetical fixes
-* EGD support has been dropped
-
-
-#### Noteworthy changes in version 8.1.19 (2014-07-05)
-* Fixed `EOB` logic for remote servers
-* Fixed bug where IRC operators that have the +g/+G/+R umodes set won't receive
- server notices for remote CONNECT/KLINE/DLINE/XLINE/RESV attempts
-* Sending messages to user@server to local targets is now no longer possible,
- as this was an easy way to bypass +R/+G/+g user modes.
-* Fixed splicode logic so `SPLITNUM` now works as expected
-* Fixed `UNDLINE` not to require the IP address to be prepended with *@
-
-
-#### Noteworthy changes in version 8.1.18 (2014-06-09)
-* Fixed `CAP` issue for certain clients
-* Fixed bug where `STATS p` would show an invalid amount of IRC operators
- in case there are any +H opers
-* IRC operators may now no longer set a channel +O if they are only halfops (%)
-* Channel halfops (%) may now no longer (de)halfop other channel members
-* Channel halfops (%) may now no longer `KICK` other channel halfops
-* Fixed compile warnings; code cleanups
-* Fixed bug where the configuration parser wouldn't truncate the network name
- if `general::network_name` contains spaces
-
-
-#### Noteworthy changes in version 8.1.17 (2014-05-01)
-* Fixed possible `WATCH` core
-* Fixed bug where the configuration parser wouldn't take time units
- into consideration for the `join_flood_time` and `throttle_time`
- configuration options
-* Minor `LIST` optimization
-
-
-#### Noteworthy changes in version 8.1.16 (2014-04-20)
-* Fixed undefined behaviour with `crypt` returning `NULL`
- since glibc2.17 in certain cases
-* Admins may now see all channel members via `WHO #channel`
- regardless of channel mode `s`
-* Fixed corrupted `STATS U` output
-
-
-#### Noteworthy changes in version 8.1.15 (2014-03-29)
-* ircd binary is now again placed into `bin/` instead of `sbin/`
-* mkpasswd in tools/ now defaults to MD5 instead of DES
-* The `USERS` command has been removed
-* Fixed issue with `SVSNICK` where clients self-collided when changing
- just the case of the nick name, i.e. somenick -> SomeNicK
-
-
-#### Noteworthy changes in version 8.1.14 (2014-02-25)
-* WHOWAS now honors `serverhide::disable_remote_commands`
-* Improved TS6 inter-server communication
-* Added `unxline` IRC operator flag
-* Implemented IRCv3.2 `userhost-in-names` extension
-* ircd now allows private RSA keys larger than 2048 bits
-* Fixed bug where signals stopped from working after restarting
- the ircd via SIGINT
-* Fixed bug where certain irc clients could not reconnect via TLS/SSL
-* Fixed long-standing bug where +p channels have been shown
- in the `WHOIS` reply
-
-
-#### Noteworthy changes in version 8.1.13 (2014-01-07)
-* Fixed `EOB` not working for remote servers (resulted in fake direction notices)
-* Fixed remote client connection notices for servers that are
- more than one hop away
-* Fixed bug where the ircd didn't timeout SSL connections that
- haven't finished the SSL handshake
-* Fixed several bugs with server hiding
-* Updated/fixed help files
-* `WHOIS` no longer sends a notice to IRC operators with user mode `y` (spy)
-
-
-#### Noteworthy changes in version 8.1.12 (2013-12-22)
-* `RPL_WHOISMODES` now uses the 379 numeric
-* Serial number is now shown on start up
-* Fixed possible channel mode desynch with services
-* Fixed TS6 support with `LOCOPS`
-* Minor code cleanups
-* Fixed file descriptor leak with empty help files
-* Fixed issue with `WEBIRC` where hostnames were not validated
-
-
-#### Noteworthy changes in version 8.1.11 (2013-12-06)
-* Administrators may now see channel modes in `LIST`
-* Fixed compile error on BSD systems when building with `kqueue`
-
-
-#### Noteworthy changes in version 8.1.10 (2013-11-25)
-* Fixed bug with `kqueue` where it occasionally dropped updates
-* Changed `WHOIS` to show certificate fingerprint to administrators only
-* The `WHO` reply now shows if a nickname has been registered
- with NickServ. (`r` status flag)
-* Fixed some flaws with server hiding
-* Fixed bug where `STATS P` would leak ip addresses to remotely connected
- administrators, even if `serverhide::hide_server_ips` was set to `yes`
-* Added `SVSKILL` command
-
-
-#### Noteworthy changes in version 8.1.9 (2013-11-08)
-* Added user mode `W`. Users connected via a webirc gateway get this
- mode set by servers.
-* `WHOIS` now shows if a client is connected via a webirc gateway
-* Administrators may now see +s channels a user is in with `WHOIS`.
- Secret channels are prepended with a tilde in the `WHOIS` reply.
-* Administrators are now able to see all the user modes a user has
- set via `WHOIS`
-
-
-#### Noteworthy changes in version 8.1.8 (2013-10-25)
-* Fixed bug that could lead to a desynchronized nick database
- throughout the entire network if using services enforced
- nick names (`SVSNICK`)
-* Cleaned up/modernized build system
-* Add `-fstack-protector` to `CFLAGS` if available. Basically checks for
- buffer overflows/stack-smashing attacks
-* When using anope 1.9/2.0 services, `WHOIS` now shows the account name
- of a registered/identified client (numeric 330)
-* Administrators can now see +s channels in the `LIST` reply
-
-
-#### Noteworthy changes in version 8.1.7 (2013-08-18)
-* Fixed issue with channel mode `n` having no functionality at all
-* Fixed SSL certificate fingerprint validation for outgoing server connects
-* Updated several documentation files
-
-
-#### Noteworthy changes in version 8.1.6 (2013-08-02)
-* Fixed possible core with empty motd files
-
-
-#### Noteworthy changes in version 8.1.5 (2013-07-16)
-* Fixed bug that would prevent servers from linking together
- if `connect::aftype` isn't set
-
-
-#### Noteworthy changes in version 8.1.4 (2013-07-05)
-* Added `xline` and `resv` logging types. See `doc/reference.conf`
- for more information
-* Fixed bug where remote `STATS` requests were not rate limited
-* Fixed core with empty `auth::spoof` entries
-* Increased oper/auth/connect password length limit from 20 to 128
-* Minor fixes to nickflood control code
-
-
-#### Noteworthy changes in version 8.1.3 (2013-06-23)
-* Fixed possible core on `STATS z`
-* Revised `doc/reference.conf`
-* Fixed broken `--disable-libgeoip` switch
-
-
-#### Noteworthy changes in version 8.1.2 (2013-06-20)
-* Added `general::cycle_on_host_change` configuration option
-* Added `general::stats_u_oper_only` configuration option
-* Added support for SHA-256 ssl certificate fingerprint based operator {}
- and connect {} blocks.
- In conjunction with Anope 1.9/2.0 IRC-services, clients are now also able
- to automatically identify for their nick with ssl certificate
- fingerprints
-* Added `operator::ssl_connection_required` configuration option. See
- `doc/reference.conf` for more information
-* Added user mode `S` (client is connected via SSL/TLS). Allows services
- to keep track of what users are connected via SSL, and allows to see
- ssl-status of remote clients in a `WHOIS`
-* Fixed a server name leak with server hiding enabled
-
-
-#### Noteworthy changes in version 8.1.1 (2013-06-06)
-* Moved `disable_remote_command` configuration directive from general {} block
- to serverhide {} block
-* Minor code cleanups/performance improvements
-* Fixed bug where IRC operators could see `LOCOPS` messages even if they don't
- have the `l` user mode set
-* Fixed bug where non-SSL clients could join +S channels on non-SSL servers
-* Implemented motd {} configuration blocks. See `doc/reference.conf` for more
- information
-* `STATS T` shows configured MOTD files
-
-
-#### Noteworthy changes in version 8.1.0 (2013-05-23)
-* Minor code cleanups/performance improvements
-
-
-#### Noteworthy changes in version 8.1.0rc1 (2013-05-19)
-* Fixed broken spoofs
-
-
-#### Noteworthy changes in version 8.1.0beta5 (2013-05-15)
-* Removed `remote`, and `global_kill` oper flags, and added `connect`,
- `squit`, and `kill` flags for better fine-tuning instead. Whether or
- not a specific action is allowed on a remote server can be controlled
- by appending the `:remote` flag. For example: `kill` allows only local
- clients to be killed, whereas `kill:remote` allows to issue a `KILL` for
- remote clients
-* Added `locops` and `wallops` to IRC operator flags
-* Improve/cleanup `HELP` system
-
-
-#### Noteworthy changes in version 8.1.0beta4 (2013-05-09)
-* Implemented channel mode `M`. Clients that haven't identified their
- name with NickServ may not speak in a channel that has this mode set
-* Fixed weird idletimes shown in `TRACE`
-* Added `nononreg` (user mode `R`) to `general::oper_umodes`
-* Added user mode `F` (can see remote client connect/exit notices)
-
-
-#### Noteworthy changes in version 8.1.0beta3 (2013-05-05)
-* PCRE support has been dropped
-* `STATS o` now shows how many times an operator {} block has been used.
- Similar to `STATS x|q`
-* Implemented channel mode `c`. Known from other ircds, this mode basically
- prevents users from sending messages including control codes to a channel
- that has this mode set
-* Fixed bug where bans were not checked against non-channel members when
- sending messages to a channel
-* Removed `channel::quiet_on_ban` configuration option. This feature is
- now enabled by default
-
-
-#### Noteworthy changes in version 8.1.0beta2 (2013-04-28)
-* Fixed broken compile with libGeoIP disabled
-* Code cleanups; working towards stabilization and improved performance
-* Removed oper flag `nick_changes`. IRC operators can now set +n at will
-* Fixed shared {} blocks not working as expected
-* Fixed spoofs not working as expected
-
-
-#### Noteworthy changes in version 8.1.0beta1 (2013-04-25)
-* Name/channel entries can't be stacked any longer within a single resv {}
- block. Each entry now requires its own resv {} block.
- Read `doc/reference.conf` for more details
-* Added `resv::exempt` configuration option. Exempt can be either a
- ISO 3166 alpha-2 two letter country code, or a nick!user@host mask.
- CIDR is supported
-* Removed `channel::restrict_channels` configuration option
-* Preliminary libGeoIP support. Currently only used for exempt entries
- in resv {} blocks
-* Improved WEBIRC authentication; added `webirc` to `auth::flags`.
- A `webirc.` spoof is now no longer required
-* Implemented new memory pool allocator which basically is based upon Tor's
- mempool allocator for Tor cells
-* Implemented new binary database storage for X-, D-, K-, G-Lines and RESVs.
- Temporary bans are now stored as well and will persist after a reboot
-* Channel based resv {} blocks may now contain wildcards
-* NICK/JOIN now shows the actual reason of reserved nick-/channelnames
-* contrib/ and its content has been enirely removed from the tree
-* Added `serverhide::hide_services` configuration option
-* Added `nononreg` (user mode `R`) to `oper::umodes` and `general::oper_only_modes`
-* Implemented IRCv3.1 `away-notify` extension
-
-
-#### Noteworthy changes in version 8.0.9 (2013-05-16)
-* Fixed bug where ircd would sometimes drop a services link because
- of a missing argument to the `SVSMODE` command
-* Fixed weird idletimes shown in `TRACE`
-
-
-#### Noteworthy changes in version 8.0.8 (2013-04-28)
-* `STATS s` now shows configured services {} blocks as well
-* Fixed compile warnings, minor code cleanups and optimizations
-* Increased nickname history length to 32768
-* Unidentified/unregistered nicks may not speak in +R channels
-
-
-#### Noteworthy changes in version 8.0.7 (2013-04-12)
-* Services may now set a channel topic without joining the channel first
-* Fixed bug where `WHOIS` would send empty sockhost information on TS5 servers
-* Remote server connection and split notices now go to new user mode `e`.
- These previously used user mode `x`.
-* Services may now change the host of a specific user
- via `SVSMODE <timestamp> <target> +x <hostname>`
-
-
-#### Noteworthy changes in version 8.0.6 (2013-01-28)
-* Fix bug where idle time sometimes is 0 even if the client didn't
- send any private message
-* Fixed possible core in `try_parse_v4_netmask`
-
-
-#### Noteworthy changes in version 8.0.5 (2013-01-24)
-* Nick and topic lengths are now configurable via `ircd.conf`.
- A `max_nick_length`, as well as a `max_topic_length` configuration option
- can now be found in the serverinfo {} block
-* Fixed build on GNU/Hurd
-* Fixed log files not getting reopened after `REHASH`
-* Improved logging of configuration file issues
-* `ircd.pid` has been accidentally saved in `/var` instead of `/var/run`
-* Linux RT signal support for notification of socket events has been dropped
-* Fixed `STATS Y|y` sometimes sending weird sendq/recvq values
-* `INFO` now also shows configured values of `disable_fake_channels`,
- and `stats_e_disabled`
-* `m_webirc.c` is now officially supported, and has been moved from contrib/
- to modules/
-* `WHOIS`, `STATS p`, and `TRACE` may now show fake idle times depending
- on how the new `class::min_idle` and `class::max_idle` configuration
- directives have been configured. This feature basically works in the
- same way as it does in csircd
-* The configuration parser now does support `year` and `month` units
-
-
-#### Noteworthy changes in version 8.0.4 (2013-01-02)
-* Fixed possible core on `USERHOST`/`ISON` with optimization enabled
-* Fixed bug where `can_flood` sometimes didn't work as expected
-
-
-#### Noteworthy changes in version 8.0.3 (2012-12-24)
-* Fixed core on `UNDLINE`
-* `XLINE`, `KLINE`, `RESV`, `DLINE`, `SQUIT`, and `KILL` now have the
- same default reason if no reason has been specified
-
-
-#### Noteworthy changes in version 8.0.2 (2012-12-20)
-* Minor updates to the build system
-* Fixed broken `--enable-assert` configure switch
-* Fixed bug where timed events stopped from working if the system's
- clock is running backwards
-* `STATS q|Q` now shows how many times a resv {} block has been matched
-* Fixed contributed `WEBIRC` module
-* IRC operators may now again see server generated nick rejection notices
-
-
-#### Noteworthy changes in version 8.0.1 (2012-11-04)
-* Fixed broken CIDR support for `CHALLENGE` based IRC operator logins
-* Fixed class limits not properly applying to operator {} blocks
-* Fixed possible `TBURST` desynchronization with services
-* Fixed `TBURST` from leaking the server name if it's a hidden server
-
-
-#### Noteworthy changes in version 8.0.0 (2012-10-18)
-* Fixed an off-by-one with spoofs. Spoofs are now also checked for
- invalid characters
-* Removed `general::use_whois_actually` configuration directive.
- This is now enabled by default
-* Minor `SQUIT` handling fixes
-* Fixed bancache not being updated on `CHGHOST`/`CHGIDENT`
-
-
-#### Noteworthy changes in version 8.0.0rc1 (2012-09-28)
-* Removed `general::client_flood` configuration option and added the
- new `recvq` configuration directive to class {} blocks.
- The max size of a receive queue can be seen in `STATS Y`
- for each class
-* Allow the `[` and `]` characters in server description
-
-
-#### Noteworthy changes in version 8.0.0beta3 (2012-08-24)
-* Fixed wrong syntax in several language files
-* Removed &localchannels
-* `PRIVMSG` to `opers@some.server` is no longer supported
-* Fixed bug that could lead to topic desynchronization
-* Removed `serverhide::disable_hidden` configuration option
-* Dropped ircd-hybrid-6 `GLINE` compatibility mode
-* Removed `use_invex`, `use_except` and `use_knock` configuration options.
- These features are now enabled by default
-
-
-#### Noteworthy changes in version 8.0.0beta2 (2012-07-21)
-* `channel::disable_fake_channels` now also disables ascii 29 (mIRC italic)
- when set to `yes`
-* Added `channel::max_chans_per_oper` configuration directive. The old way was to
- let IRC operators join three times the amount of `max_chans_per_user`.
-* Replaced `MODLOAD`, `MODUNLOAD`, `MODRELOAD`, `MODLIST` and `MODRESTART`
- commands with the new `MODULE` command which can be fed with the `LOAD,`
- `UNLOAD`, `RELOAD` and `LIST` parameters.
- `MODRESTART` has been entirely removed. Use `MODULE RELOAD *` to reload
- all modules
-* Added back server notice when a client tries to obtain a reserved nick name
-* Removed `OMOTD` module
-* Added `set` to IRC operator privilege flags. Gives access to the `SET` command
-* Improved TS6 support
-* Channel keys/passwords are now case sensitive
-
-
-#### Noteworthy changes in version 8.0.0beta1 (2012-05-28)
-* Implemented full services support, including but not limited to the
- following changes:
- - Added `SVSNICK`, and `SVSMODE` command handlers
- - Added service stamps to `NICK`/`UID` messages
- - Added SVS to server capabilities (`CAPAB`). SVS capable servers can
- deal with extended `NICK`/`UID` messages that contain service IDs/stamps.
- - Changed rejected client notices to go to new user mode `j`. These
- previously used user mode `r`.
- - Added user mode `r` (registered nick) and channel mode `r` (registered channel)
- - Added user mode `R` (only registered clients may send a private message)
- - Added channel mode `R` (only registered clients may join that channel)
- - Various services shortcuts have been added (`NS`, `CS`, `NICKSERV`, `CHANSERV`, etc.)
- - Added services {} block to `ircd.conf`
- - Added `services_name` directive to general {} block
- - Added `GLOBOPS` mainly for services compatibility, but can be used by IRC operators, too
-* Removed `RKLINE` and `RXLINE` commands. Regular expression based bans should
- only be added via `ircd.conf`
-* Added `globops`, `restart`, `dline`, `undline` and `module` IRC operator privilege flags.
- Read `doc/reference.conf` for further explanation of what these flags control
-* Removed Idle-time klines
-* Cleaned up modules API. Old modules won't work anymore
-* Removed `general::burst_away` configuration directive. `AWAY` bursts are now
- controlled via `connect::flags` explicitly
-* Introduced new logging subsystem including log rotation based on
- file sizes. Log timestamp format is ISO8601 now
-* Added support for remote D-lines
-* Added user mode `H` which is basically a replacement for the `hidden_admin` and
- `hidden_oper` operator flags. With user mode `H`, IRC operator status can now
- be hidden even on remote servers
-* Added CIDR support for operator {} blocks
-* Removed the servlink program. ircd-hybrid can now make use of
- SSL/TLS for inter-server communication.
- NOTE: compressed server links are of course still available, but a SSL/TLS
- connection is required, as compression is now handled via OpenSSL
-* Removed `ssl_server_protocol` configuration directive and
- added `ssl_client_method` and `ssl_server_method` instead.
- Both of these options can now be changed at runtime
-* IRC operator login IDs are no longer limited to `NICKLEN*2`
-* Removed `channel::burst_topicwho` configuration option. This feature is now
- enabled by default
-* `STATS Y|y` now reports CIDR limits as well
-* Added `m_webirc.c` to `contrib/`
-* Overall code cleanup and speed improvements