News Last revised: Jan 24, 2021 _________________________________________________________________ What's new? This file lists major and incompatible changes in Eggdrop versions. You can find the full list of changes in doc/Changes1.9. For support, feel free to visit us on Freenode #eggdrop. For upgrading from a pre-1.6 version of Eggdrop: Read the UPGRADING file. In general, always make a BACKUP of your config and user/chanfile. _________________________________________________________________ Eggdrop v1.9.0: General changes: - Added CAP support, allowing Eggdrop to extend IRC server capabilities - Added support for SASL authentication - Added a BETA threaded DNS capability, enabled with the --enable-tdns configure flag. This allows asynchronus DNS requests similar to the what the current DNS module offers, but using host system capability instead of rewriting it from scratch. Using this means you no longer have to use the DNS module. - Eggdrop can listen on multiple IPs (and ports) now by using multiple instances of the 'listen' command - Added Twitch support - Added support for users that change hosts mid-session, usually associated with authenticating with services (396 raw code and CHGHOST capability). - Added support for the users that change their realname value mid-session (SETNAME capability) - Added the ability for Eggdrop to internally track the away status of an individual, with some limitations. - Added the 'make sslsilent' option that creates an SSL certificate keypair non-interactively, to assist in scripted/automated installs - Differentiate between scripted and server WHOX calls, preventing mangling of channel userlists - The -n flag is no longer required to run Eggdrop in terminal mode; just -t or -c are fine by themselves - Added some checks to flags added via .chattr and .botattr to clearly identify what happens when you add flags that can't co-exist together Botnet changes: - Removed automatic upgrade to TLS-protected botnet links with STARTTLS. Based on user feedback, protecting a botnet link is now at the discretion of the user. Prefixing a port with a '+' will require a TLS connection, otherwise the connection will be in plaintext. A port not prefixed with a + can still be upgraded with STARTTLS, allowing 1.8 bots and scripts to initiate a secure connection, but 1.9.0 bots will not attempt the upgrade. - Added granular userfile sharing flags (bcejnu). Adding these flags can limit userfile sharing to a combination of bans, invites, exempts, channels, users, and ignores (or still the s flag for all these). - No longer try port+1,2,3 when connecting to a botnet port doesn't work the first time Tcl API changes: - Added the RAWT bind, which will (eventually) phase out the RAW bind. Implementing the IRCv3 message-tags capability requires a new way to handle basic IRC messages, and RAWT was added in a way so that a) RAW binds in old scripts still work and b) the RAWT bind can handle messages that either do or do not have message-tags attached - Added the INVT bind, allowing Eggdrop to react to a standard invitation, or the new IRCv3 invite-notify capability - Added the AWY3 bind, allowing Eggdrop to react to the new IRCv3 away-notify capability. - Added the refreshchan command, which refreshes without removing existing channel status information tracked by Eggdrop for users on a channel. - Added the isaway command, which returns if a user is listed by the server as away or not, if using the IRCv3 away-notify capability. If away-notify is not enabled, this command can still be used effectively in conjunction with 'refreshchan w', described above. - Added the hand2nicks command, an alternative to the hand2nick command. hand2nicks returns ALL nicks matching a handle, not just the first one. - Aded the socklist command, an update to the dcclist command. Returns similar info as a Tcl dict, and adds the IP to the information. - Use the system's strftime formatting instead of Eggdrop-provided GNU version/extensions. This could cause formatting differences or errors between systems. To ensure fully portable code, developers should only rely on POSIX-compliant formatting specifiers. - The dcclist command now returns port information and whether or not TLS is in use for that port. This change could affect field-based parsers depending on this command - Added the addserver and delserver command, to *gasp* add and delete a server from Eggdrop's server list - Modified the listen command to accept an optional IP argument. This allows Eggdrop to listen on multiple addresses by using multiple listen commands in the config file or Tcl script. If no IP is specified, 0.0.0.0 is used as default. As a result of this change, the listen-addr command is no longer needed and removed from the config file - Added an optional -channel flag to the end of the is* commands (isban, isexempt, etc). This flag prevents the is* command from checking the global list and returning a '1' when there is no channel-specific case - Added several Tcl commands and binds to enable better interaction with the Twitch gaming service. Because these commands only work with a Twitch server, they are not included in tcl-commands.doc but rather twitch-tcl-commands.doc, located in the doc/ directory. - Limited the expiration for new bans, ignores and exempts to 2000 days. Module changes: - Added the PBKDF2 module, which allows Eggdrop to hash passwords using the PBKDF2 algorithm. This module is a stepping stone to future, more adaptable hashing and encryption implementation. IMPORTANT: PLEASE read doc/PBKDF2 for more information on how to properly use it, you could accidentally render old passwords useless! - Added the twitch module, which allows Eggdrop to connect to the Twitch gaming service. As Twitch offers only a limited subset of standard IRC functionality, be prepared for some commands or scripts to work differently than on a normal IRC server. Please read doc/TWITCH for more information. - Added the ident module, which can automatically interact with a running oidentd service or allow Eggdrop to serve as its own ident server to respond to ident requests during the server connection process. Eggdrop config file changes: - Added additional net-types for freenode, Quakenet, and Rizon (net-type) - Added ability to choose specific SSL/TLS protocols to use (ssl-protocols) - Added ability to allow bots to remain linked if userfile sharing fails (sharefail-unlink) - Changed the method Eggdrop uses to add servers from a {} list to the new addserver command - Removed the listen-addr command. See above; the listen command now accepts an optional IP argument in lieu of using listen-addr - Added the show-uname setting, which allows you to disable the display of uname info for the host system in things like .status ________________________________________________________________________ Copyright (C) 1997 Robey Pointer Copyright (C) 1999 - 2020 Eggheads Development Team