Skip to content

0.20.0 - Dotnet Core Migration

Compare
Choose a tag to compare
@xforever1313 xforever1313 released this 19 Jul 21:35
· 195 commits to master since this release

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