Releases: BarRaider/streamdeck-tools
Releases · BarRaider/streamdeck-tools
v7.0 - Cross-Platform support
Introducing Stream Deck Tools Version 7.0
- Cross-platform support: New SkiaSharp-based API surface (
SkiaTools,SkiaGraphicsTools,SkiaExtensionMethods) for Windows + macOS. - Target frameworks: netstandard2.0, net48, net8.0, net10.0.
- All
System.Drawing-based APIs marked[Obsolete]with migration guidance. - New
SetImageAsync(SKBitmap)andSetImageAsync(byte[])overloads onISDConnection. - New
DrawTextLineextension method onSKCanvaswith Y-as-top semantics (matchingSystem.Drawing.Graphics.DrawString). - Breaking change (macOS):
TitleParameters.FontFamilythrowsPlatformNotSupportedExceptionon non-Windows. UseTitleParameters.FontFamilyName(string) orTitleParameters.TitleTypeface(SKTypeface) instead. On Windows,FontFamilystill works but produces an[Obsolete]compiler warning. - New
TitleParameters.FontFamilyName,TitleSKColor,TitleTypeface,FontStyleToSKFontStyle()for cross-platform rendering. PluginBaseis now[Obsolete]-- useKeypadBase,EncoderBase, orKeyAndEncoderBase.
Migration Guide:
- See Migration Guide: for the full migration guide with code recipes and API mapping tables. (Pro-Tip: Use this file to let Cursor/Claude do the migration for you).
v7.0b3 - PreRelease
Version 7.0 now in Beta!
- Cross-platform support -- plugins can now run on Windows and macOS
- SkiaSharp graphics -- new
SkiaTools,SkiaGraphicsTools, andSkiaExtensionMethodsclasses provide cross-platform drawing APIs - New
SetImageAsyncoverloads -- acceptSKBitmaporbyte[](PNG) in addition to base64 strings - SkiaSharp properties on
TitleParameters--TitleSKColor,TitleTypeface,FontStyleToSKFontStyle() - .NET 10 target added (
netstandard2.0,net48,net8.0,net10.0) - All System.Drawing APIs marked
[Obsolete]with pointers to SkiaSharp replacements (still fully functional on Windows)
Migration guide: See MigrateTo7.0.md for step-by-step upgrade instructions, type mapping tables, and code recipes. This file is also designed to work with AI coding assistants (Cursor, Copilot, etc.) -- point your AI at it and ask it to migrate your plugin.
v6.4 - Support for Stream Deck Plus XL, Galleon 100 SD
- Support for Stream Deck Plus XL, Galleon 100 SD
- Update dependencies
- Latest feature version before the big 7.0 migration
v6.2 - Support .NET 8
- Support .NET 8
- Minor language fixes
- Dependency updates
v6.1.1 - Dial SDK changes + Logging bugfix
- Fixed
DialPressevents sending errors to the log - Support for new
DialDownandDialUpevents. - Removed support for deprecated
DialPressevent
v6.1 - Dial SDK changes
- Support for new
DialDownandDialUpevents. - Removed support for deprecated
DialPressevent
v6.0 - SD+ Support
- Merged streamdeck-client-csharp package into library to allow better logging of errors
- Added support for SD+ SDK
- Increased timeout of connection to Stream Deck due to the Stream Deck taking longer than before to reply on load
- Added error catching to prevent 3rd party plugin exception to impact communication
v5.9.1-Beta1
- SD+ support
- Performance improvements
- Bug Fixes
v5.9.0-Beta1
- Stream Deck+ SDK initial support still in Beta! For support see our Discord: https://buz.bz/d
- Note: Instead of using PluginBase you should now choose between 3 types depending on if your action supports Keys/Dials/Both:
- 'KeypadBase' (if you don't support dials), 'EncoderBase' (for only dials), 'KeyAndEncoderBase' (for both keys and dials)
v3.2 - ISDConnection encapsulations + Optimized GlobalSettingsManager.GetGlobalSettings()
3.2 - 1. Created new ISDConnection interface which is now implemented by SDConnection and used by PluginAction.
2. GlobalSettingsManager now has a short delay before calling GetGlobalSettings, to reduce spamming the Stream Deck SDK.
3. Updated dependencies to latest version