]> jfr.im git - solanum.git/blobdiff - NEWS.md
strcpy: mass-migrate to strlcpy where appropriate
[solanum.git] / NEWS.md
diff --git a/NEWS.md b/NEWS.md
index 9666a6f2d6cb06f59d098b74ec88f9efde7b3a40..39275a59df0bfadaaadf4bb06de4b9f3758d7fc9 100644 (file)
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,9 +1,9 @@
 # News
 
-This is charybdis 3.6-dev, Copyright (c) 2005-2016 Charybdis team.
+This is charybdis 4-dev, Copyright (c) 2005-2016 Charybdis team.
 See LICENSE for licensing details (GPL v2).
 
-## charybdis-3.6-dev
+## charybdis-4
 
 ### build
 - Build system has been converted to libtool + automake for sanity reasons.
@@ -33,20 +33,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