ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/NEWS
Revision: 9811
Committed: Thu Dec 10 21:47:11 2020 UTC (5 years, 7 months ago) by michael
File size: 46393 byte(s)
Log Message:
- Implemented IRCv3.2 `echo-message` extension

File Contents

# Content
1 -- Noteworthy changes in version 8.2.37 (202?-??-??)
2 * Implemented IRCv3 `CAP 302`
3 * Implemented IRCv3 `cap-notify` capability
4 * Implemented IRCv3.2 `echo-message` capability
5
6
7 -- Noteworthy changes in version 8.2.36 (2020-12-04)
8 * The old WATCH implementation has been replaced with IRCv3.2 MONITOR. For this,
9 the `general::max_watch` configuration directive has been renamed to
10 `general::max_monitor`.
11 * User mode `B` has been implemented. Clients with that mode set are marked as a
12 bot in both `WHOIS` and `WHO`. This mode can only be set by IRC operators (as
13 long as the `bot` directive is set in `general::oper_only_umodes`), servers,
14 and services.
15 This mode can for example be used to mark HOPM as official network bot.
16 * For a full list of all changes in this release, see <https://git.io/JI3fG>
17
18
19 -- Noteworthy changes in version 8.2.35 (2020-11-14)
20 * Fixed issue where servers could propagate truncated ban masks during net-join
21 * For a full list of all changes in this release, see <https://git.io/JIUa6>
22
23
24 -- Noteworthy changes in version 8.2.34 (2020-11-01)
25 * Re-implement backwards compatibility mode for old ircd-hybrid 8.2.23 and below.
26 Final removal is scheduled for early 2021.
27 * For consistency, the `general::network_desc` configuration directive has been
28 renamed to `general::network_description`
29 * Server notices that previously have been sent to user modes +f and +u are now
30 sent to user mode +j (reject notices) instead. Due to this change, `unauth` and
31 `full` have been removed from `general::oper_only_umodes`, `general::oper_umodes`,
32 and `operator::umodes`.
33 * User mode +b (bots) has been replaced with +f (flood). Spam/flood notices are now
34 sent to this user mode. For this, `bots` has been removed from
35 `general::oper_only_umodes`, `general::oper_umodes`, and `operator::umodes`.
36 `flood` has been added instead to these configuration directives.
37 * Stricten server/user ID validation. IDs have to be all uppercase everywhere now.
38 * For a full list of all changes in this release, see <https://git.io/JkeID>
39
40
41 -- Noteworthy changes in version 8.2.33 (2020-09-07)
42 * Added `client` option to `listener::flags`
43 * Added `defer` option to `listener::flags`
44 * IRC operators may now use CIDR notation in `WHO`
45 * For a full list of all changes in this release, see <https://git.io/JTftW>
46
47
48 -- Noteworthy changes in version 8.2.32 (2020-08-16)
49 * `RESV` couldn't be issued in case no reason has been supplied. This has been fixed.
50 * Fixed possible `RPL_WHOISCHANNELS` line truncation of remote replies
51 * Extban $t of type `matching` has been implemented. This extban allows matching
52 based on TLS protocol version and/or cipher suite
53 * Implemented channel mode `K`. `KNOCK` cannot be used on channels with that mode set
54 * `STATS ?` is now oper-only
55 * For a full list of all changes in this release, see <https://git.io/JUZa1>
56
57
58 -- Noteworthy changes in version 8.2.31 (2020-05-03)
59 * macOS compatibility fixes
60 * Removed `spoof_notice` from `auth::flags`. With vhosts now this notice doesn't make
61 much sense anymore
62 * Fixed issue where ban masks might become malformed if set by remote clients/servers
63 * Fixed issue with channel mode +c where high ascii characters can be erroneously
64 detected as control characters
65 * For a full list of all changes in this release, see <https://git.io/JUZa6>
66
67
68 -- Noteworthy changes in version 8.2.30 (2020-03-01)
69 * `QUOTE HELP extban` didn't work because the extban help file hasn't been
70 installed properly during `make install`
71 * Fixed broken libcrypto detection which caused the ircd not to work with
72 OpenSSL under certain circumstances
73 * Extban $n of type `acting` has been implemented. This extban prevents
74 matching users from changing their nick while in the channel. Users
75 with voice or above are not affected.
76 * Channel mode +N has been changed so channel members with +v can change
77 their nick name as well
78 * For a full list of all changes in this release, see <https://git.io/JfOyF>
79
80
81 -- Noteworthy changes in version 8.2.29 (2020-02-19)
82 * Extbans have been implemented. Currently supported extbans:
83
84 Matching:
85
86 * `$a:<account>` Matches users logged into a matching account.
87 * `$c:<channel>` Matches users that are on the given channel. An additional
88 prefix of either @, %, or + can be specified to test for
89 certain channel privileges.
90 * `$o:<class>` Matches IRC operators that have joined a class
91 matching the mask.
92 * `$r:<realname>` Matches users with a matching realname.
93 * `$s:<server>` Matches users that are connected to a server matching the mask.
94 * `$u:<modes>` Matches users having the specified user modes set or not set.
95 * `$z:<certfp>` Matches users having the given TLS certificate fingerprint.
96
97 Acting:
98
99 * `$j:<banmask>` Prevents matching users from joining the channel.
100 * `$m:<banmask>` Blocks messages from matching users. Users with voice
101 or above are not affected.
102
103 For more details, see `help/extban`.
104 * Added `channel::enable_extbans` configuration option. See `doc/reference.conf`
105 for more information.
106 * For a full list of all changes in this release, see <https://git.io/JvgAL>
107
108
109 -- Noteworthy changes in version 8.2.28 (2020-01-26)
110 * Fixed issue with topics set by `TBURST` not being propagated properly to clients
111 * Allow IRC operators to search for real hosts in `WHO`
112 * Ban/exempt/invex masks are now also tested against realhosts to prevent clients
113 from bypassing channel bans by activating a fakehost
114 * For a full list of all changes in this release, see <https://git.io/Jv37M>
115
116
117 -- Noteworthy changes in version 8.2.27 (2020-01-22)
118 * Experimental support for wolfSSL has been implemented. Minimum supported version is 4.3.0
119 * The `--enable-openssl`, `--enable-gnutls` switches, and their disabling counterparts
120 `--disable-openssl` and `--disable-gnutls`, have been replaced with the `--with-tls`
121 switch which takes one of the following options: `openssl`, `wolfssl`, `gnutls`,
122 and `none`.
123 If nothing has been specified, configure tries to autodetect in the following order:
124 OpenSSL/LibreSSL -> GnuTLS -> wolfSSL.
125 * Fixed segfault with GnuTLS/libgmp in case there's no DH parameters file
126 defined in `serverinfo::ssl_dh_param_file` or if that file is missing
127 * The connection timeout for connect{} blocks can now be configured via
128 the `connect::timeout` configuration directive
129 * Minimum supported OpenSSL version is 1.1.1 now
130 * Minimum supported GnuTLS version is 3.6.5 now
131 * Supported TLSv1.3 cipher suites can now be configured explicitely via the
132 new `serverinfo::tls_cipher_suites` configuration directive
133 * In the serverinfo {} block, the following configuration directives have been renamed:
134 `ssl_certificate_file` -> `tls_certificate_file`
135 `ssl_dh_param_file` -> `tls_dh_param_file`
136 `ssl_dh_elliptic_curve` -> `tls_supported_groups`
137 `ssl_cipher_list` -> `tls_cipher_list`
138 `ssl_message_digest_algorithm` -> `tls_message_digest_algorithm`
139 * In the operator {} block, the following configuration directives have been renamed:
140 `ssl_certificate_fingerprint -> `tls_certificate_fingerprint`
141 `ssl_connection_required -> `tls_connection_required`
142 * In the connect {} block, the following configuration directives have been renamed:
143 `ssl_cipher_list -> `tls_cipher_list`
144 `ssl_certificate_fingerprint -> `tls_certificate_fingerprint`
145 * For a full list of all changes in this release, see <https://git.io/Jvq9g>
146
147
148 -- Noteworthy changes in version 8.2.26 (2019-05-31)
149 * The `general::tkline_expire_notices` configuration directive has been
150 replaced with user mode `X`. *LINE expiration notices are sent to IRC
151 operators with that mode set
152 * Fixed issue with `/rehash conf` creating duplicated class entries
153 instead of updating existing ones that are already in use
154 * For a full list of all changes in this release, see <https://git.io/fjEbq>
155
156
157 -- Noteworthy changes in version 8.2.25 (2019-04-24)
158 * The `class::number_per_ip`, `class::max_local` and `class::max_global`
159 configuration directives have been replaced with just `class::number_per_ip_local`
160 and `class::number_per_ip_global`. The `class::max_local` basically was
161 redundant as it had the same functionality as `class::number_per_ip`
162 * Adding RESVs with wildcards no longer requires administrator privileges
163 * The `general::ignore_bogus_ts` configuration option has been deprecated
164 * TLSv1.1 and TLSv1.0 are no longer supported and have been disabled in
165 the OpenSSL and GnuTLS module
166 * Minimum supported OpenSSL version is 1.0.1f now
167 * Minimum supported GnuTLS version is 3.5.8 now
168 * The `serverinfo::vhost` and `serverinfo:vhost6` configuration directives have
169 been deprecated. If you need to bind() a specific address you can specify one
170 in the connect {} block
171 * The `connect::vhost` configuration directive has been renamed to `connect::bind`
172 * For a full list of all changes in this release, see <https://git.io/fjRVk>
173
174
175 -- Noteworthy changes in version 8.2.24 (2018-04-05)
176 * Added `STATS s` to show configured pseudo {} blocks
177 * Implemented channel mode `N` which prevents users from changing their
178 nick while in a channel with that mode set
179 * Services clients are now shown with `is a Network Service` in `WHOIS`
180 * For a full list of all changes in this release, see <https://git.io/fjRVt>
181
182
183 -- Noteworthy changes in version 8.2.23 (2018-03-26)
184 * IRC operators are now able to see a user's resolved hostname in `WHOWAS`,
185 and `WHOIS` even if the user has a fakehost/vhost
186 * `RPL_WELCOME` now does use the rfc2812 style nick!user@host format
187 * Removed rudimentary libgeoip support
188 * Added `--enable-efence` switch to allow easy linking with the
189 electric fence memory debugger library
190 * `JOIN 0` is no longer supported
191 * Fixed bug where ircd would not remove `RPL_WHOISOPERATOR` based svstags
192 when deoppering
193 * Fixed `unknown closes` statistic in `STATS t` showing invalid values sometimes
194 * For a full list of all changes in this release, see <https://git.io/fjRVq>
195
196
197 -- Noteworthy changes in version 8.2.22 (2017-03-26)
198 * Implemented channel mode `L`. Channels with that mode set can make use of an
199 extended ban list size specified with the new `channel::max_bans_large`
200 configuraton option. This mode can be set only by IRC operators or servers.
201 * Implemented channel mode `u` which hides bmask (+b/+e/+I) lists and mode changes
202 to non-chanops everywhere
203 * Fixed an issue with `TRACE` where remote servers would reply with `RPL_TRACEUSER`
204 numerics containing UIDs
205 * `STATS z` now shows simple memory stats of servers linked to the network
206 * Added support for remote `ETRACE`
207 * For a full list of all changes in this release, see <https://git.io/fjRVO>
208
209
210 -- Noteworthy changes in version 8.2.21 (2016-11-27)
211 * The `general::default_floodtime` configuration option has been added
212 along with the `SET FLOODTIME` command. These allow to fine-tune the
213 message throttling better
214 * Fixed an issue with `INVITE` not showing the list of channels the
215 sender is invited to
216 * For a full list of all changes in this release, see <https://git.io/fjRVG>
217
218
219 -- Noteworthy changes in version 8.2.20 (2016-11-05)
220 * `INFO` now shows GnuTLS/OpenSSL library/header versions
221 * Added `channel::max_invites` configuration option. See `doc/reference.conf`
222 for more information.
223 * `INVITE` expirations have been implemented. Expire time can be adjusted with
224 the `channel::invite_expire_time` configuration directive
225 * `WHOIS` notices to IRC operators have been re-added. User mode +y is required
226 to see them
227 * The maximum line length for motd files has been increased to 320 bytes to
228 support multibyte encodings better
229 * For a full list of all changes in this release, see <https://git.io/fjRVZ>
230
231
232 -- Noteworthy changes in version 8.2.19 (2016-08-21)
233 * Fixed a possible server name leak in `WHO` with server hiding enabled
234 * `WHO` now allows IRC operators to search by IP address
235 * Admins no longer can see IP addresses in `STATS P` with
236 `serverhide::hide_server_ips` enabled
237 * User mode `n` now shows nick name changes from remote clients, too
238 * For a full list of all changes in this release, see <https://git.io/fjRVC>
239
240
241 -- Noteworthy changes in version 8.2.18 (2016-06-22)
242 * Fixed an assert when a client sends invalid `LIST` options
243 * Fixed invalid memory stats of channel invites in `STATS z`
244 * For a full list of all changes in this release, see <https://git.io/fjRSx>
245
246
247 -- Noteworthy changes in version 8.2.17 (2016-04-21)
248 * Fixed core on `REHASH CONF` with `general::whowas_history_length`
249 set to 0
250 * Fixed possible core on `INVITE` with `channel::max_channels` set to 0
251 * For a full list of all changes in this release, see <https://git.io/fjRSp>
252
253
254 -- Noteworthy changes in version 8.2.16 (2016-03-20)
255 * Added `general::whowas_history_length` configuration option which
256 allows to define the maximum length of the `WHOWAS` nickname history
257 * Services are now allowed to override `general::min_nonwildcard`,
258 and `general::min_nonwildcard_simple` settings
259 * Minor updates to help files
260 * For a full list of all changes in this release, see <https://git.io/fjRSj>
261
262
263 -- Noteworthy changes in version 8.2.15 (2016-02-24)
264 * Added proper support for Raspbian/ARM. Gracias to Beave/2600.net
265 for providing a box for testing purposes.
266 * Fixed an assert with empty `user = ""` directives in auth {} blocks
267 * `STATS z` now shows allocated listeners
268 * Fixed bug where `can_flood` auth {} flags did not work on channels
269 * For a full list of all changes in this release, see <https://git.io/fjR9v>
270
271
272 -- Noteworthy changes in version 8.2.14 (2016-02-09)
273 * Fixed server clustering
274 * Major cleanups to the configuration subsystem
275 * Improvements to libGeoIP support:
276 - Works now with IPv6 addresses
277 - Added `libgeoip_database_options`, `libgeoip_ipv4_database_file`,
278 and `libgeoip_ipv6_database_file` configuration directives to the
279 serverinfo {} block
280 * Further improvements to GnuTLS support
281 * For a full list of all changes in this release, see <https://git.io/fjR9f>
282
283
284 -- Noteworthy changes in version 8.2.13 (2016-02-02)
285 * Implemented support for GnuTLS. Currently ./configure's autodetection
286 intentionally prefers OpenSSL over GnuTLS, so OpenSSL detection needs
287 to be disabled explicitely by using the `--disable-openssl` switch.
288 * Minimum supported GnuTLS version is 3.3.8 now
289 * Minimum supported OpenSSL version is 1.0.1d now
290 * Added support for remote `REHASH`: `REHASH <server> <option>`
291 * Added `rehash:remote` IRC operator privilege flag
292 * Added `rehash` type to shared {} blocks
293 * Fixed minor memory leak with shared {} and cluster {} blocks
294 * For a full list of all changes in this release, see <https://git.io/fjR9J>
295
296
297 -- Noteworthy changes in version 8.2.12 (2016-01-05)
298 * **IMPORTANT:** Character case mapping is `ascii` now. It is recommended
299 to update all servers on the network to prevent possible channel
300 desynchronizations and nick name collision kills
301 * Added channel mode `T` which forbids `NOTICE` to be sent to a channel
302 * Fixed minor `SVSTAG` memory leak
303 * Fixed broken `PART` message blocking mechanism
304 * ircd now makes use of up to 8 name servers that are specified in
305 `/etc/resolv.conf`
306 * The `-klinefile`, `-dlinefile`, etc. switches didn't work at all
307 * Fixed possible core on ident lookups if ircd is out of file descriptors
308 * Far client exit notices (+F) now show IP addresses, too
309 * Made idle time look nicer in `STATS v|p` by using a formatted time string
310 * `general::ts_warn_delta`, and `general::ts_max_delta` can be set to 0 now
311 * For a full list of all changes in this release, see <https://git.io/JvLtj>
312
313
314 -- Noteworthy changes in version 8.2.11 (2015-11-19)
315 * Implemented IRCv3.2 `invite-notify extension`
316 * Implemented IRCv3.2 `chghost extension`
317 * Added `channel::invite_delay_channel` configuration option
318 * For a full list of all changes in this release, see <https://git.io/JvLqe>
319
320
321 -- Noteworthy changes in version 8.2.10 (2015-11-06)
322 * **IMPORTANT:** renamed `serverhide::links_delay` configuration directive
323 to `serverhide::flatten_links_delay`
324 * Added `serverhide::flatten_links_file` configuration option
325 * Fixed bug where changing `serverhide::flatten_links_delay` on runtime
326 would not have any effect
327 * mkpasswd (tools): fixed broken bcrypt support on *BSD in conjunction with
328 the `-s` and `-l` switches. Dropped MD5, DES and Extended DES support.
329 * Removed `CHALLENGE` in favor of ssl certificate fingerprint enabled
330 operator {} blocks
331 * RSA keys with less than 2048 bits are no longer supported; same applies
332 to the DH param file
333 * Added missing IRC operator privilege flags to `STATS o`. For a full list
334 of flags see `doc/reference.conf`
335 * For a full list of all changes in this release, see <https://git.io/JvLqJ>
336
337
338 -- Noteworthy changes in version 8.2.9 (2015-09-13)
339 * **IMPORTANT:** database files and links.txt are now stored in `/var/lib`
340 instead of `/etc`, so make sure to move your k/d/x-line database files
341 to the new path before (re)starting the ircd
342 * **IMPORTANT:** the splitmode logic has been removed along with the
343 following channel {} block configuration directives:
344 `default_split_user_count`, `default_split_server_count`,
345 `no_create_on_split`, `no_join_on_split`
346 * Added `xline_exempt` to auth {} block flags
347 * `serverinfo::sid` is now optional. A unique SID is now automatically
348 generated based on the server's name and description
349 * Various fixes to the mkpasswd tool
350 * If supported by the compiler, ircd-hybrid now compiles with
351 `-fstack-protector-strong` instead of `-fstack-protector`
352 * Services can now add RESVs (SQLINEs) that have wildcards in it
353 * Channel name RESVs are now sanity checked for too broad masks
354 * `class::connectfreq` now works properly with values lower than 300 seconds
355 * Implemented IRCv3.1 `account-notify` extension
356 * The `general::oper_pass_resv` configuration directive has been deprecated
357 in favor of the new `join:resv`, and `nick:resv` IRC operator flags.
358 See `doc/reference.conf` for more information.
359 * Added `resv`, and `unresv` IRC operator flags. Previously, all
360 IRC operators were allowed to `RESV` and `UNRESV`, regardless of configured
361 privileges.
362 * Added `close` to IRC operator flags
363 * ircd is using ISO 8601 date and time notation in most places now
364 * For a full list of all changes in this release, see <https://git.io/JvLqI>
365
366
367 -- Noteworthy changes in version 8.2.8 (2015-05-10)
368 * ircd now rejects remote k-line requests for user@host mask that don't
369 have at least `general::min_nonwildcard` non-wildcard characters in it
370 * Configuration related server notices are now sent to admins only as
371 they potentially could leak passwords and other sensitive data to IRC
372 operators that don't have administrator privileges
373 * The `GLINE`/`GUNGLINE` commands have been removed. `KLINE` in conjunction
374 with cluster {} and/or shared {} blocks is now the recommended
375 way to add global user@host mask based server bans
376 * Added `dline_min_cidr`, `dline_min_cidr6`, `kline_min_cidr`, and
377 `kline_min_cidr6` configuration options to the general {} block
378 * Fixed bug where a `REHASH` would clear all X-Lines and RESVs that have
379 been set with the `XLINE`/`RESV commands`
380 * Fixed broken temporary remote XLINEs
381 * The `general::havent_read_conf` configuration directive has been removed
382 * For a full list of all changes in this release, see <https://git.io/JvLqq>
383
384
385 -- Noteworthy changes in version 8.2.7 (2015-04-05)
386 * Fixed a potential buffer overflow with the `BMASK` inter-server command
387 * Fixed undefined behavior in the `HELP` command module which could
388 lead to stack corruption
389 * Removed useless help files for inter-server commands
390 * For a full list of all changes in this release, see <https://git.io/JfOyA>
391
392
393 -- Noteworthy changes in version 8.2.6 (2015-03-29)
394 * `INFO` now shows configured values of `max_watch` and `stats_m_oper_only`
395 * `WHOWAS` now shows IP addresses to IRC operators
396 * Fixed bug that would allow remote clients to bypass the hard
397 limit of max `WHOWAS` entries to be returned
398 * For a full list of all changes in this release, see <https://git.io/JTTuf>
399
400
401 -- Noteworthy changes in version 8.2.5 (2015-02-24)
402 * Fixed core on Mac OSX 10.10 and possibly some other systems when parsing
403 the `ircd.conf` with configured pseudo {} blocks
404 * For a full list of all changes in this release, see <https://git.io/JTTuI>
405
406
407 -- Noteworthy changes in version 8.2.4 (2015-02-17)
408 * Added `SVSTAG` command which services may use to add tags to users which can
409 be seen in `WHOIS`
410 * Added `oper::whois` configuration option which allows to override the default
411 `RPL_WHOISOPERATOR` numeric string shown in `WHOIS`
412 * IRC operators may now use +O on a channel even if they are only a half-op
413 * Fixed bug where `TOPIC` messages were not n!u@h prefixed in case of `TBURST`
414 issued by services clients
415 * For a full list of all changes in this release, see <https://git.io/JTTut>
416
417
418 -- Noteworthy changes in version 8.2.3 (2015-02-11)
419 * **IMPORTANT:** the following configuration directives have been renamed:
420 `max_clients` -> `default_max_clients`
421 `join_flood_count` -> `default_join_flood_count`
422 `join_flood_time` -> `default_join_flood_time`
423 * Fixed bug where `REHASH` would always reset the `MAX`, `JFLOODTIME`, and
424 `JFLOODCOUNT` values that have been changed from within IRC via the `SET`
425 command
426 * Added channel mode `C` which prevents users from sending CTCPs to a channel
427 * Fixes to the `NOTICE`/`PRIVMSG` anti-flood logic
428 * Allow to disable the `NOTICE`/`PRIVMSG` anti-flood mechanism by setting the
429 `general::default_floodcount` configuration option to 0
430 * Updated some help files
431 * IRC operators may now see certificate fingerprints, user modes and hidden
432 channels via `WHOIS` as well. This used to be admin only.
433 * For a full list of all changes in this release, see <https://git.io/JTQP3>
434
435
436 -- Noteworthy changes in version 8.2.2 (2015-01-20)
437 * Implemented IRCv3.1 extended-join extension
438 * Channel half-ops can now use `INVITE` as well
439 * Fixed broken `make install -jX`
440 * m_opme.c has been added to modules/extra. Can be used on opless channels only.
441 * Added `opme` to IRC operator flags
442 * Updated several help files
443 * The `general::hide_spoof_ips` configuration option has been deprecated
444 * The `general::true_no_oper_flood` configuration option has been deprecated.
445 IRC operators still can have higher `flood` limits with `no_oper_flood = yes;`
446 hoewever, they are no longer allowed to bypass RecvQ limits.
447 * Added `general::stats_m_oper_only` configuration option
448 * Remote client connection notices (user mode +F) now do show IP addresses, too
449 * For a full list of all changes in this release, see <https://git.io/JTQPG>
450
451
452 -- Noteworthy changes in version 8.2.1 (2014-10-21)
453 * Fixed bug where `UNDLINE remote.server IP` did not work as expected
454 * Servers are now allowed to add/remove K-/D-/X-lines and RESVs
455 * User mode +G now no longer allows to override +g
456 * Due to potential weakness, TLS session caching and session tickets
457 have been disabled
458 * Minor improvements to TS6 implementation
459 * `WHOWAS` now shows the name of the services account a user was logged in
460 * For a full list of all changes in this release, see <https://git.io/JTQP8>
461
462
463 -- Noteworthy changes in version 8.2.0 (2014-08-24)
464 * Successful IRC operator logins are now announced globally via `GLOBOPS`
465 * Cleanups and improvements to the resolver code
466 * Cleanups and improvements to the poll() I/O event notification support
467 * A topic mask can now be specified within the `LIST` options
468 * All users may now see channel modes in the `LIST` reply
469 * Fixed bug where `NOTICE +#somechan` did allow bypassing resv {} channels,
470 or channels that are set +c (no control codes)
471 * pseudo {} blocks also known as service aliases have been implemented.
472 See `doc/reference.conf` for more information.
473 * Removed `general::services_name` configuration option. This is now no
474 longer needed.
475 * For a full list of all changes in this release, see <https://git.io/JTQPR>
476
477
478 -- Noteworthy changes in version 8.2.0rc2 (2014-08-03)
479 * Improved AWAY throttling to allow for better fine-tuning. See the
480 newly added `away_count` and `away_time` configuration directives
481 in the general {} block
482 * Support for the select() I/O event notification has been dropped
483 * For a full list of all changes in this release, see <https://git.io/JkeIF>
484
485
486 -- Noteworthy changes in version 8.2.0rc1 (2014-07-20)
487 * Miscellaneous code cleanups and stabilization fixes
488 * `./configure` now requires OpenSSL 0.9.8o or above in order
489 to enable TLS/SSL support
490 * For a full list of all changes in this release, see <https://git.io/JkeLI>
491
492
493 -- Noteworthy changes in version 8.2.0beta4 (2014-07-06)
494 * **IMPORTANT:** channel halfops are now an integral part of ircd-hybrid
495 and can't be disabled anymore
496 * Added flood control for the `INVITE` command. See channel {} block in `reference.conf`
497 * Changed flood control logic for the `KNOCK` command. See channel {} block in `reference.conf`
498 * `INVITE` without any parameters now shows a list of channels a client is invited to
499 * The `OPERWALL` command has been removed. Use `GLOBOPS` instead
500 * Added `max_channels` to class {} blocks
501 * Added `throttle_count` configuration option to the general {} block
502 * Added `ssl_message_digest_algorithm` configuration option to serverinfo {} block.
503 See `doc/reference.conf` for more information.
504 * Added support for Elliptic Curve Diffie-Hellman (ECDH). Also an elliptic curve can be
505 specified via the `serverinfo::ssl_dh_elliptic_curve` configuration option.
506 * Removed `ssl_server_method` and `ssl_client_method` configuration options.
507 ircd now only allows TLSv1, TLSv1.1 and TLSv1.2 protocols depending
508 on the OpenSSL version. SSLv3 is no longer supported.
509 * For a full list of all changes in this release, see <https://git.io/JkeLO>
510
511
512 -- Noteworthy changes in version 8.2.0beta3 (2014-05-26)
513 * Code cleanups/performance improvements
514 * For a full list of all changes in this release, see <https://git.io/JkeLW>
515
516
517 -- Noteworthy changes in version 8.2.0beta2 (2014-05-15)
518 * **IMPORTANT:** renamed `general::warn_no_nline` configuration directive to
519 `general::warn_no_connect_block`
520 * Fixed bug with `WHOIS` not showing a list of channel names as expected
521 * Added user mode +q which hides idle and signon time in `WHOIS`
522 * Added user mode +p which hides channel list in `WHOIS`
523 * For a full list of all changes in this release, see <https://git.io/JkeLB>
524
525
526 -- Noteworthy changes in version 8.2.0beta1 (2014-04-29)
527 * TS6 is now mandatory. ircd is no longer backwards compatible with TS5
528 and below.
529 * `SVSJOIN` and `SVSPART` commands have been added
530 * Major code cleanups and refactoring. Improved overall performance
531 * `INFO` now also reports `MPATH` (path to main motd (Message of the Day) file)
532 and `SPATH` (Path to server executable)
533 * Updated several help files
534
535
536 -- Noteworthy changes in version 8.1.20 (2014-07-20)
537 * Fixed `XLINE` not working as expected
538 * Fixed build with LibreSSL which hasn't compression support
539 * Miscellaneous stabilization and cosmetical fixes
540 * EGD support has been dropped
541
542
543 -- Noteworthy changes in version 8.1.19 (2014-07-05)
544 * Fixed `EOB` logic for remote servers
545 * Fixed bug where IRC operators that have the +g/+G/+R umodes set won't receive
546 server notices for remote CONNECT/KLINE/DLINE/XLINE/RESV attempts
547 * Sending messages to user@server to local targets is now no longer possible,
548 as this was an easy way to bypass +R/+G/+g user modes.
549 * Fixed splicode logic so `SPLITNUM` now works as expected
550 * Fixed `UNDLINE` not to require the IP address to be prepended with *@
551
552
553 -- Noteworthy changes in version 8.1.18 (2014-06-09)
554 * Fixed `CAP` issue for certain clients
555 * Fixed bug where `STATS p` would show an invalid amount of IRC operators
556 in case there are any +H opers
557 * IRC operators may now no longer set a channel +O if they are only halfops (%)
558 * Channel halfops (%) may now no longer (de)halfop other channel members
559 * Channel halfops (%) may now no longer `KICK` other channel halfops
560 * Fixed compile warnings; code cleanups
561 * Fixed bug where the configuration parser wouldn't truncate the network name
562 if `general::network_name` contains spaces
563
564
565 -- Noteworthy changes in version 8.1.17 (2014-05-01)
566 * Fixed possible `WATCH` core
567 * Fixed bug where the configuration parser wouldn't take time units
568 into consideration for the `join_flood_time` and `throttle_time`
569 configuration options
570 * Minor `LIST` optimization
571
572
573 -- Noteworthy changes in version 8.1.16 (2014-04-20)
574 * Fixed undefined behaviour with crypt() returning `NULL`
575 since glibc2.17 in certain cases
576 * Admins may now see all channel members via `WHO #channel`
577 regardless of channel mode +s
578 * Fixed corrupted `STATS U` output
579
580
581 -- Noteworthy changes in version 8.1.15 (2014-03-29)
582 * **IMPORTANT:** ircd binary is now again placed into `bin/` instead of `sbin/`
583 * mkpasswd in tools/ now defaults to MD5 instead of DES
584 * The `USERS` command has been removed
585 * Fixed issue with `SVSNICK` where clients self-collided when changing
586 just the case of the nick name, i.e. somenick -> SomeNicK
587
588
589 -- Noteworthy changes in version 8.1.14 (2014-02-25)
590 * WHOWAS now honors `serverhide::disable_remote_commands`
591 * Improved TS6 inter-server communication
592 * Added `unxline` IRC operator flag
593 * Implemented IRCv3.2 `userhost-in-names` extension
594 * ircd now allows private RSA keys larger than 2048 bits
595 * Fixed bug where signals stopped from working after restarting
596 the ircd via SIGINT
597 * Fixed bug where certain irc clients could not reconnect via TLS/SSL
598 * Fixed long-standing bug where +p channels have been shown
599 in the `WHOIS` reply
600
601
602 -- Noteworthy changes in version 8.1.13 (2014-01-07)
603 * Fixed `EOB` not working for remote servers (resulted in fake direction notices)
604 * Fixed remote client connection notices for servers that are
605 more than one hop away
606 * Fixed bug where the ircd didn't timeout SSL connections that
607 haven't finished the SSL handshake
608 * Fixed several bugs with server hiding
609 * Updated/fixed help files
610 * `WHOIS` no longer sends a notice to +y operators
611
612
613 -- Noteworthy changes in version 8.1.12 (2013-12-22)
614 * `RPL_WHOISMODES` now uses the 379 numeric
615 * Serial number is now shown on start up
616 * Fixed possible channel mode desynch with services
617 * Fixed TS6 support with `LOCOPS`
618 * Minor code cleanups
619 * Fixed file descriptor leak with empty help files
620 * Fixed issue with `WEBIRC` where hostnames were not validated
621
622
623 -- Noteworthy changes in version 8.1.11 (2013-12-06)
624 * Administrators may now see channel modes in `LIST`
625 * Fixed compile error on BSD systems when building with kqueue()
626
627
628 -- Noteworthy changes in version 8.1.10 (2013-11-25)
629 * Fixed bug with kqueue() where it occasionally dropped updates
630 * Changed `WHOIS` to show certificate fingerprint to administrators only
631 * The `WHO` reply now shows if a nickname has been registered
632 with NickServ. (`r` status flag)
633 * Fixed some flaws with server hiding
634 * Fixed bug where `STATS P` would leak ip addresses to remotely connected
635 administrators, even if `serverhide::hide_server_ips` was set to `yes`
636 * Added `SVSKILL` command
637
638
639 -- Noteworthy changes in version 8.1.9 (2013-11-08)
640 * Added user mode +W. Users connected via a webirc gateway get this
641 mode set by servers.
642 * `WHOIS` now shows if a client is connected via a webirc gateway
643 * Administrators may now see +s channels a user is in with `WHOIS`.
644 Secret channels are prepended with a tilde in the `WHOIS` reply.
645 * Administrators are now able to see all the user modes a user has
646 set via `WHOIS`
647
648
649 -- Noteworthy changes in version 8.1.8 (2013-10-25)
650 * Fixed bug that could lead to a desynchronized nick database
651 throughout the entire network if using services enforced
652 nick names (`SVSNICK`)
653 * Cleaned up/modernized build system
654 * Add `-fstack-protector` to `CFLAGS` if available. Basically checks for
655 buffer overflows/stack-smashing attacks
656 * When using anope 1.9/2.0 services, `WHOIS` now shows the account name
657 of a registered/identified client (numeric 330)
658 * Administrators can now see +s channels in the `LIST` reply
659
660
661 -- Noteworthy changes in version 8.1.7 (2013-08-18)
662 * Fixed issue with channel mode +n having no functionality at all
663 * Fixed SSL certificate fingerprint validation for outgoing server connects
664 * Updated several documentation files
665
666
667 -- Noteworthy changes in version 8.1.6 (2013-08-02)
668 * Fixed possible core with empty motd files
669
670
671 -- Noteworthy changes in version 8.1.5 (2013-07-16)
672 * Fixed bug that would prevent servers from linking together
673 if `connect::aftype` isn't set
674
675
676 -- Noteworthy changes in version 8.1.4 (2013-07-05)
677 * Added `xline` and `resv` logging types. See `doc/reference.conf`
678 for more information
679 * Fixed bug where remote `STATS` requests were not rate limited
680 * Fixed core with empty `auth::spoof` entries
681 * Increased oper/auth/connect password length limit from 20 to 128
682 * Minor fixes to nickflood control code
683
684
685 -- Noteworthy changes in version 8.1.3 (2013-06-23)
686 * Fixed possible core on `STATS z`
687 * Revised `doc/reference.conf`
688 * Fixed broken `--disable-libgeoip` switch
689
690
691 -- Noteworthy changes in version 8.1.2 (2013-06-20)
692 * Added `general::cycle_on_host_change` configuration option
693 * Added `general::stats_u_oper_only` configuration option
694 * Added support for SHA-256 ssl certificate fingerprint based operator {}
695 and connect {} blocks.
696 In conjunction with Anope 1.9/2.0 IRC-services, clients are now also able
697 to automatically identify for their nick with ssl certificate
698 fingerprints
699 * Added `operator::ssl_connection_required` configuration option. See
700 `doc/reference.conf` for more information
701 * Added user mode +S (client is connected via SSL/TLS). Allows services
702 to keep track of what users are connected via SSL, and allows to see
703 ssl-status of remote clients in a `WHOIS`
704 * Fixed a server name leak with server hiding enabled
705
706
707 -- Noteworthy changes in version 8.1.1 (2013-06-06)
708 * **IMPORTANT:** moved `disable_remote_command` configuration directive from
709 general {} block to serverhide {} block
710 * Minor code cleanups/performance improvements
711 * Fixed bug where IRC operators could see `LOCOPS` messages even if they don't
712 have the +l mode set
713 * Fixed bug where non-SSL clients could join +S channels on non-SSL servers
714 * Implemented motd {} configuration blocks. See `doc/reference.conf` for more
715 information
716 * `STATS T` shows configured MOTD files
717
718
719 -- Noteworthy changes in version 8.1.0 (2013-05-23)
720 * Minor code cleanups/performance improvements
721
722
723 -- Noteworthy changes in version 8.1.0rc1 (2013-05-19)
724 * Fixed broken spoofs
725
726
727 -- Noteworthy changes in version 8.1.0beta5 (2013-05-15)
728 * Removed `remote`, and `global_kill` oper flags, and added `connect`,
729 `squit`, and `kill` flags for better fine-tuning instead. Whether or
730 not a specific action is allowed on a remote server can be controlled
731 by appending the `:remote` flag. For example: `kill` allows only local
732 clients to be killed, whereas `kill:remote` allows to issue a `KILL` for
733 remote clients
734 * Added `locops` and `wallops` to IRC operator flags
735 * Improve/cleanup `HELP` system
736
737
738 -- Noteworthy changes in version 8.1.0beta4 (2013-05-09)
739 * Implemented channel mode +M. Clients that haven't identified their
740 name with NickServ may not speak in a channel that has this mode set
741 * Fixed weird idletimes shown in `TRACE`
742 * Added `nononreg` (+R) to `general::oper_umodes`
743 * Added user mode +F (can see remote client connect/exit notices)
744
745
746 -- Noteworthy changes in version 8.1.0beta3 (2013-05-05)
747 * PCRE support has been dropped
748 * `STATS o` now shows how many times an operator {} block has been used.
749 Similar to `STATS x|q`
750 * Implemented channel mode +c. Known from other ircds, this mode basically
751 prevents users from sending messages including control codes to a channel
752 that has this mode set
753 * Fixed bug where bans were not checked against non-channel members when
754 sending messages to a channel
755 * Removed `channel::quiet_on_ban` configuration option. This feature is
756 now enabled by default
757
758
759 -- Noteworthy changes in version 8.1.0beta2 (2013-04-28)
760 * Fixed broken compile with libGeoIP disabled
761 * Code cleanups; working towards stabilization and improved performance
762 * Removed oper flag `nick_changes`. IRC operators can now set +n at will
763 * Fixed shared {} blocks not working as expected
764 * Fixed spoofs not working as expected
765
766
767 -- Noteworthy changes in version 8.1.0beta1 (2013-04-25)
768 * **IMPORTANT:** name/channel entries can't be stacked any longer within a
769 single resv {} block. Each entry now requires its own resv {} block.
770 Read `doc/reference.conf` for more details
771 * Added `resv::exempt` configuration option. Exempt can be either a
772 ISO 3166 alpha-2 two letter country code, or a nick!user@host mask.
773 CIDR is supported
774 * Removed `channel::restrict_channels` configuration option
775 * Preliminary libGeoIP support. Currently only used for exempt entries
776 in resv {} blocks
777 * Improved WEBIRC authentication; added `webirc` to `auth::flags`.
778 A `webirc.` spoof is now no longer required
779 * Implemented new memory pool allocator which basically is based upon Tor's
780 mempool allocator for Tor cells
781 * Implemented new binary database storage for X-, D-, K-, G-Lines and RESVs.
782 Temporary bans are now stored as well and will persist after a reboot
783 * Channel based resv {} blocks may now contain wildcards
784 * NICK/JOIN now shows the actual reason of reserved nick-/channelnames
785 * contrib/ and its content has been enirely removed from the tree
786 * Added `serverhide::hide_services` configuration option
787 * Added `nononreg` (+R) to `oper::umodes` and `general::oper_only_modes`
788 * Implemented IRCv3.1 `away-notify` extension
789
790
791 -- Noteworthy changes in version 8.0.9 (2013-05-16)
792 * Fixed bug where ircd would sometimes drop a services link because
793 of a missing argument to the `SVSMODE` command
794 * Fixed weird idletimes shown in `TRACE`
795
796
797 -- Noteworthy changes in version 8.0.8 (2013-04-28)
798 * `STATS s` now shows configured services {} blocks as well
799 * Fixed compile warnings, minor code cleanups and optimizations
800 * Increased nickname history length to 32768
801 * Unidentified/unregistered nicks may not speak in +R channels
802
803
804 -- Noteworthy changes in version 8.0.7 (2013-04-12)
805 * Services may now set a channel topic without joining the channel first
806 * Fixed bug where `WHOIS` would send empty sockhost information on TS5 servers
807 * Remote server connection and split notices now go to new user mode +e.
808 These previously used user mode +x.
809 * Services may now change the host of a specific user
810 via `SVSMODE <timestamp> <target> +x <hostname>`
811
812
813 -- Noteworthy changes in version 8.0.6 (2013-01-28)
814 * Fix bug where idle time sometimes is 0 even if the client didn't
815 send any private message
816 * Fixed possible core in try_parse_v4_netmask()
817
818
819 -- Noteworthy changes in version 8.0.5 (2013-01-24)
820 * **IMPORTANT:** nick and topic lengths are now configurable via `ircd.conf`.
821 A `max_nick_length`, as well as a `max_topic_length` configuration option
822 can now be found in the serverinfo {} block
823 * Fixed build on GNU/Hurd
824 * Fixed log files not getting reopened after `REHASH`
825 * Improved logging of configuration file issues
826 * `ircd.pid` has been accidentally saved in `/var` instead of `/var/run`
827 * Linux RT signal support for notification of socket events has been dropped
828 * Fixed `STATS Y|y` sometimes sending weird sendq/recvq values
829 * `INFO` now also shows configured values of `disable_fake_channels`,
830 and `stats_e_disabled`
831 * m_webirc.c is now officially supported, and has been moved from contrib/
832 to modules/
833 * `WHOIS`, `STATS p`, and `TRACE` may now show fake idle times depending
834 on how the new `class::min_idle` and `class::max_idle` configuration
835 directives have been configured. This feature basically works in the
836 same way as it does in csircd
837 * The configuration parser now does support `year` and `month` units
838
839
840 -- Noteworthy changes in version 8.0.4 (2013-01-02)
841 * Fixed possible core on `USERHOST`/`ISON` with optimization enabled
842 * Fixed bug where `can_flood` sometimes didn't work as expected
843
844
845 -- Noteworthy changes in version 8.0.3 (2012-12-24)
846 * Fixed core on `UNDLINE`
847 * `XLINE`, `KLINE`, `RESV`, `DLINE`, `SQUIT`, and `KILL` now have the
848 same default reason if no reason has been specified
849
850
851 -- Noteworthy changes in version 8.0.2 (2012-12-20)
852 * Minor updates to the build system
853 * Fixed broken `--enable-assert` configure switch
854 * Fixed bug where timed events stopped from working if the system's
855 clock is running backwards
856 * `STATS q|Q` now shows how many times a resv {} block has been matched
857 * Fixed contributed WEBIRC module
858 * IRC operators may now again see server generated nick rejection notices
859
860
861 -- Noteworthy changes in version 8.0.1 (2012-11-04)
862 * Fixed broken CIDR support for `CHALLENGE` based IRC operator logins
863 * Fixed class limits not properly applying to operator {} blocks
864 * Fixed possible `TBURST` desynchronization with services
865 * Fixed `TBURST` from leaking the server name if it's a hidden server
866
867
868 -- Noteworthy changes in version 8.0.0 (2012-10-18)
869 * Fixed an off-by-one with spoofs. Spoofs are now also checked for
870 invalid characters
871 * Removed `general::use_whois_actually` configuration directive.
872 This is now enabled by default
873 * Minor `SQUIT` handling fixes
874 * Fixed bancache not being updated on `CHGHOST`/`CHGIDENT`
875
876
877 -- Noteworthy changes in version 8.0.0rc1 (2012-09-28)
878 * Removed `general::client_flood` configuration option and added the
879 new `recvq` configuration directive to class {} blocks.
880 The max size of a receive queue can be seen in `STATS Y`
881 for each class
882 * Allow the `[` and `]` characters in server description
883
884
885 -- Noteworthy changes in version 8.0.0beta3 (2012-08-24)
886 * Fixed wrong syntax in several language files
887 * Removed &localchannels
888 * `PRIVMSG` to opers@some.server is no longer supported
889 * Fixed bug that could lead to topic desynchronization
890 * Removed `serverhide::disable_hidden` configuration option
891 * Dropped ircd-hybrid-6 `GLINE` compatibility mode
892 * Removed `use_invex`, `use_except` and `use_knock` configuration options.
893 These features are now enabled by default
894
895
896 -- Noteworthy changes in version 8.0.0beta2 (2012-07-21)
897 * `channel::disable_fake_channels` now also disables ascii 29 (mIRC italic)
898 when set to yes
899 * Added `channel::max_chans_per_oper` configuration directive. The old way
900 was to let IRC operators join three times the amount of max_chans_per_user
901 * Replaced `MODLOAD`, `MODUNLOAD`, `MODRELOAD`, `MODLIST` and `MODRESTART`
902 commands with the new `MODULE` command which can be fed with the `LOAD,`
903 `UNLOAD`, `RELOAD` and `LIST` parameters.
904 `MODRESTART` has been entirely removed. Use `MODULE RELOAD *` to reload
905 all modules
906 * Added back server notice when a client tries to obtain a reserved nick name
907 * Removed `OMOTD` module
908 * Added `set` to IRC operator privilege flags. Gives access to the `SET` command
909 * Improved TS6 support
910 * Channel keys/passwords are now case sensitive
911
912
913 -- Noteworthy changes in version 8.0.0beta1 (2012-05-28)
914 * Implemented full services support, including but not limited to the
915 following changes:
916 - Added `SVSNICK`, and `SVSMODE` command handlers
917 - Added service stamps to `NICK`/`UID` messages
918 - Added SVS to server capabilities (`CAPAB`). SVS capable servers can
919 deal with extended `NICK`/`UID` messages that contain service IDs/stamps.
920 - Changed rejected client notices to go to new user mode +j. These
921 previously used user mode +r.
922 - Added user mode +r (registered nick) and channel mode +r (registered channel)
923 - Added user mode +R (only registered clients may send a private message)
924 - Added channel mode +R (only registered clients may join that channel)
925 - Various services shortcuts have been added (`NS`, `CS`, `NICKSERV`, `CHANSERV`, etc.)
926 - Added services {} block to `ircd.conf`
927 - Added services_name directive to general {} block
928 - Added `GLOBOPS` mainly for services compatibility, but can be used by IRC operators, too
929 * Removed `RKLINE` and `RXLINE` commands. Regular expression based bans should
930 only be added via `ircd.conf`
931 * Added `globops`, `restart`, `dline`, `undline` and `module` IRC operator privilege flags.
932 Read `doc/reference.conf` for further explanation of what these flags control
933 * Removed Idle-time klines
934 * Cleaned up modules API. Old modules won't work anymore
935 * Removed `general::burst_away` configuration directive. AWAY bursts are now
936 controlled via `connect::flags` explicitly
937 * Introduced new logging subsystem including log rotation based on
938 file sizes. Log timestamp format is ISO8601 now
939 * Added support for remote D-lines
940 * Added user mode +H which is basically a replacement for the hidden_admin and
941 `hidden_oper` operator flags. With user mode +H, IRC operator status can now
942 be hidden even on remote servers
943 * Added CIDR support for operator {} blocks
944 * Removed the servlink program. ircd-hybrid can now make use of
945 SSL/TLS for inter-server communication.
946 NOTE: compressed server links are of course still available, but a SSL/TLS
947 connection is required, as compression is now handled via OpenSSL
948 * Removed `ssl_server_protocol` configuration directive and
949 added `ssl_client_method` and `ssl_server_method` instead.
950 Both of these options can now be changed at runtime
951 * IRC operator login IDs are no longer limited to NICKLEN*2
952 * Removed `channel::burst_topicwho` configuration option. This feature is now
953 enabled by default
954 * `STATS Y|y` now reports CIDR limits as well
955 * Added `m_webirc.c` to `contrib/`
956 * Overall code cleanup and speed improvements
957
958 --------------------------------------------------------------------------------
959
960 BUG REPORTS: If you run this code and encounter problems, you must report
961 the bug by EMAIL to bugs@ircd-hybrid.org
962 Please include a gdb backtrace and a copy of your config.h and
963 ircd.conf with any report (with passwords and other sensitive
964 information masked).
965
966 DISCUSSION: There is a mailing list for discussion of hybrid issues,
967 including betas. To subscribe, use this link:
968 https://lists.ircd-hybrid.org/mailman/listinfo/hybrid
969 This is the proper place to discuss new features, bugs, etc.
970
971 Questions/comments directed to bugs@ircd-hybrid.org
972
973 Other files recommended for reading: README, INSTALL
974
975 --------------------------------------------------------------------------------
976 $Id$

Properties

Name Value
svn:eol-style native
svn:keywords Id