--- ircd-hybrid-8/NEWS 2012/10/17 20:52:55 1573 +++ ircd-hybrid/trunk/NEWS 2020/10/28 18:56:54 9684 @@ -1,97 +1,924 @@ --- ircd-hybrid-8.0.0 Release Notes -o) Fixed an off-by-one with spoofs. Spoofs are now also checked for - invalid characters. -o) Removed general::use_whois_actually configuration directive. This is - now enabled by default -o) Minor SQUIT handling fixes - - --- ircd-hybrid-8rc1 Release Notes -o) 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 -o) A server's description can again include the '[' and ']' characters - - --- ircd-hybrid-8beta3 Release Notes -o) Fixed wrong syntax of several language files -o) &localchannels have been removed -o) /messaging opers@some.server is no longer supported -o) Fixed bug that would possibly lead to a topic desynchronization -o) Removed serverhide::disable_hidden configuration option -o) Dropped ircd-hybrid-6 GLINE compatibility mode -o) use_invex, use_except and use_knock configuration options - have been removed. These features are now enabled by default - - --- ircd-hybrid-8beta2 Release Notes -o) channel::disable_fake_channels now also disables ascii 29 (mIRC italic) - when set to yes -o) Added channel::max_chans_per_oper configuration directive. The old way - was to let ircops join three times the amount of max_chans_per_user -o) 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 -o) Added back server notice when a client tries to obtain a reserved nick name -o) Removed OMOTD module -o) Added 'set' to operator privilege flags. Gives access to the "SET" command -o) Improved TS6 support -o) Channel keys/passwords are now case sensitive - - --- ircd-hybrid-8beta1 Release Notes -o) Implemented full services support. Among other things, the following changes - have been done for this: - - 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. - - Usermode +r (registered nick) has been added, as well as - channelmode +r (registered channel) - - Now that usermode +r has a different function than before, rejected - client notices now go to new usermode +j - - Various services shortcuts have been added (/NS, /CS, /NICKSERV, /CHANSERV, etc.) - - Added channelmode +R (only registered clients may join that channel) - - Added usermode +R (only registered clients may send a private message) - - Added services{} block to ircd.conf - - Added services_name directive to general{} block - - Added GLOBOPS mainly for services compatibility, but can be used by operators, too -o) RKLINE and RXLINE commands have been removed. Regular expression based - bans should only be added via ircd.conf -o) Added 'globops', 'restart', 'dline', 'undline' and 'module' operator privilege flags. - Read doc/example.conf for further explanation of what these flags - are supposed to be doing -o) Idle-time klines have been removed -o) Cleaned up modules API. Old modules won't work anymore -o) Remove general::burst_away configuration directive. AWAY bursts are now - controlled via connect::flags explicitly -o) Introduced new logging subsystem including log rotation based on - file sizes. Log timestamp format is ISO8601 now -o) Added support for remote D-lines -o) Added usermode +H which is basically a replacement for the hidden_admin and - hidden_oper operator flags. With usermode +H, irc operator status can now - be hidden even on remote servers -o) Added CIDR support for operator{} blocks -o) The servlink program has been removed. 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 the OpenSSL library -o) 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 -o) Oper login IDs are no longer limited to NICKLEN*2 -o) Removed channel::burst_topicwho configuration option. Topicsetters are - now sent by default -o) "STATS Y|y" now reports CIDR limits as well -o) Added m_webirc.c to contrib/ -o) Overall code cleanup and speed improvements +-- Noteworthy changes in version 8.2.34 (2020-??-??) +* 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 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. + + +-- 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 + + +-- 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 +* For a full list of all changes in this release, see + + +-- 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 +* For a full list of all changes in this release, see + + +-- 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 can change + their nick name as well +* For a full list of all changes in this release, see + + +-- Noteworthy changes in version 8.2.29 (2020-02-19) +* Extbans have been implemented. Currently supported extbans: + + Matching: + + * `$a:` Matches users logged into a matching account. + * `$c:` Matches users that are on the given channel. An additional + prefix of either @, %, or + can be specified to test for + certain channel privileges. + * `$o:` Matches IRC operators that have joined a class + matching the mask. + * `$r:` Matches users with a matching realname. + * `$s:` Matches users that are connected to a server matching the mask. + * `$u:` Matches users having the specified user modes set or not set. + * `$z:` Matches users having the given TLS certificate fingerprint. + + Acting: + + * `$j:` Prevents matching users from joining the channel. + * `$m:` 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. +* For a full list of all changes in this release, see + + +-- 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 + + +-- 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` +* For a full list of all changes in this release, see + + +-- 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 + + +-- 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` +* For a full list of all changes in this release, see + + +-- 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 + + +-- 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 +* For a full list of all changes in this release, see + + +-- 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` +* For a full list of all changes in this release, see + + +-- 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 + + +-- 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 +* 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 + + +-- 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 opers 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 + + +-- 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 + + +-- 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 + + +-- 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 + + +-- 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 + + +-- 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 +* For a full list of all changes in this release, see + + +-- 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