Skip to content

Releases: xforever1313/Chaskis

0.31.0 - Authentication Changes and Bug Fixes

17 Jan 22:04
Compare
Choose a tag to compare

This release focuses on changes to having the bot authenticate to the IRC server. For example, one can now specify environmental variables for the NickServ password. There are also a variety of bug fixes.

Release Notes

Please note the following breaking changes:

  • nickservpasswordfile is no longer an option in IrcConfig.xml. Please use <nickservpassword method="file">path/to/file</nickservpassword> for equivalent behavior.
  • serverpasswordfile is no longer an option in IrcConfig.xml. Please use <serverpassword method="file">path/to/file</serverpassword> for equivalent behavior.

Chaskis - v0.31.0

  • Allows one to specify the watchdog timeout. Recommended to not tough this value, only used in testing environments.

NickServ Authentication changes

  • #53 - One can specify how to get the NickServ password via Environment Variables. This is the nickservpassword option in IrcConfig.xml.
  • #62 - One can specify the username the password for NickServ is, just in case the bot isn't named NickServ on the server. This is the nickservnick in IrcConfig.xml
  • Once can specify the message to send to NickServ. This is the nickservmessage option in IrcConfig.xml
  • More more details, please see the sample IrcConfig.xml file.

Server Authentication Changes

  • #53 - One can specify how to get the server password username and password via Environment Variables. This is the serverpassword option in IrcConfig.xml.
  • More more details, please see the sample IrcConfig.xml file.

Chaskis.Core - v0.31.0

  • Underlying ReadOnlyIrcConfig removed. This should not impact anyone.
  • Fixed a race condition when creating black-listed channels in the StringParsingQueue.
  • Fixed a bug where a Quit message can NRE
  • Fixed an issue where we could get a repeating ThreadInterruptedException in the string parsing queue, even if it was empty.

Plugin Updates:

HttpServer - v0.2.2

  • Fixed a bug where we can create multiple HttpServer instances.

NewVersionNotifier - v0.2.0

  • #61 - Can now specify which channels to send the notification to in the XML config file.
    If none are specified, all channels get the message.

Downloads

Windows

  • Msi
    • sha256: 41fb4489f3813bcfca84ce5982ffcd91df49efd51aeeedbfdbd04f7fa72262d7
  • Chocolatey
    • Mirror
      • sha256: 49d232ca4cd21b856118680a0bd821ee544eef51ddd96a0d7e7ae1ad284e9a24

Chaskis.Core

  • Nuget
    • Mirror
      • sha256: 8e38c4d41db88377b74fe8a7945de005d76964a35d22b3b32ef0af8977e9a936

Debian

  • Deb
    • sha256: af69ea79de547aa50d1729f3ae04ea8cbbc90c9b818f338e886e83c736a81053

Arch Linux

  • Aur
    • Mirror
    • sha256: 6acc91fa2b7070aaa600fedc466b3025cdc67e39ad631047d0fe574882de594a

Docker

0.30.0 - More Handlers & Bug Fixes

19 Dec 22:33
Compare
Choose a tag to compare

This release of Chaskis mainly focuses on bug fixes and adding more event handler types.

To plugin authors: THERE ARE BREAKING CHANGES TO THE API THIS RELEASE!

Release Notes

Chaskis - v0.30.0

  • #59 - Chaskis.exe and Chaskis.Service.exe now have a Windows Manifest, so if one asks for the current operating system with Environment.OSVersion, they don't get back Windows 8 if running on Windows 10.
  • #36 - Chaskis gracefully exit if a plugin crashes during loading or initing. This also involves removing the "FailOnPluginFailure" argument, and just always have the bot fail.

Chaskis.Core - v0.30.0

There are lots of new handlers this release to hopefully make plugins easier. Some handlers have been removed or split apart. If you have trouble compiling after updating, please reach out, and we'll work through it.

  • #27 - This bug has been plaguing Chaskis since the beginning. We think we finally got it figured out though. Because we separated the watchdog logic from the StringParsingQueue, we should no longer get into a state where the bot connects and disconnects in a loop... hopefully

  • #58 - We can now react to CTCP Version commands, and send out version information, which contains that we are Chaskis and which OS we are running on.

  • #56 - The old "CORE" events such as Disconnecting and Disconnected are no longer "ChaskisEvents" which are annoying to parse in plugins. Rather, each one are now proper classes. So, if you want to know when a bot is Disconnected from a server, create a DisconnectedEventHandler instead of doing the weird song-and-dance to listen to a ChaskisEvent.

  • #57 - Added various "Send" events which get triggered when we are about to send commands to the server. This can be useful if you want to log what commands you are sending. All "Send" events start with "Send", and an example is "SendKickEventHandler"

