Greetings, Eggheads!
We're excited to announce the first release candidate for Eggdrop version 1.9.3 is available for download and testing! 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!
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
As this is an RC, there is still time to find a few bugs that may be hiding; we're depending on you to help us find those last few bugs before we declare 1.9.3 as stable. Please use it and report any bugs you find to https://github.com/eggheads/eggdrop/issues . We plan on leaving this comment period open for several weeks. We raise a hand in salute to the amazing help we've received to get 1.9.3 ready for release!