Eggdrop v1.10.0rc1 is released!

Greetings, Eggheads!

After a long year and a half, we have finalized another release of Eggdrop- this one is big enough to warrant rolling over to the next version series, 1.10! What makes it so big, you may ask? We’ll tell you!

By far, the biggest improvement is something people have been asking for a long time- the inclusion of a Python module! Thanks to a herculean effort by thommey, Eggdrop now comes with a Python module that has full access to the existing Tcl API, so it is feature complete. It requires Python >= 3.8 and supports both threads and async Python allowing it run in parallel to Eggdrop. Take a look at the examples in scripts/ and documentation in doc/PYTHON for an introduction.

We also added a new capability called “autoscripts”- by loading autoscripts.tcl in your config file, you can now download, activate, and configure specially-configured Tcl scripts from the partyline. Responding to user feedback that it is hard to find “Tcl scripts that work”, we are working to curate and maintain a repository of commonly-used scripts that can be fully administered from the partyline. Please read doc/AUTOSCRIPTS for all the details and feel free to submit suggestions (and scripts) via #eggdrop on Libera. This is an evolving capability and we welcome your feedback (and bugfinds) on it.

Another big improvement is Eggdrop’s ability to identify users based on their IRC server accounts, not just their hostnames. If Eggdrop is on a server that supports WHOX and the IRCv3 capability of account-tracking and extended-join are enabled, Eggdrop can now use the IRC server account a user is logged into as a basis to do things like trigger Tcl binds and auto-op, etc.

One more small “gotcha” change for compiling- Eggdrop now requires openssl development libraries to be installed by default. If you don’t have openssl and aren’t able to get it installed, you can bypass this check by using ./configure --disable-tls, but of course we don’t recommend this. Other changes include the addition of the IRCv3 userhost-in-names and standard-replies capabilities, added a “hidden-host” EVNT bind type that triggers when the bot’s own host is successfully hidden via the +x usermode, a got-chanlist EVNT bind that runs once Eggdrop finishes getting the member list of a channel when it joins, and some more documentation and tutorials to help.

We’d like to also thank DasBrain for his work updating code to be Tcl 9 compliant. Tcl 9 is currently in beta 3 and will be released “soon” (Eggdrop is very familiar with that timeline). Eggdrop 1.10.0 is compliant with the changes made as of beta 3 and we hope nothing too major will change between now and the stable release, so we should be in good position to be compatible when it does.

Lastly, in an effort to help new users with the install process, we are hosting an installation file at https://geteggdrop.com/install.sh . Running this file will walk a user through the compilation process, starting by checking for required libraries, then compiling and installing Eggdrop, and finally setting up a basic configuration file to use. We’re not quite ready to include it with the core install files yet, but you can easily download it with curl -L geteggdrop.com/install.sh and then run it.

You can read more about all of the enhancements and fixes in the NEWS file included with the source, its a quick read, we promise.

Many thanks to those in the community that continue to contribute new ideas and identify areas for improvement- user feedback is very important to us as we continue to drive development in a direction most useful to our users. We invite everyone to idle in #eggdrop on Libera or, even better, participate in the conversation! Thank you for continuing to make this project so rewarding to both us the developers and the IRC community at large!