Plugin Updates:

ConsoleOut - v3.0.0

  • No longer prints out ChaskisEvent XML to the console. You'll need to add your own plugin to do this.
  • Prints out messages we send to the server (not password commands though)

HttpServer - v0.2.1

  • Uses new handlers.

IrcLogger - v0.4.3

  • Uses new handlers.

KarmaBot - v0.5.0

  • Updated LiteDB to the latest version. It is configured to automatically upgrade old LiteDB databases during plugin init.
  • Uses new handlers.

NewVersionNotifier - v0.1.3

  • Uses new handlers.

QuoteBot - v0.5.0

  • Updated LiteDB to the latest version. It is configured to automatically upgrade old LiteDB databases during plugin init.
  • Uses new handlers.

RssBot - v0.5.2

  • #36 - Should no longer crash when an RSS feed 404's upon init. Rather, it will try again later.

UserListBot - v0.3.3

  • Uses new handlers.

WelcomeBot - v0.4.2

  • Uses new handlers.

Downloads

Windows

  • Msi
    • sha256: f606ba1d495f80e52bc5b4b3b47efd3139b8c32c1da8888a2485561e2279a7eb
  • Chocolatey
    • Mirror
      • sha256: 477a356d6874346d5ba065210d722db50e1148d872a61f99eccadc311986b878

Chaskis.Core

  • Nuget
    • Mirror
      • sha256: 94b7d55bad09f5827d27cb3d6c55c2d2ff1c3a37c92477d6292eca015ad0045e

Debian

  • Deb
    • sha256: 47e14daf3f7f0144600489b955469be293358f587270c994c51ad38a39a3ed44

Arch Linux

  • Aur
    • Mirror
    • sha256: eaac93bf07e609fe8a1d94f7b661b929aa16aa1cef1190d2c5a338b4c4adff64

Docker

0.20.0 - Dotnet Core Migration

19 Jul 21:35
Compare
Choose a tag to compare

It took almost a year and a half, but Chaskis 0.20.0 has finally been released! It is 0.20.0 instead of the next version of 0.1X.0 is because there are so many changes, it warrants a massive bump. I don't want to make a 1.0.0 yet since there still is a chance of an API change.

This the biggest change Chaskis has had since its inception, there is a lot to cover in these release notes.

Dotnet Core

  • #52 - Chaskis is now running under Dotnet Core 3.1. This means that the dotnet-core runtime 3.1+ is now required to run Chaskis 0.20.0 or newer. Mono is no longer needed; nor will be supported going forward. All plugins and Chaskis.Core will remain dotnet standard 2.0, and will remain so for the time being.

Regression Testing

  • #54 - Regression testing is no longer FitNesse, but using NUnit. Honestly, FitNesse's Fit or Slim protocol just made things more confusing. Also, it required a dependency on the Java Runtime Environment. This means that Regression tests can now be run from Visual Studio instead of opening a web browser.

Build System

#47 - The build system is now running under Cake instead of SCons. Cake is powered by dotnet and C#, while SCons requires python to be installed. With the removal of SCons, there is one less dependency that needs to be installed to compile Chaskis.

Docker Support

  • #51 - There are now docker images for both Windows, Ubuntu, and Raspbian. The only thing you need to do to use them is bind your Chaskis config on your host machine with the AppData directory in the container. See our Wiki for more information in the future.

  • However, because of how things are designed, if your user is called "ContainerUser" or "containeruser", Chaskis will think it is inside of a Docker Environment, even when it is not.

Chaskis.Service

  • ChaskisService.exe is now Chaskis.Service.exe.
  • #50 - If this exe is executed on Windows or Linux, you can exit it via CTRL+C. Chaskis.exe still exits when any key is entered via STDIN.

DevOps

