X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/b0f5f4007114f080d4e33d3c0567da90e32dc4de..258eb31c9cd77beb34504edb9b6be81e3a2dace3:/NEWS.md diff --git a/NEWS.md b/NEWS.md index 9666a6f2..d8db07a2 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,9 +1,21 @@ # News -This is charybdis 3.6-dev, Copyright (c) 2005-2016 Charybdis team. +This is charybdis 4.1-dev, Copyright (c) 2005-2018 Charybdis team. See LICENSE for licensing details (GPL v2). -## charybdis-3.6-dev +## charybdis-4.1 + +### misc +- SCTP is now supported for server connections (and optionally, user connections) + +## charybdis-4.0.1 + +### server protocol +- SJOIN messages were being constructed in a 1024 byte buffer and truncated to 512 bytes + when sending. This caused channels with more than 50 users to fail to propagate all of + them during a net join. + +## charybdis-4.0 ### build - Build system has been converted to libtool + automake for sanity reasons. @@ -33,20 +45,48 @@ See LICENSE for licensing details (GPL v2). - Implement a channel mode that disallows kicking IRC operators (+M). - Enhance the oper override system, allowing more flexibility and detail in network-wide notices. +- DNS, ident, and blacklist lookups have been moved to a dedicated daemon known + as authd. Some cosmetic changes to blacklist statistics and rejection notices + have resulted. +- An experimental OPM scanner has been added to authd. Plaintext SOCKS4, + SOCKS5, and HTTP CONNECT proxies can be checked for. +- The LOCOPS command has been moved from core to an extension. +- All core modules in charybdis have descriptions, which are shown in MODLIST. +- Suffixes should not be used when doing /MODLOAD, /MODUNLOAD, /MODRELOAD, etc. + +### misc +- Support for WebSocket has been added, use the listen::wsock option to switch + a listener into websocket mode. ### conf - Add the ability to strip color codes from topics unconditionally. +- The obsolete hub option from server info has been removed. ### docs - The documentation has been cleaned up; obsolete files have been purged, and - stuff has been renamed and shuffled around to be more consistent. + files have been renamed and shuffled around to be more consistent. ### code -- irc_dictionary and irc_radixtree stuff is now in librb, prefixed accordingly. - Typedefs have been added for consistency reasons. For example, now you would - write `rb_dictionary *foo` and `RB_DICTIONARY_FOREACH`. -- C99 bools have been added. Don't use ints as simple true/false flags anymore. - Accordingly, the `YES`/`NO` and `TRUE`/`FALSE` macros have been removed. +- `common.h` is gone. Everything useful in it was moved to `ircd_defs.h`. +- `config.h` is gone; the few remaining knobs in it were not for configuration + by mere mortals, and mostly existed as a 2.8 relic. Most of the knobs live in + `defaults.h`, but one is well-advised to stay away unless they know exactly + what they are doing. +- A new module API has been introduced, known as AV2. It includes things such as + module datecodes (to ensure modules don't fall out of sync with the code), + module descriptions, and other fun things. +- Alias and module commands are now in m_alias and m_modules, respectively, and + can be reloaded if need be. For sanity reasons, m_modules is a core module, + and cannot be unloaded. +- irc_dictionary and irc_radixtree related functions are now in librb, and + prefixed accordingly. Typedefs have been added for consistency with existing + data structures. For example, now you would write `rb_dictionary *foo` and + `RB_DICTIONARY_FOREACH`. +- C99 bools are now included and used in the code. Don't use ints as simple true + or false flags anymore. In accordance with this change, the `YES`/`NO` and + `TRUE`/`FALSE` macros have been removed. +- Return types from command handlers have been axed, as they have been useless + for years. - libratbox has been renamed to librb, as we have diverged from upstream long ago. - Almost all 2.8-style hashtable structures have been moved to dictionaries or @@ -58,6 +98,8 @@ See LICENSE for licensing details (GPL v2). servicing clients will remain in use, but not service new connections, and are garbage collected when they are no longer servicing connections. - Support for ratbox-style 'iodebug' hooks has been removed. +- New channel types may be added by modules, see `extensions/chantype_dummy.c` + for a very simple example. ## charybdis-3.5.0