Releases: fraschetti/Octoslack
2.2.0 - Migration to native Slack libraries
- The previously used Slack library is no longer maintained and was starting to show age. This change officially migrates this plugin to use the native Slack libraries for both Python2 & Python3
2.1.0 - Python 2 compatability release
-
Forcing various library versions for Python2 as many libraries are dropping support for Python2
-
Removed usage of the Slack RTM (WebSocket) API
- Web API polling will now be used for all chat message monitoring
- Polling interval changed from 1.2 seconds to 5 seconds
-
Removed classic Slack bot support for custom names, icons, or emojis
- These have been removed from the new Slack apps
2.0.0 - Python 3, New Slack App support, & Microsoft Teams support
-
Added full support for running under Python 3
- Python 2 will also be supported until OctoPrint itself drops support for Python 2
-
Added support for the new Slack App bots & webhooks
- Transitioned from the Slack RTM method of retrieving channel messages to the Slack Web API
- The list of required bot scopes can be found within the Octoslack settings UI
-
Adding support for Microsoft Teams - https://teams.microsoft.com/
-
Added support for responding to the timelapse render event from Octolapse (thanks @N-Schaef)
-
Including OctoPrint and Slack usernames relevant to each event in the notification text
- Messages can also includes these values via two new variables: {octoprint_user} and {slack_user}
-
Fixed 'Minimum notification interval' support for G-code received events
-
Fixed the Nozzle label for single nozzle printers (Nozzle0 --> Nozzle)
-
Removed the 'OctoPrint restart required' popup from the Octoslack settings dialog as all configuration changes will be automatically applied without a restart
1.9.5 - Discord support and breaking OctoPrint fix
-
Adding support for Discord - https://discordapp.com/
-
Fixed a snapshot capture issue
- Catching up to a long since deprecated and now removed API
-
Adding 'Minimum notification interval' support to the G-Code and Progress events
- When enabled, only one notification per interval will be sent
-
Adding Slack API support for listening to an alternative bot name
- Allows reuse of the Slack API Token across multiple deployments wihout removing the ability to issue commands to each unique instance
1.9.1 - Slack client library fix and Slack in-place update fixes
-
slackclient (the official Slack client for Python) no longer supports Python 2.x (which is what OctoPrint runs on). Octoslack will need to stay on the slackclient 1.x stream until OctoPrint moves to Python 3.x.
- FYI that slackclient 1.3.1 may log a few warnings during install. It should still function but its dependency confusion is the result of a hotfix for the websocket client. More info here
-
Fixing an issue where any processed Octoslack event would reset the in-place tracking logic and cause new progress updates to be written to the channel(s)
-
Fixed an in-place update bug resulting in undeleted temporary files on disk
1.9.0 - System command execution and additional event support
-
Added event support for Print cancelling, File analysis started, & File analysis finished
-
Added support for local system command execution on OctoPrint event/G-code
-
Enabling access controls for the Slack RTM commands
-
Moved from subprocess to sarge for local system command executions
1.8.1 - Matrix/Riot support, settings dialog bug fix
-
Added support for Matrix based platforms such as Riot.im
- Support for posting to multiple channels
- Support for hosting snapshot images via Matrix
-
Fixed an Octoslack settings dialog issue which could have corrupted various Octoslack settings
-
Added OctoPrint and Octoslack version numbers to the Printer Started event's footer text
1.8.0 - Pushbullet, Pushover, & Rocket.Chat support
-
Added Pushbullet support
-
Support for posting to multiple channels
-
Support for posting a direct message to yourself (via
$myself$ ) -
Support for hosting snapshot images via Pushbullet
-
Added Pushover support
-
Support for posting to multiple channels
-
Customizable sound and priority per event type
- Emergency messages will expire in 1 hour and will retry notification every 30 seconds
-
Support for hosting snapshot images via Pushover
-
Added Rocket.Chat support
- Support for posting to multiple channels
- Support for hosting snapshot images via Rocket.Chat
-
IP Camera snapshots can each be configured for horizontal, vertical, & 90 degree rotations
1.7.2 - S3 virtual hosted path support and a few small bug fixes
-
Adding 'Virtual hosted' and 'Path' style support for Amazon S3 bucket URLs (default will remain 'Path')
-
Adjusted Slack RTM logic to be more resilient to not only Slack RTM connection issues but also the initial auth validation check which previously had no retry logic.
-
Fixed Slack RTM reconnection logic for windows users. Python's error messages vary between platforms and a few extra checks needed to be added.
-
Fixed an issue where shared nozzles (e.g. Prusa MMU) would be listed multiple times in the message footer text (thanks @tedder)
-
Fixed the ETA calculation logic when using a time zone that does not match the host operating system
1.7.1 - G-code received event support, ETA calculation bug fix, and Slack API reconnection logic fixes
A quick hotfix to address the a 1.7.0 Slack RTM API reconnection loop issue
-
Added support for sending messages based on G-code received from the printer. The initial use case was to trigger a message for Marlin's filament sensor runout message although events can be configured for anything messages OctoPrint receives from your printer. It is recommended to use OctoPrint's Terminal feature find the text you want to match. In the case of Marlin's filament runout, the actual message received is "fsensor_update - M600" which is important to know so the correct match criteria will be used.
-
Expanded G-code event logic beyond the default 'Starts with' to include 'Ends with', 'Contains', and 'Regular expressions'
-
Fixed an ETA calculation where if the local OS time zone was not used, the time remaining value would not be included in the output. Thanks to @tedder for the bug report and patch.
-
ETA will no longer be included in messages if the printer isn't actually printing (print has finished, print has been cancelled, print is paused, etc.)
-
Reworked the Slack API WebSocket connection logic in an attempt to combat Octoslack bots going offline and not responding to requests via Slack channels. Added multiple layers of reconnection logic and WebSocket pings at 3 second intervals (as advised by Slack's own documentation).