Ah yes, the buzzword of 2019. There now exists a Jenkins file on my personal server that is used to build, test, and deploy Chaskis across all platforms. This means there is less overhead when deploying, so deploying can happen faster now.

No more Fedora Support for now

No one uses Chaskis on Fedora to my knowledge. If this changes, I can start releasing binaries for Fedora again. Until that happens, though, Ubuntu, Arch Linux, and Docker will be the only Unix platforms that have official support.

And More

This release contains more than just updating to dotnet core, though that is a big part of it. Here is what else got added:

Chaskis.Core - v0.20.0

  • Fixed up the reconnection logic such that the reconnection logic happens on its own thread, not the parsing thread, which was causing some weird issues.
  • #49 - Added a handler for Ctcp Pings.
  • #49 - Added a function that allows one to send Ctcp Pongs
  • #49 - Added a function that allows one to send a NOTICE.
  • #48 - Added the ability for the bot to respond to ACTIONS
  • #48 - Added the ability for the bot to send ACTIONS.

Plugin updates:

HttpServer - 0.2.0

  • #48 - Added the ability to send an ACTION via a POST request.

XmlBot - 0.4.0

  • #13 - Can now allow multiple responses to be chosen. The chosen response is random.

ServerDiagnostics - 1.0.0

  • #48 - All responses are now an action.

Downloads

Windows:

  • Msi
    • sha256: ceddaf271f529468ebef85ce4b0d8aa2618246b68b15076da7f6ca4c27462f1e
  • Chocolatey
    • Mirror
      • sha256: 6a17de78a3da414af997059b23a9c1e509d58bcaaa5d54709920be064a669844

Chaskis.Core:

  • Nuget
    • Mirror
      • sha256: fa7bdcf96baf198875c25877e3b0a524d908c9bc881f82a0dd98427096cd6b11

Debian

  • Debian
    • sha256: 043e8e9449c665c6790d20c8a5f3e4d25c9ff518bc8645389a9429e95614eb2f

Arch Linux

Docker

Chaskis 0.10.1

03 Feb 22:23
Compare
Choose a tag to compare

This release is a hotfix for issue #29. It should hopefully fix an error where the bot can join/rejoin a channel over and over again without stopping. It will also prevent the reader thread from throwing several exceptions.

Downloads:

Chaskis:

Windows:

Linux:

Release Notes:

Chaskis Core (v0.10.1):

  • Fixed #29, which should help with the join/rejoin problem that has been plaguing us.

Chaskis (v0.10.1):

  • Just a version bump.

Plugins

  • None have been changed.

Chaskis 0.10.0 (Beta 10)

19 Jan 22:53
Compare
Choose a tag to compare

This release is the 10th beta of the Chaskis IRC Framework. The major change this release is this release now allows for SSL connections.

Downloads

Chaskis Core:

Chaskis:

Windows:

Linux:

Release Notes:

Chaskis Core (v0.10.0):

  • Enabled optional SSL connections

Chaskis (v0.10.0):

  • IRC Config has been updated to allow for SSL connections. To enable, add the following line in your IrcConfig.xml file inside of the ircbotconfig XML tag:
<usessl>true</usessl>

This value is defaulted to false is not specified. Remember to change your port to an SSL port as well!

Plugins

  • No Changes.

Chaskis 0.9.0 (Beta 9)

12 Nov 03:42
Compare
Choose a tag to compare
Pre-release

This release includes new core updates and a new plugin.

Downloads

Chaskis Core:

Chaskis:

Windows:

Linux:

Release Notes:

Chaskis Core (v0.9.0):

BREAKING CHANGES, PLEASE READ

Because of #34, all IRC handlers now take in a configuration object, instead of several arguments. This means that when creating IRC handlers, you have to create a new object instead of passing in arguments. Although this is annoying to do, it is future-proofing in case we need to add even more things to pass into the handlers. Let's break the change now instead of adding arguments later and having another breaking change.

With #43, Chaskis Core can now send kick commands and add kick handlers as well.

The namespace has been renamed to Chaskis.Core from ChaskisCore.

Chaskis (v0.9.0):

Chaksis.exe had some code clean-up done to them, both to increase code quality, and to work with changes from #34. No behavior has changed.

Plugins

