22 KiB
3.26.0 / 2024-03-05
-
New Features
- [core] Add support for Hype-Train events
-
Improvements
- [CI] Add Docker-Publish pipeline
- [docs] Update Docker image references to GHCR
3.25.0 / 2024-02-18
-
New Features
- [kofi] Add
kofi_donation
event and Ko-fi webhook handler
- [kofi] Add
-
Improvements
- [core] Remove support for
hype_chat
event
- [core] Remove support for
3.24.1 / 2024-01-24
-
New Features
- [core] Add support for
watch_streak
event - [overlays] Add support for replaying events
- [core] Add support for
-
Improvements
- [linkcheck] Refactor: Improve wait-code
- [overlays] Add WebDAV support for remote Overlay editing
-
Bugfixes
- [ci] Lint: Update linter config, improve code quality
- [core] Update dependencies
- [eventsub] Fix: Log error when giving up subscription retries
- [linkcheck] Fix tests broken by domain grabbers
- [overlays] Fix: Do not spam logs with errors when overlay reloaded
3.24.0 / 2024-01-24
-
New Features
- [core] Add support for
watch_streak
event - [overlays] Add support for replaying events
- [core] Add support for
-
Improvements
- [linkcheck] Refactor: Improve wait-code
- [overlays] Add WebDAV support for remote Overlay editing
-
Bugfixes
- [ci] Lint: Update linter config, improve code quality
- [core] Update dependencies
- [eventsub] Fix: Log error when giving up subscription retries
- [overlays] Fix: Do not spam logs with errors when overlay reloaded
3.23.1 / 2023-12-20
- Bugfixes
- [CI] Fix: Prevent tag collision in CI
3.23.0 / 2023-12-20
Note
This release slightly changes the way release binaries are packaged: The binary is now named
twitch-bot
instead of i.e.twitch-bot_linux_amd64
within the archives.
-
Improvements
- [editor] Improve wording and visibility for bot connection
-
Bugfixes
- [quote] Fix: Add primary key to quote table
- [eventsub] Fix: Stop subscription-retries when client is closed
3.22.0 / 2023-12-14
-
Improvements
- [editor] Display clear warning when ext perms are missing
- [eventsub] Make topic subscriptions more dynamic
-
Bugfixes
- [core] Fix: Properly handle channels without credentials
- [eventsub] Fix: Clean IPs from eventsub-socket read errors
- [eventsub] Update field naming for ad-break, use V1 event
- [twitch] Fix: Log correct error when wiping token fails
3.21.0 / 2023-12-09
- Improvements
- [raffle] Add functionality to reset a raffle
3.20.0 / 2023-12-08
-
New Features
- [cli] Add database migration tooling
- [raffle] Add Actor to enter user into raffle using channel-points
- [templating] Add
scheduleSegments
function
-
Improvements
- [core] Add auth-cache for token auth
- [core] Parallelize rule execution
- [linkdetector] Add more ways of link detection in heuristic mode
- [linkdetector] Use resolver pool to speed up detection
-
Bugfixes
- [core] Add retries for database access methods
- [core] Add timeout to eventsub connection dialer
- [core] Fix: Do not retry requests with status 429
- [core] Update dependencies
- [eventsub] Replace keepalive timer
- [raffle] Fix datatype in API documentation
3.19.0 / 2023-10-28
Important
This release fixes a long-standing bug in
botHasBadge
introduced inv1.1.0
causing the function to yield a broken result. Update is therefore strongly advised!
-
New Features
- [templating] Add function
chatterHasBadge
- [templating] Add
counterRank
andcounterTopList
functions - [core] Add support for beta Ad-Break event
- [templating] Add function
-
Improvements
- [core] Expose method to retrieve AppAccessToken
-
Bugfixes
- Update dependencies
3.18.2 / 2023-10-08
- Bugfixes
- [core] Fix: New followers endpoint requires user-token
3.18.1 / 2023-10-05
- Bugfixes
- [core] Fix: Replace deprecated follow API
3.18.0 / 2023-09-21
-
New Features
- [core] Add channel specific module configuration interface
- [templating] Add
idForUsername
function - [templating] Add
usernameForID
function
-
Improvements
- [core] Add
user:manage:whispers
extended scope - [core] Update go-irc to v4.0.0
- [core] Add
-
Bugfixes
- [ci] Update dependencies
- [raffle] Insert newly created raffles with
NULL
reminder time
-
Documentation
- [docs] Add raffle documentation
- [docs] Add raffle module as feature to start page
- [docs] Fix broken preparations image
-
Deprecations
- [core] Mark twitch-token flag / envvar deprecated
- [core] Remove v2 migration
3.17.0 / 2023-08-25
-
New Features
- [templating] Add
b64urldec
andb64urlenc
functions
- [templating] Add
-
Improvements
- [docs] Add auto-generated template documentation (#50)
-
Bugfixes
- [ci] Remove flaky test
Warning
This marks the last release to contain code to migrate from v2.x to v3.x releases. If you are migration from an old v2 instance at a later point in time you need to migrate to this version before continuing your journey to the latest v3 release.
3.16.0 / 2023-08-22
-
New Features
- [clip] Add
clip
actor - [messagehook] Add actor for Discord / Slack hook posts
- [overlays] Add
sounds
overlay as default - [templating] Add
profileImage
function
- [clip] Add
-
Improvements
- [docs] Move documentation from Wiki to docs-site (#49)
- [docs] Add Apache2 config sample (thanks to @Breitling1992)
- [docs] Add "VIP of the Month" example rule (thanks to @Breitling1992)
-
Bugfixes
- [core] Fix: Clean usernames when querying user information
- [editor] Add
shoutout_created
to frontend-known events
3.15.0 / 2023-08-04
-
New Features
- [core] Add support for
hype_chat
event
- [core] Add support for
-
Improvements
- [eventsub] Switch to
channel.update/2
- [linkdetector] Add new option to enable heuristic scan
- [twitchclient] Reduce retries and errors when banning banned user
- [eventsub] Switch to
3.14.2 / 2023-07-21
- Bugfixes
- [ban] Fix Chatcommand matching
3.14.1 / 2023-07-16
- Bugfixes
- [raffle] Fix index initialization in MySQL v8
3.14.0 / 2023-07-16
-
New Features
- Implement Raffle module (#47)
- [template] Add
textAPI
function
-
Improvements
- [ci] Update nodejs version for builds
- [eventsub] Replace
IsMature
tag in channel updates
-
Bugfixes
- [wiki] Fix example broken since v3.x
3.13.0 / 2023-06-25
-
New Features
- [counter] Add
counterValueAdd
template function
- [counter] Add
-
Improvements
- [core] Add cleanup for expired timers
- [core] Clean IPs from socket errors
-
Bugfixes
- [core] Fix missing timer configuration for permits
3.12.0 / 2023-06-07
-
New Features
- [respond] Expose API route to send messages directly to chat
- [template] Add
mention
function
-
Improvements
- [eventsub] Add
status
field topoll_end
event
- [eventsub] Add
3.11.0 / 2023-05-27
-
New Features
- [eventsub] Add
poll_begin
,poll_end
,poll_progress
events - [template] Add
lastPoll
function
- [eventsub] Add
-
Improvements
- [core] Reduce variance of Sentry errors containing IPs
- [eventsub] Add debug logging for subscribed topics
3.10.0 / 2023-05-21
-
New Features
- [eventsub] Switch to Websocket transport (#46)
-
Improvements
- [core] Adjust logging for channel meta updates to match other events
- [core] Allow case insensitive category matches
- [editor] Remove character limit for AutoMessage template
3.9.0 / 2023-05-11
-
New Features
- [template] Add
subCount
,subPoints
template functions
- [template] Add
-
Bugfixes
- [wiki] Remove deprecated
concat
examples
- [wiki] Remove deprecated
3.8.0 / 2023-04-14
-
New Features
- [linkprotect] Add Link-, Clip-Detector and Link-Protection actor (#42)
-
Improvements
- [core] Add connection tuning for MySQL databases
- [core] Remove "host" related functionality
- [editor] Add validation for template fields
-
Bugfixes
- [core] Fix: Message matcher matched also event content
- [editor] Fix badge key-repetition for duplicated actions
3.7.0 / 2023-03-31
-
New Features
- [commercial] Add
commercial
actor - [eventsub] Add
shoutout_created
event
- [commercial] Add
-
Improvements
- [core] Add validation and reset of encrypted values
- [eventsub] Switch to v2 follows topic
-
Bugfixes
- [core] Ensure channel has correct format in access service
- [core] Fix: Allow start when no tokens are available
- [core] Fix type warnings for Swagger documentation
- [eventsub] Fix wrong channel in
shoutout_received
event
3.6.0 / 2023-03-06
-
New Features
- [eventmod] Add
eventmod
actor - [eventsub] Add
shoutout_received
event
- [eventmod] Add
-
Improvements
- [script] Add rule ID to error
-
Bugfixes
- [editor] Fix number-of-lines mode causing type-error
3.5.1 / 2023-02-08
- Bugfixes
- [core] Fix: List all configured channel permissions
3.5.0 / 2023-02-08
-
New Features
- [shield] Add shield mode actor
- [stopexec] Add
stopexec
actor - [template] Add
recentTitle
template function
-
Improvements
- [core] Rewrite bot token storage logic
- [editor] Add new
moderator:read:followers
scope and pin follow subscription version - [editor] Notify frontend to reload data after token change
-
Bugfixes
- [editor] Ensure updating bot token does not drop scopes
- [editor] Fix Node package vulnerabilities
- [editor] Fix non-optional booleans causing rules to be non-saveable
- [editor] Fix: When
match_message
is cleared, remove it completely
3.4.0 / 2023-01-27
-
New Features
- [shoutout] Implement actor and slash-command for shoutout API
-
Improvements
- [editor] Add notification in case bot is missing default-scopes
3.3.0 / 2023-01-07
-
Bugfixes
- [core] Fix: Remote-update cron broken as of missing field
-
New Features
- [log] Add
log
-actor - [template] Add
doesFollow
anddoesFollowLongerThan
functions - [templating] Add
followAge
function
- [log] Add
-
Improvements
- [customevent] Add scheduled events to API handler
3.2.1 / 2022-12-24
- Bugfixes
- [twitch] Fix: Pagination fetching broken for eventsub subscriptions
3.2.0 / 2022-12-22
-
New Features
- Add fine-grained permission control for extended channel permissions (#35)
- [twitch] Implement
AddChannelVIP
,RemoveChannelVIP
- [vip/unvip] Implement actors and chat commands
-
Improvements
- [core] Add content-type detection for remote rule subscriptions
- [core] Add retries for eventsub-self-check
- [core] Add validation for rule UUIDs to be unique
- [core] Allow plugins to evaluate whether permissions are available
3.1.0 / 2022-11-24
- New Features
- [core] Add Sentry / GlitchTip error reporting
3.0.0 / 2022-11-02
⚠ Breaking Changes:
- Backend storage format has been switched from JSON-file to database. Migrations must be run before use of
v3.x
version. See README for instructions. - Some template function have been migrated to a new function collection. See migration section of Templating documentation for required changes.
Changelog:
-
New Features
- [core] Add config validation command
- [core] Add rule-subscription feature
- [core] Add
outbound_raid
event - [customevent] Add scheduled custom events
- [templating] Add
jsonAPI
template function
-
Improvements
- [core] Move storage to database (#30, #32) ⚠
- [core] Allow to pass ID to channel modification
- [core] Extend API and replace deprecated chat commands (#34)
- [editor] Add all template functions to highlighter
- [overlays] Add
hide
option to debug overlay - [templating] Add sprig functions, replace some built-ins ⚠
-
Bugfixes
- [core] Fix: Allow 5s for rule updates
2.7.1 / 2022-09-06
Bugfix release, repeating v2.7.0
changelog as of broken release.
-
New Features
- [template] Add
randomString
template function
- [template] Add
-
Improvements
- [core] Make number of subscribed months available for subgift
- [security] Add mitigation for slowloris DoS attack vector
-
Bugfixes
- [msgformatter] Fix: Trim leading / trailing spaces
- [ci / lint] Fix missing CI tooling, fix linter errors
2.7.0 / 2022-09-03
-
New Features
- [template] Add
randomString
template function
- [template] Add
-
Improvements
- [core] Make number of subscribed months available for subgift
-
Bugfixes
- [msgformatter] Fix: Trim leading / trailing spaces
2.6.0 / 2022-07-15
-
New Features
- [editor] [#18] Add editor for
disable_on_match_messages
- [template] Add
inList
function - [template] Add "mod" function for modulo in templating
- [editor] [#18] Add editor for
-
Improvements
- [core] Expose user_id in events
- [editor] Add explanatory hint for exceptions
-
Bugfixes
- [editor] Fix: Token badges had no spacing
2.5.0 / 2022-06-06
- Improvements
- [core] Add multi_month parameter parsing for subs
2.4.0 / 2022-05-07
-
Improvements
- [editor] [#23] Add confirmation for delete buttons
- [editor] [#25] Allow searching in / sort rules
-
Bugfixes
- [core] Fix: Notify event handlers before rules to prevent delays
- [editor] [#28] Fix: Allow saving with empty optional duration
- [editor] Fix: Remove asymmetric margin from buttons
- [modchannel] [#26] Fix: Modify channel module not working for editor-bots (#27)
2.3.0 / 2022-04-22
-
New Features
- [core] Add more mathematical functions for templating
- [customevent] Add API module and actor to create custom events
- [filesay] Add FileSay actor to "paste" files with commands
- [msgformat] Add module to retrieve filled template through API
- [overlays] Add overlays server with some example templates and library
-
Improvements
- [core] Add
delete
event for deleted chat messages - [core] Add
origin_id
to subgift / submysterygift events - [core] Add support for
annoumcement
event type - [core] add
total_gifted
field for gifts, use numeric values for some fields - [core] Provide message in
announcement
,bits
andresub
events - [counter] Add template support for counter step
- [counter] Remove stored counter value on zero value
- [editor] Add bot version to frontend
- [editor] Improve location of permission warning
- [timeout] [#15] Allow timeout reason to be set
- [core] Add
-
Bugfixes
- [ban] Fix: Add missing API docs
- [core] Delete refresh token only for HTTP errors, not on connection issues
- [core] Fix: Accept 1s cooldown, fix user and channel cooldowns
- [core] Fix: EventSub messages had misformatted channel
- [core] Fix: Handle unauthorized error for app-access-tokens
- [core] Fix: Raid viewercount should be numeric, not string
- [core] Re-check token validity more often than on expiry
- [editor] [#19] Validate durations when checking for invalid rules
- [editor] [#20] Fix: Strip query parameters from redirect uri
- [editor] Fix node package vulnerability / update dependencies
- [editor] Fix: Upgrade contains a header send, error must not send headers
- [status] Fix: Add missing API docs
2.2.0 / 2022-01-16
- [ci] Make installed go binaries available during build
- [core] Add deprecated but still used V5 ChannelEditor scope
- [core] Add EventSub subscription prefetching
- [core] Add "follow" event using EventSub
- [core] Add handling for channel point rewards
- [core] Do not retry POST requests automatically
- [core] Fix: Event data was not available in rule templates
- [core] Implement dynamic token update and broadcaster permissions (#13)
- [core] Improve EventSub API request design
- [docs] Update README
- [editor] Display disconnected status instead of error
- [editor] Fix follow-redirects vulnerability (CVE-2022-0155)
- [editor] Prevent adding invalid usernames as channel / editor
2.1.0 / 2021-12-24
- [automessage] Add disable switch
- [ban] Add HTTP API route for banning users
- [core] Add status / health check API
- [core] Fix: send-message function passed to plugin was nil
- [core] Fix: Strip newlines from message templates
- [core] log bits from chat message
- [editor] Fix: Removing cooldown resulted in save error
- [editor] Rework to use esbuild / Vue component files (#12)
2.0.0 / 2021-12-03
- [ban] Enable templating for ban reason
- [core] Add
giftpaidupgrade
event - [core] BREAKING: Allow actors to set fields those after them (#11)
- [core] Fix: Set channel for incoming host through jtv message
- [core] Handle host announce messages from jtv user
- [lint] Properly format inputs
- [templating] Add
multiply
andseededRandom
template functions
1.6.0 / 2021-11-11
- [core] Add
ban
,clearchat
andtimeout
events - [core] Add EventSub support for Twitch-Events (#10)
- [core] Add moderator badge to broadcasters
- [core] Prevent logging every PING message
1.5.0 / 2021-11-04
- [nuke] Add new moderation module
1.4.0 / 2021-10-25
- [core] Allow the bot to track config editor changes through Git
- [core] Implement write authorization for APIs (#9)
- [editor] Cleanup config by removing invalid / zero attributes
- [openapi] Allow multiple mime-types on single route
- [plugins] Move missing plugin-dir warning to debug level
- [quotedb] Add simple page to list quotes
1.3.0 / 2021-10-22
- [core] Add "bits" event
- [core] Add
streamUptime
/formatDuration
template functions - [core] Add submysterygift event, add more event data to events
- [core] Add username fields to events
- [core] Remove unused subscribed_months field from subgifts
- [openapi] Allow subdir serving
- [quotedb] Add new actor
- [respond] Fix: Broken condition for fallback message
- [respond] Fix: Empty string fallback should not count as fallback
- [respond] Log message template errors even when fallback is set
1.2.0 / 2021-10-08
- [core] Log submysterygift
- [automessage] Move spammy message to trace-level
- [core] Improve logs for USERNOTICE events
- [editor] Add description to "Add Action" form group
- Add "punish", "reset-punish" actors and storage manager (#8)
1.1.0 / 2021-10-01
- [templating] Add
botHasBadge
function - [editor] Mark fully disabled rules in list
1.0.0 / 2021-09-22
- Breaking: Add configuration interface and switch to more generic config format (#7)
0.18.0 / 2021-09-17
- [script] Allow to skip cooldown on script error
- [modchannel] Add modchannel core module
- [core] Break actions execution when one action fails
- [core] Transform broadcaster name into ID
- [core] Add category search and channel update
- [core] Expose GetIDForUsername function
- [core] Expose TwitchClient to plugins
- [core] Add fallback support to group template matches
- [respond] Support sending message to different channel
- [core] Reduce cache time for stream info
- [core] Add Twitch events
- [core] Add registration for raw-message-handlers
0.17.0 / 2021-08-28
- Create API for counter and setvariable modules
- Provide HTTP server and registration function
- Provide central cron service to plugins
0.16.0 / 2021-08-21
- Update dependencies and bring plugin example to work with master
- Lint: Ignore gocritic for fatal program exit not running unlock
- Move to Go1.17 mod-file, update dependencies
- Disable CGO for default container
- Allow plugins to register template functions
- Add plugin support to allow extending of functionality (#6)
- Add support to disable cooldown through the action module
- Add method to send messages from within the bot without trigger
- Add validation mode for config
0.15.0 / 2021-06-30
- Wiki: Add example for generic chat-addable commands
- Add support for dynamic variables
- Lint: Update linter list, disable gomnd for some lines
- Move timers to storage to persist them
- Fix: Set channel for more events
0.14.0 / 2021-06-17
- Fix: JSON is not able to decode
2s
but2
which is ns instead of s - Add concat template function
- Disable auto-messages in non-observed channels
- Automatically leave channel when removed from config
0.13.0 / 2021-06-13
- Use more flexible Actor format to allow addition of new actors (#5)
- Add user- and channel-based cooldowns (#4)
- Fix: ID generation handling different automessages as same
- Fix: Do not try to log functions
- Fix: Do not access automessage attributes without lock
0.12.0 / 2021-06-05
- Add "respond as reply" functionality
0.11.0 / 2021-06-02
- Add retries to Twitch API calls
0.10.0 / 2021-05-27
- Add Whisper / RawMessage actions
- Add
whisper
event
0.9.0 / 2021-05-26
- Add
part
event - Allow to disable automessages with templates
- Add global variables to be used in templates
- Add Disable and DisableOnTemplate attributes for rules
- Drop HCL support (causes too much effort for too little benefit)
0.8.0 / 2021-05-24
- Fix: Display fallback when no category is set in
recentGame
- Add displayName template function
- Replace non-reliable fsevents library with simple check
- Add HCL config format support
0.7.0 / 2021-05-13
- Lint: Disable requirement for crypto/rand for time randomizer
- Add delay-action
0.6.0 / 2021-05-12
- Add sub events, document available event types
0.5.0 / 2021-05-11
- Fix: Unlock auto-messages to prevent dead-locks
- Log amount of loaded rules on (re)load
- Support templating in automessages
0.4.1 / 2021-05-06
- Include tzdata into Docker image to allow TZ env setting
- Update README for new flags
0.4.0 / 2021-04-22
- Introduce general send limit to prevent global-timeouts
0.3.0 / 2021-04-21
- Extract template functions into registry
- Lint: Reduce complexity of loadConfig function
- Add raw-log functionality
- Add a delay while joining channels
0.2.0 / 2021-04-04
- Add instructions for token generation
- Add GH page to generate token
0.1.0 / 2021-04-03
- Initial release