v4.0.0-alpha.6 prerelease

# Release notes

First public (pre)release of v4! There is one major change and a lot of small things. Not all features are in this release but the big one is and I’d like people to start trying it out.

If you built any software using the kilovolt API: Woops, you gotta re-do a lot of that. Most of the keys have changed in naming and some in format as well.

Two important things: back up your data folder and re-authenticate your user (it should tell you to, more on that below).

# The IRC bot is dead

With Twitch finally pushing out the latest EventSub APIs for chat interaction I could finally kiss the IRC bot goodbye. All the existing chat functionality works as before but you’ll notice it be way more stable.

Setting a secondary user as the chatting user is now done through the API (with a similar flow)

The new chat user configuration showing up a secondary user as authenticated
The new chat user configuration showing up a secondary user as authenticated

# New permissions required warning

v4.0.0 sets up the foundation for a “problem detection system” aimed at finding configuration problems. I will be adding checks as I find them but for now the only one will be to check if a user is authorized to the Twitch app and if the scope of that authorization is valid. As Twitch adds new features and strimertül adopts them the scope of authorization will change and this warning will tell you to re-authenticate when needed.

The window shows a yellow warning telling the user to re-authenticate
The window shows a yellow warning telling the user to re-authenticate

# Compact sidebar with narrow window

To accomodate people with not that much screen estate the strimertül window can now make better use of narrow spaces by compressing the sidebar to only show icons. You can still hover over the icons to check which page they link to.

The main window with only icons in the sidebar to better accomodate content in a small window
The main window with only icons in the sidebar to better accomodate content in a small window

# Internal API overhaul

As v4.0.0 was going to be a big breaking change I took the opportunity to rename a lot of the kilovolt keys. You can check the changelog for a key-by-key breakdown or just take a look at the new API reference (since this is a pre-release, you’ll need to check indev). If you have built integrations such as overlays or extensions it’s very much likely that you’ll need to at least change the keys. If you wrote any chat integrations you’ll definitely have to update the formats as well.

# Overall stability improvements

While developing v4.0.0 I found a lot of random crashes and I could fix most of the causes. There’s still work to do on a lot of tickets that are still open but this should be much more stable than v3 even as an alpha. You can check the list of tickets still open here. Not all of them will be addressed in this release but all the bugs should be!

# Changelog

# Added

  • The UI sidebar has been modified to better adapt to small window sizes
  • A new part of the dashboard will now inform the user if any configuration problems have been detected.

# Changed

  • The required set of permissions has changed. Existing users must re-authenticate their users to the app connected to strimertül.
  • The twitch/ev/eventsub-event and twitch/eventsub-history keys have been replaced by a set of keys in the format twitch/ev/eventsub-event/<event-id> and twitch/eventsub-history/<event-id>. Users of the old system will have to adjust their logic. A simple trick is to change from get/subscribing from a single key to the entire prefix. The data structure is the same.
  • The twitch/bot/@send-message key has been renamed to twitch/chat/@send-message. The data structure is the same.
  • A lot of keys for internal use have been changed, make sure to check the new reference for fixing up any integrations you might have. A migration process will convert v3 keys to v4 keys.
  • The log format has changed significantly as the internal logging library has been replaced.
  • The Twitch chat integration has been rewritten from the ground up to not use an IRC bot and rely on EventSub. This means that you will need to reconfigure your twitch account, especially if you used a different account as the “bot” account. Because of this rewrite, the terminology around chat functionalities have been renamed from “Bot” to “Chat” (e.g. “Bot commands” are now “Chat commands”).
  • The (i) icon next to “Recent events” in the dashboard now uses a custom tooltip that shows up more consistently.
  • The “strimertul is already running” message now pops up from the currently running instance.
  • Setting up a secondary user for chat interactions is now much simpler through an auth flow much like the one for setting up the main user.

# Fixed

  • Updated Kilovolt to a version that fixes an annoying crash when managing subscriptions.
  • A new cleanup routine will remove old eventsub subscriptions that are no longer used. This should remove most of the errors when trying to set new API keys about “too many subscriptions”.

# Removed

  • twitch/@send-chat-message has been removed. Use twitch/chat/@send-message instead.
  • The twitch/ev/chat-message and twitch/chat-history keys have been removed. Use the EventSub keys twitch/ev/eventsub-event/channel.chat.message and twitch/eventsub-history/channel.chat.message instead. The data structure will be different!

# Downloads

Windows 64bitstrimertul.exe
Linux amd64strimertul-amd64
Linux arm64strimertul-arm64