Releases: eggheads/eggdrop
Eggdrop v1.10.1 ** STABLE **
Well, like every major release such as 1.10.0, there are always some small bugs lingering that we need to take care of, and that is why we work so hard to release a bug fix version as quickly as possible! Just, not quickly this time, because excuses. But finally, we are releasing v1.10.1, which is takes care of, among other things, several major bug fixes you intrepid Eggheads found, mostly in the new Python module!
So, along those lines, yes, Python was not surprisingly a source of some new bugs. We are grateful for the feedback you provided and were able to tidy up the Python module significantly. The .python command now requires the +n flag, similar to the .tcl command; you can restart Eggdrop without a crash when using Python now; and some other small tweaks.
On the new feature front, we were able to slide in some things we couldn't finish in time for 1.10.0, such as a new SCRAM authentication method for SASL (thanks grawity for the inspiration). We also added a new bind for the .chanset command; this allows users to trigger a Tcl proc when a channel setting is changed!
And, like we said above, lots of small bug fixes that you probably wouldn't notice anyway, so we're not going to waste your time on them here. If you're really interested, check out the NEWS file for a full list of fixes.
Come find us in #eggdrop with questions or bug reports, and stay around for the conversation!
Happy compiling,
Eggheads Development Team
Downloads:
Eggdrop v1.10.1: https://ftp.eggheads.org/pub/eggdrop/source/1.10/eggdrop-1.10.1.tar.gz
(SHA256sum: a5cdf7444d781c2ff4f5d0be14202f5d0971e00387181a49b725057fe95312d5)
Signature: https://ftp.eggheads.org/pub/eggdrop/source/1.10/eggdrop-1.10.1.tar.gz.asc
(SHA256sum: ed78a415d27977db1e9638d50f243fe776864c884ac17a51a2cfa9a07819a2f0)
PGP key: https://www.eggheads.org/gpg/eggheads.pub
** Eggdrop v1.10.1 Release Candidate 1 **
Well, like every major release such as 1.10.0, there are always some small bugs lingering that we need to take care of, and that is why we work so hard to release a bug fix version as quickly as possible! Just, not quickly this time, because excuses. But finally, we are releasing v1.10.1 release candidate 1, which is takes care of, among other things, several major bug fixes you intrepid Eggheads found, mostly in the new Python module!
So, along those lines, yes, Python was not surprisingly a source of some new bugs. We are grateful for the feedback you provided and were able to tidy up the Python module significantly. The .python command now requires the +n flag, similar to the .tcl command; you can restart Eggdrop without a crash when using Python now; and some other small tweaks.
On the new feature front, we were able to slide in some things we couldn't finish in time for 1.10.0, such as a new SCRAM authentication method for SASL (thanks grawity for the inspiration). We also added a new bind for the .chanset command; this allows users to trigger a Tcl proc when a channel setting is changed!
And, like we said above, lots of small bug fixes that you probably wouldn't notice anyway, so we're not going to waste your time on them here. If you're really interested, check out the NEWS file for a full list of fixes.
Again, the feedback we received was instrumental to this release- a huge new undertaking like the Python module is a BIG deal, and the community has been wonderful in helping us track down, test, and stamp out bugs. Come find us in #eggdrop with questions or bug reports, and stay around for the conversation! Thank you again, and we look forward to more feedback as we move towards a final 1.10.1 release
*** Eggdrop v1.10.0 STABLE ***
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.
One important "feature" notification for python- we're still struggling to correctly handle the bind table in this version, so if you do a '.rehash', you may find that binds are duplicated. Check out the example script 'greet.py' in the python module directory and look at one possible example on how to code unloading binds after a rehash. And for all your other inquiries, please take a look at the examples in the src/mod/python.mod/scripts directory and documentation in doc/PYTHON for an introduction.
Also, we we know there is not a lot of sample material to pull from like there is from the last (gasp) thirty years of Tcl scripts, @thommey has put together a slightly more advanced script to look at. Check out https://github.com/thommey/eggdrop-github-py for a Python script that interacts with GitHub to announce various GitHub events like Commits, Pull Requests, etc. It is still a work in progress but may serve as a solid foundation to create your own python scripting adventures!
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 was finally released after much anticipation! To the best of our knowledge, these changes make Eggdrop 1.10.0 compliant with Tcl 9. These changes are "under the hood" and are not expected to break existing scripts. The good news though- this should fix the default handling of Emoji and other UTF-8 characters that have previously caused issues with some scripts!
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.
Wow - that's quite the list. 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!
*** Eggdrop v1.10.0 Release Candidate 2 ***
Thanks so much to the community for testing the release candidate! Among a few other small typos and formatting issues, @michaelortmann discovered an issue with how lookups on accountnames are done, @DasBrain found an issue on how we check user records at join, and Village helped us troubleshoot an issue with correctly detecting the Python version. We've seen several people successfully using this release candidate now, and hopefully we'll have a stable release ready to go soon! In the meantime, please checkout this release candidate and give it a good shake-down for any other hidden bugs that remain. Thanks!
*** Eggdrop v1.10.0 Release Candidate 1 ***
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!
Eggdrop Release v1.9.5 *STABLE*
Well, we've done it again- a new stable release for Eggdrop! This is going to be a "bug fix" version- there isn't a whole lot in the way of new user-facing features here, but there has been a LOT of work done "under the hood". We particularly wanted to push this out sooner rather than later in order to address a few bugs that have been popping up lately. As a quick summary of what we covered:
- Updated minimum Tcl version from 8.3 to 8.5. This was done mainly to take advantage of the implementation of dicts in Tcl 8.5. We also have been using dicts since 1.9.0 which means this requirement has been in place for almost two years and just forgot to tell you, But now we have!
- Implemented a workaround to better handle how upstream Tcl parses Emojis by default (A herculean and long-coming effort from thommey)
- Reverted a change to default bind flags that broke some scripts that parse the [binds] Tcl command. The .binds partyline command will still display "*" as the 'any' flag instead of "-".
- Some documentation updates
- Tons of small bug fixes that you probably never would have encountered, and now definitely will not
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 always, thank you to all the Eggheads who continue to use and support the Eggdrop community. We encourage you to join us on Libera in #eggdrop, where you can ask questions, troubleshoot issues, or just generally hang out with other users. Also, we ask that if you enjoy using Eggdrop, please give this repository a star! Thank you for support, and we look forward to the next Eggdrop release.
You can follow development and report bugs on https://github.com/eggheads/eggdrop and/or visit us on #eggdrop on the Libera IRC Network.
Happy compiling,
Eggheads Development Team
Downloads:
-
Eggdrop v1.9.5: https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.5.tar.gz
(SHA256sum: e26918ea8a64d9857579c5b60c661a337f20773edd83086b356525beb581736a) -
Signature: https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.5.tar.gz.asc
(SHA256sum: 798bb1f5d8203adec97627e58c31ceca3172197834763ce40d57e79ee5adb083)
PGP key: https://www.eggheads.org/gpg/eggheads.pub
Thanks for all the help getting us to the 1.9.5 release!
Eggdrop Release v1.9.5 Release Candidate 1
💟 Happy Valentines Day, Eggheads! 💟
We wanted to reaffirm our love for you by giving you this Valentine's Day treat- not quite as delicious as some fine Belgian Chocolates, but it's a pretty close second- a new release candidate for Eggdrop! This is going to be a "bug fix" version- there isn't a whole lot in the way of new user-facing features here, but there has been a LOT of work done "under the hood". We particularly wanted to push this out sooner rather than later in order to address a few bugs that have been popping up lately. As a quick summary of what we covered:
- Updated minimum Tcl version from 8.3 to 8.5. This was done mainly to take advantage of the implementation of dicts in Tcl 8.5. We also have been using dicts since 1.9.0 which means this requirement has been in place for almost two years and just forgot to tell you, But now we have!
- Implemented a workaround to better handle how upstream Tcl parses Emojis by default (A herculean and long-coming effort from thommey)
- Reverted a change to default bind flags that broke some scripts that parse the [binds] Tcl command. The .binds partyline command will still display "*" as the 'any' flag instead of "-".
- Some documentation updates
- Tons of small bug fixes that you probably never would have encountered, and now definitely will not
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.5 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. Thanks for all the help getting us to the 1.9.5 release!
Eggdrop Release v1.9.4 *STABLE*
Ho Ho Ho, Eggheads! 🎅 🎄 🎁
Looks like you got an early Christmas present this year! On the tail of 1.9.3, we're already putting out 1.9.4! We wanted to get this out quickly because, as some of you noticed, we inadvertently moved some internal functionality that affected advanced Tcl scripts. Additionally, we FINALLY tracked down one of our most notorious bug, an issue where an improperly tracked DNS lookup would sometimes cause Eggdrop to stop responding to telnet connections.
One last big addition for 1.9.4: Eggdrop finally has a systemd service installer! @PeGaSuS-Coder contributed a service file that we incorporated into the autobotchk script. To install the service, use the autobotchk script and add simply add the “-systemd” flag to the end of the command. This will install a systemd job that can be controlled with the start, stop, restart, reload, enable, and disable commands (and as we’re trying to point out everywhere we can, the systemd ‘reload’ command will actually run a ‘rehash’ on the Eggdrop, not a reload. Please don’t get confused!). This feature is still considered beta and will possibly/likely change again prior to the next stable release, but this has been a highly-requested item for quite some time and we wanted to provide it to you as quickly as possible.
PLEASE BE AWARE: If you are upgrading an existing instance of Eggdrop, you will need to manually copy autobotck from the source directory into the installation directory (‘make install’ will not overwrite an existing copy).
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 always, thank you to all the Eggheads who continue to use and support the Eggdrop community. We encourage you to join us on Libera in #eggdrop, where you can ask questions, troubleshoot issues, or just generally hang out with other users. Also, we ask that if you enjoy using Eggdrop, please give this repository a star! Thank you for support, and we look forward to the next Eggdrop release.
You can follow development and report bugs on https://github.com/eggheads/eggdrop and/or visit us on #eggdrop on the Libera IRC Network.
Happy compiling,
Eggheads Development Team
Downloads:
-
Eggdrop v1.9.4: https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.4.tar.gz
(SHA256sum: 0c287e37e87b5c189d49c9e5d88f5cc3386c98c07431d3e6033803c1890296d1) -
Signature: https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.4.tar.gz.asc
(SHA256sum: 138ce007e558bfcab9479821b2a71f50842414ebf3c51617ff9570751d630e40)
Eggdrop Release v1.9.4 Release Candidate 1
Greetings, Eggheads!
On the tail of 1.9.3, we're already putting out 1.9.4! We wanted to get this out quickly because, as some of you noticed, we inadvertently moved some internal functionality that affected advanced Tcl scripts. Additionally, we FINALLY tracked down one of our most notorious bug, an issue where an improperly tracked DNS lookup would sometimes cause Eggdrop to stop responding to telnet connections.
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. Thanks for all the help getting us to the 1.9.4 release!
Eggdrop Release v1.9.3 *STABLE*
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!