HttpServer (Initial Release, v0.1.0).

This is the first release of the HttpServer plugin. This allows a user to control the bot via HTTP Post requests. View the plugin's readme for more information: https://github.com/xforever1313/Chaskis/blob/master/Chaskis/Plugins/HttpServer/Readme.md

Other

All other plugins have had some code clean-up done to them, both to increase code quality, and to work with changes from #34. No behavior has changed however.

Chaskis 0.8.0 (Beta 8)

18 Aug 21:06
Compare
Choose a tag to compare
Pre-release

This is a small, but important release for Chaskis. This release allows a user to specify a server password (the password that actually allows one to join a server) and a NickServ password (the password that lets the bot keeps its nickname). Note that this release does have some breaking config changes, see below

Downloads

Chaskis Core:

Chaskis:

Windows:

Linux:

Release Notes

ChaskisCore (v0.8.0):

  • Core will now send the server password after connecting if specified
  • Core will now message NickServ after changing its nick name its NickServ password if specified

Chaskis.Service (v0.8.0):

  • Chaskis Service will no longer write to the Windows Event log, it will write to a log file in the Chaskis Root. This is so it is consistent with how it behaves on Linux.

Chaskis (v0.8.0):

BREAKING CHANGES, PLEASE READ!!!

The password tag in IrcConfig.xml (which never worked to begin with...) has been removed. Two new tags have appeared. <nickservpasswordfile> and <serverpasswordfile>. In these tags, specify the file that contains the password (yeah, the password will be in plain text... its the best I can do at the moment...). Chaskis.exe will read the first line of the file and that will be the password it sends to the server. It is highly recommended that you chmod these files to 600, so you can read/write it, but no one else can. See more details in the sample configuration file here

Chaskis 0.7.0 (Beta 7)

13 Aug 03:01
Compare
Choose a tag to compare
Pre-release

This release is perhaps our biggest release yet. This release now uses .NET Standard 2.0 for Chaskis.Core and the plugins. Chaskis.exe and Chaskis.Service.exe now target .NET 4.7.1. You will need to install a newer version of .NET or Mono. This is also the first release that has a Fedora and OpenSUSE build on Copr.

Downloads:

Release Notes:

Chaskis 0.7.0

  • Now targets .NET 4.7.1

Core Updates - V0.7.0

  • Now Targets .NET Standard 2.0.

Plugins:

  • All Plugins now target .NET Standard 2.0. Nothing else of note changed. All plugin's versions have been incremented.

New Version Notifier Plugin - 0.1.0:

  • Initial release of this plugin

Other Notes:

  • Build System has been overhauled. SCons now powers the build system
  • New Regression Tests have been added to ensure accuracy.

Chaskis 0.6.1 (Beta 6)

08 Apr 21:36
Compare
Choose a tag to compare
Pre-release

This new release has various core-level and plugin-level bug fixes in an attempt to prevent the join-rejoin endless loop. As usual for all Beta releases, the 'API' and config files formats are not guaranteed to be the same format in future releases.

Release Notes

Core Updates - v0.6.1

  • HTTP Client's timeout is 10 seconds instead of the default. This means that HTTP requests that take too long will be aborted.
  • Updated error messages to make diagnosing problems easier.

RssBot v0.4.1

  • Fetching an RSS feed now takes place entirely in a background thread, so the StringParsingQueue doesn't get throttled.

UrlBot v0.3.2

  • Fetching a URL now takes place entirely in a background thread, so the StringParsingQueue doesn't get throttled.

Chaskis 0.6.0 (Beta 5)

25 Mar 21:16
Compare
Choose a tag to compare
Pre-release

This new release has various core-level bug fixes in an attempt to prevent the join-rejoin endless loop. As usual for all Beta releases, the 'API' and config files formats are not guaranteed to be the same format in future releases.

Release Notes:

Core Updates - 0.6.0:

  • Updated reconnection logic when the watchdog expires. Hopefully this fixes the never-ending join/rejoin headache we've been dealing with.
  • Added new logo

Plugin Updates:

Irc Logger - 0.3.0:

  • Logging now takes place in an event queue so our parsing thread doesn't get held up when writing to disk.

Url Logger - 0.3.1:

  • Fixed an issue where we weren't able to get the title on some https sites.