twitch-bot/History.md

651 lines
20 KiB
Markdown
Raw Permalink Normal View History

2023-12-20 19:39:47 +00:00
# 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
2023-12-14 18:25:57 +00:00
# 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
2023-12-09 18:47:38 +00:00
# 3.21.0 / 2023-12-09
* Improvements
* [raffle] Add functionality to reset a raffle
2023-12-07 23:36:12 +00:00
# 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
2023-10-28 10:58:27 +00:00
# 3.19.0 / 2023-10-28
> [!IMPORTANT]
> This release fixes a long-standing bug in `botHasBadge` introduced in `v1.1.0` causing the function to yield a broken result. Update is therefore strongly advised!
* New Features
* [templating] Add function `chatterHasBadge`
* [templating] Add `counterRank` and `counterTopList` functions
* [core] Add support for **beta** Ad-Break event
* Improvements
* [core] Expose method to retrieve AppAccessToken
* Bugfixes
* Update dependencies
2023-10-08 10:35:51 +00:00
# 3.18.2 / 2023-10-08
* Bugfixes
* [core] Fix: New followers endpoint requires user-token
2023-10-05 15:08:18 +00:00
# 3.18.1 / 2023-10-05
* Bugfixes
* [core] Fix: Replace deprecated follow API
2023-09-21 17:19:21 +00:00
# 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
* 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
2023-08-25 21:51:17 +00:00
# 3.17.0 / 2023-08-25
* New Features
* [templating] Add `b64urldec` and `b64urlenc` functions
* 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.
2023-08-22 16:02:59 +00:00
# 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
* 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
2023-08-04 14:23:15 +00:00
# 3.15.0 / 2023-08-04
* New Features
* [core] Add support for `hype_chat` event
* Improvements
* [eventsub] Switch to `channel.update/2`
* [linkdetector] Add new option to enable heuristic scan
* [twitchclient] Reduce retries and errors when banning banned user
2023-07-21 10:17:08 +00:00
# 3.14.2 / 2023-07-21
* Bugfixes
* [ban] Fix Chatcommand matching
2023-07-15 23:01:45 +00:00
# 3.14.1 / 2023-07-16
* Bugfixes
* [raffle] Fix index initialization in MySQL v8
2023-07-15 22:13:14 +00:00
# 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
2023-06-25 14:55:55 +00:00
# 3.13.0 / 2023-06-25
* New Features
* [counter] Add `counterValueAdd` template function
* Improvements
* [core] Add cleanup for expired timers
* [core] Clean IPs from socket errors
* Bugfixes
* [core] Fix missing timer configuration for permits
2023-06-07 16:56:43 +00:00
# 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 to `poll_end` event
2023-05-27 14:49:02 +00:00
# 3.11.0 / 2023-05-27
* New Features
* [eventsub] Add `poll_begin`, `poll_end`, `poll_progress` events
* [template] Add `lastPoll` function
* Improvements
* [core] Reduce variance of Sentry errors containing IPs
* [eventsub] Add debug logging for subscribed topics
2023-05-21 11:56:06 +00:00
# 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
2023-05-11 10:41:25 +00:00
# 3.9.0 / 2023-05-11
* New Features
* [template] Add `subCount`, `subPoints` template functions
* Bugfixes
* [wiki] Remove deprecated `concat` examples
2023-04-14 10:35:51 +00:00
# 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
2023-03-31 15:30:50 +00:00
# 3.7.0 / 2023-03-31
* New Features
* [commercial] Add `commercial` actor
* [eventsub] Add `shoutout_created` event
* 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
2023-03-06 13:42:45 +00:00
# 3.6.0 / 2023-03-06
* New Features
* [eventmod] Add `eventmod` actor
* [eventsub] Add `shoutout_received` event
* Improvements
* [script] Add rule ID to error
* Bugfixes
* [editor] Fix number-of-lines mode causing type-error
2023-02-08 18:11:44 +00:00
# 3.5.1 / 2023-02-08
* Bugfixes
* [core] Fix: List all configured channel permissions
2023-02-08 17:36:19 +00:00
# 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
2023-01-27 21:24:56 +00:00
# 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
2023-01-07 13:07:32 +00:00
# 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` and `doesFollowLongerThan` functions
* [templating] Add `followAge` function
* Improvements
* [customevent] Add scheduled events to API handler
2022-12-24 16:36:55 +00:00
# 3.2.1 / 2022-12-24
* Bugfixes
* [twitch] Fix: Pagination fetching broken for eventsub subscriptions
2022-12-22 17:49:55 +00:00
# 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
2022-11-24 10:47:19 +00:00
# 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](https://github.com/Luzifer/twitch-bot#upgrade-from-v2x-to-v3x) for instructions.
- Some template function have been migrated to a new function collection. See [migration section of Templating documentation](https://github.com/Luzifer/twitch-bot/wiki/Templating#upgrade-from-v2x-to-v3x) 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
2022-09-05 22:52:23 +00:00
# 2.7.1 / 2022-09-06
Bugfix release, repeating `v2.7.0` changelog as of broken release.
* New Features
* [template] Add `randomString` template function
* 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
2022-09-03 12:54:43 +00:00
# 2.7.0 / 2022-09-03
* New Features
* [template] Add `randomString` template function
* Improvements
* [core] Make number of subscribed months available for subgift
* Bugfixes
* [msgformatter] Fix: Trim leading / trailing spaces
2022-07-15 17:31:08 +00:00
# 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
* Improvements
* [core] Expose user\_id in events
* [editor] Add explanatory hint for exceptions
* Bugfixes
* [editor] Fix: Token badges had no spacing
2022-06-06 12:20:27 +00:00
# 2.5.0 / 2022-06-06
* Improvements
* [core] Add multi\_month parameter parsing for subs
2022-05-07 14:44:40 +00:00
# 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)
2022-04-21 23:25:18 +00:00
# 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` and `resub` 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
* 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
2022-01-16 14:42:16 +00:00
# 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
2021-12-24 17:28:46 +00:00
# 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)
2021-12-03 18:01:40 +00:00
# 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` and `seededRandom` template functions
2021-11-10 23:47:45 +00:00
# 1.6.0 / 2021-11-11
* [core] Add `ban`, `clearchat` and `timeout` events
* [core] Add EventSub support for Twitch-Events (#10)
* [core] Add moderator badge to broadcasters
* [core] Prevent logging every PING message
2021-11-03 23:23:47 +00:00
# 1.5.0 / 2021-11-04
* [nuke] Add new moderation module
2021-10-25 19:45:26 +00:00
# 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
2021-10-21 23:20:45 +00:00
# 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
2021-10-08 14:27:42 +00:00
# 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)
2021-10-01 20:50:50 +00:00
# 1.1.0 / 2021-10-01
* [templating] Add `botHasBadge` function
* [editor] Mark fully disabled rules in list
2021-09-22 13:39:11 +00:00
# 1.0.0 / 2021-09-22
* Breaking: Add configuration interface and switch to more generic config format (#7)
2021-09-17 15:35:27 +00:00
# 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
2021-08-28 20:17:43 +00:00
# 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
2021-08-21 17:16:05 +00:00
# 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
2021-06-30 08:31:54 +00:00
# 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
2021-06-17 16:37:50 +00:00
# 0.14.0 / 2021-06-17
* Fix: JSON is not able to decode `2s` but `2` which is ns instead of s
* Add concat template function
* Disable auto-messages in non-observed channels
* Automatically leave channel when removed from config
2021-06-13 14:02:09 +00:00
# 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
2021-06-05 21:17:45 +00:00
# 0.12.0 / 2021-06-05
* Add "respond as reply" functionality
2021-06-02 11:21:30 +00:00
# 0.11.0 / 2021-06-02
* Add retries to Twitch API calls
2021-05-27 12:19:44 +00:00
# 0.10.0 / 2021-05-27
* Add Whisper / RawMessage actions
* Add `whisper` event
2021-05-26 12:08:07 +00:00
# 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)
2021-05-24 20:51:50 +00:00
# 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
2021-05-12 22:29:52 +00:00
# 0.7.0 / 2021-05-13
* Lint: Disable requirement for crypto/rand for time randomizer
* Add delay-action
2021-05-12 15:56:18 +00:00
# 0.6.0 / 2021-05-12
* Add sub events, document available event types
2021-05-10 23:12:09 +00:00
# 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
2021-05-06 13:15:18 +00:00
# 0.4.1 / 2021-05-06
* Include tzdata into Docker image to allow TZ env setting
* Update README for new flags
2021-04-21 22:35:31 +00:00
# 0.4.0 / 2021-04-22
* Introduce general send limit to prevent global-timeouts
2021-04-21 21:16:15 +00:00
# 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
2021-04-04 20:25:58 +00:00
# 0.2.0 / 2021-04-04
* Add instructions for token generation
* Add GH page to generate token
2021-04-03 12:12:45 +00:00
# 0.1.0 / 2021-04-03
2021-11-10 23:47:45 +00:00
* Initial release