### build
- Build system has been converted to libtool + automake for sanity reasons.
+- The compile date is now set at configure time rather than build time, allowing for
+ reproducible builds. (#148, #149)
+- Support for GNUTLS 3.4 has been added.
### user
- Import the ability to exceed MAXCHANNELS from ircd-seven.
+- Implement IRCv3.2 enhanced capability negotiation (`CAP LS 302`).
+- Implement support for receiving and sending IRCv3 message tags.
+- Implement IRCv3.2 capabilities: (#141)
+ - account-tag
+ - echo-message
+ - invite-notify
+ - sasl
+ - server-time
+- SASL: certificate fingerprints are now always sent to the SASL agent, allowing for
+ the certificate to be used as a second authentication factor.
### oper
- Merge several features from ircd-seven:
- 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.
### 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.
### 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.
+- 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
radix trees, resulting in significant memory savings.
- The block allocator has been disabled and is no longer used.
+- The ratbox client capabilities have been ported to use the ircd capabilities
+ framework, allowing for modules to provide capabilities.
+- Support for restarting ssld has been added. ssld processes which are still
+ 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.
## charybdis-3.5.0