Greetings, Eggheads!
We're excited to announce that Eggdrop version 1.9.3 is now available for download! We patched up a few (embarrassing) compile-time bugs from v1.9.2 that prevented Eggdrop from compiling on some BSD systems, and without TLS libraries present. For sure, no release can be done single handedly- in addition a host of small but important backend updates to code courtesy of mortmann, we focused this release around the first phase of the largest feature update since CAP support- account tracking! And thanks to @eryg-kai for catching (AND FIXING!) an issue with SASL PLAIN authentication when TLS libraries were not present.
First, we have to caveat, account tracking depends on Eggdrop connecting to a server that supports WHOX requests, and can negotiate the extended-join (https://ircv3.net/specs/extensions/extended-join) and account-tracking (https://ircv3.net/specs/extensions/account-notify) capabilities. Without these three features enabled, reliable and fully accurate account tracking is not possible with Eggdrop (or any client!). However, when they ARE enabled, Eggdrop can now detect the service account names that users on channels are logged into (or not logged in at all). This gives way to a whole new host of possibilities for Eggdrop to interact and authenticate users on channels.
For 1.9.3, the focus was integrating foundational storage and Tcl-specific support for account tracking. This means that Eggdrop can now associate a service account name with a handle via the .+account command, track what users on a channel are currently logged into service accounts, and use the Tcl interface to query handles to obtain associated accounts. Once we ensure this capability is stable and properly implemented, the next version of Eggdrop plans to integrate full account support into the core Eggdrop functionality- this means Eggdrop will be able to perform functions like auto-op, auto-voice, flood control, etc based on if the account name of a user in a channel matches the account name associated to a handle stored on the bot (in addition to continuing the use of the current host-based matching method). Tcl commands such as nick2hand will also be updated to use service account information as a method to correlate online users to handles stored by Eggdrop.
We didn't want to limit this release to features you can just count on one hand- we also introduced the ability to custom-name timers created by the Tcl timer and utimer commands, and added the function "accounttracking" that checks if all the features necessary to support account tracking are present and enabled, to make scripts utilizing account tracking easier to write. Finally, we fixed a 'feature' in the uptime module that caused it to cache the IP resolved for the uptime hostname- this caused a large number of Eggdrops to fall off the uptime contest page after an infrastructure change until their next restart, and we deeply regret this happened.
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!