Skip to content

Releases: BarRaider/streamdeck-tools

v7.0 - Cross-Platform support

02 Apr 12:01
0a2cf00

Choose a tag to compare

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) and SetImageAsync(byte[]) overloads on ISDConnection.
  • New DrawTextLine extension method on SKCanvas with Y-as-top semantics (matching System.Drawing.Graphics.DrawString).
  • Breaking change (macOS): TitleParameters.FontFamily throws PlatformNotSupportedException on non-Windows. Use TitleParameters.FontFamilyName (string) or TitleParameters.TitleTypeface (SKTypeface) instead. On Windows, FontFamily still works but produces an [Obsolete] compiler warning.
  • New TitleParameters.FontFamilyName, TitleSKColor, TitleTypeface, FontStyleToSKFontStyle() for cross-platform rendering.
  • PluginBase is now [Obsolete] -- use KeypadBase, EncoderBase, or KeyAndEncoderBase.

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

07 Mar 16:40

Choose a tag to compare

v7.0b3 - PreRelease Pre-release
Pre-release

Version 7.0 now in Beta!

  • Cross-platform support -- plugins can now run on Windows and macOS
  • SkiaSharp graphics -- new SkiaTools, SkiaGraphicsTools, and SkiaExtensionMethods classes provide cross-platform drawing APIs
  • New SetImageAsync overloads -- accept SKBitmap or byte[] (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

07 Mar 16:13

Choose a tag to compare

  • 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

23 Jan 21:54

Choose a tag to compare

  • Support .NET 8
  • Minor language fixes
  • Dependency updates

v6.1.1 - Dial SDK changes + Logging bugfix

26 Apr 18:55
9153b4f

Choose a tag to compare

  • Fixed DialPress events sending errors to the log
  • Support for new DialDown and DialUp events.
  • Removed support for deprecated DialPress event

v6.1 - Dial SDK changes

25 Apr 06:13
f786a7a

Choose a tag to compare

  • Support for new DialDown and DialUp events.
  • Removed support for deprecated DialPress event

v6.0 - SD+ Support

12 Feb 12:50
54b92a7

Choose a tag to compare

  1. Merged streamdeck-client-csharp package into library to allow better logging of errors
  2. Added support for SD+ SDK
  3. Increased timeout of connection to Stream Deck due to the Stream Deck taking longer than before to reply on load
  4. Added error catching to prevent 3rd party plugin exception to impact communication

v5.9.1-Beta1

22 Dec 06:17
c1657b4

Choose a tag to compare

v5.9.1-Beta1 Pre-release
Pre-release
  • SD+ support
  • Performance improvements
  • Bug Fixes

v5.9.0-Beta1

08 Dec 07:22
06a69df

Choose a tag to compare

  • 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()

20 Jan 04:39

Choose a tag to compare

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