strimertul-website/content/releases/v3.0.0-beta.1.md

4.5 KiB

tag title date prerelease
v3.0.0-beta.1 v3.0.0-beta.1 2022-11-25T18:38:05Z true

This is a beta release!

Things still need ironing out, documentation is very outdated, you know the drill! Feel free to try it out and report any issue though! Since some of the remaining works is related to CI building, I can only provide Windows amd64 binaries, apologies!

Release notes

First beta of v3! This marks a huge step forward for strimertul, in particular because:

Strimertul is now a GUI app

Something that's unusual (but not unheard of) is that strimertul is a command line application with a WebUI, but really should just be a GUI app. My personal experience with web development made the web ui much easier to develop with and I wasn't going to do Electron because of the many issues it brings (big file sizes, big memory usage, unpatched chromiums, etc.) however Wails strikes a perfect balance by using the OS' internal renderer (so if you're on Windows, that means Edge).

Builds should be light and snappy, please report back if that is not the case for you!

Twitch integration with EventSub websocket

Ever since v1, the biggest hurdle to my plan of "single self-hosted .exe for all your streaming needs" was that EventSub, Twitch's event subscription service for notifications/alerts, required a publicly reacheable HTTP URL for the webhook transport, while a promised websockets transport was under development. This was solved by moving part of the logic on a hosted server but it was less than ideal.

I tried experimenting with ngrok and cloudflare ARGO tunnels but I couldn't come up with a satisfying solution.

Strimertul v3 uses the websocket transport (via beta endpoint, Twitch has not announced general availability for websocket eventsub yet at the time of writing) and is therefore fully autonomous!

🦀 BadgerDB is gone 🦀

An endless stream of headaches and first-time use issues, BadgerDB was my first choice for a database and my biggest regret so far. I've been using Pebble (the alternative database) for almost a year with no issues and I think it's time to tell this mammal goodbye!

If you need to migrate, run the following command in a Command prompt with strimertul v2:

.\strimertul_windows_amd64.exe -export > exported.json

check that exported.json is a correctly looking JSON file, move your data (or whatever database directory you are using) somewhere else, then run this command on strimertul v3:

.\strimertul.exe import -f exported.json

and you should be good to go!

Changelog

Removed

  • Stulbe support has been nuked across the board, see on Added for more notes
  • Badger has been removed as a possible database, see v3 release notes on migration procedures.

Added

  • Added support for EventSub Websocket subscriptions on Twitch, making Twitch integration fully in-app without having to rely on third party servers. Check the "Events" tab in Twitch configuration for setting it up. The new keys for redeems are twitch/ev/eventsub-event and twitch/eventsub-history. History has been reduced to 50 to alleviate memory concerns.
  • Application logs are now visible from the UI, check the little floating boxes in the top right!

Changed

  • Strimertul is now a GUI app using Wails
  • The UI has been more tightly integrated with the underlying service meaning the kilovolt password will never be asked again
  • Database operations (import/export/restore) are now done through a much nicer CLI interface rather than random flags, check strimertul --help for more info on usage.
  • Changed behavior of database submodule to always return an empty key instead of NotExist errors.

Fixed

  • Fixed game command not working when the specified channel contained the @ symbol at the beginning.
  • Fixed strimertul crashing at start if the database folder didn't exist and a database driver was not manually specified
  • Fixed strimertul crashing after a minute of being open if Twitch was not configured.

Downloads

This release was originally published on GitHub and converted, you can find the original release here: v3.0.0-beta.1 on GitHub