MacroDeck.Plugin.Protocol
3.0.0-beta.12
dotnet add package MacroDeck.Plugin.Protocol --version 3.0.0-beta.12
NuGet\Install-Package MacroDeck.Plugin.Protocol -Version 3.0.0-beta.12
<PackageReference Include="MacroDeck.Plugin.Protocol" Version="3.0.0-beta.12" />
<PackageVersion Include="MacroDeck.Plugin.Protocol" Version="3.0.0-beta.12" />
<PackageReference Include="MacroDeck.Plugin.Protocol" />
paket add MacroDeck.Plugin.Protocol --version 3.0.0-beta.12
#r "nuget: MacroDeck.Plugin.Protocol, 3.0.0-beta.12"
#:package MacroDeck.Plugin.Protocol@3.0.0-beta.12
#addin nuget:?package=MacroDeck.Plugin.Protocol&version=3.0.0-beta.12&prerelease
#tool nuget:?package=MacroDeck.Plugin.Protocol&version=3.0.0-beta.12&prerelease
MacroDeck.Plugin.Protocol
The wire contracts for the Macro Deck plugin protocol: a versioned HTTP handshake and a JSON WebSocket session that any language can implement. This package is pure contract - types, constants and pure rule functions, no transport.
What is in here:
Envelope-ProtocolEnvelope, the tolerant reader and writer, message types and directions.Handshake- registration and session requests and responses, declared capabilities.Capabilities- thecapability.*message payloads.Limits,Reconnection,Correlation- timeouts, queue limits, backpressure, backoff, resume and correlation rules, all as pure functions so both peers agree by construction.Errors,Versioning,Serialization- error and close codes, version negotiation, the one fixedJsonSerializerOptions.
If you are writing a plugin in .NET, use MacroDeck.Plugin.Hosting
instead - it speaks this protocol for you. Reference this package directly only when implementing the
protocol yourself.
The specification lives at docs.macro-deck.app/reference/protocol.
Licensed under Apache-2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MacroDeck.Sdk (>= 3.0.0-beta.12)
- Serilog (>= 4.4.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on MacroDeck.Plugin.Protocol:
| Package | Downloads |
|---|---|
|
MacroDeck.Plugin.Hosting
DI-first hosting model for out-of-process Macro Deck plugins. Write a plugin as a normal ASP.NET Core application; registration, protocol framing, heartbeats and reconnection are handled for you. |
|
|
MacroDeck.Plugin.Packaging
The Macro Deck plugin manifest and artifact format: parsing and validating manifest.json, reading and extracting .macroDeckPlugin archives, and the semantic-version ranges compatibility and dependency declarations use. Shared by the host and by tooling that packs or validates plugin artifacts outside it. |
|
|
MacroDeck.Plugin.Serilog
Serilog sink for Macro Deck plugins. Forwards a plugin's own logs to the host over log.publish, so plugin authors write normal Serilog code and the entries show up in the host's log viewer. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-beta.12 | 103 | 9/23/2026 |
| 3.0.0-beta.11 | 249 | 9/17/2026 |
| 3.0.0-beta.7 | 97 | 9/16/2026 |
| 3.0.0-beta.6 | 81 | 9/15/2026 |
| 3.0.0-beta.5 | 101 | 9/14/2026 |
| 3.0.0-beta.4 | 203 | 9/11/2026 |
| 3.0.0-beta.3 | 89 | 9/9/2026 |
| 3.0.0-beta.2 | 89 | 9/6/2026 |
| 3.0.0-beta.1 | 81 | 9/6/2026 |