ThunderPropagator.FormatSerializers.Toon 1.0.1-beta.5

This is a prerelease version of ThunderPropagator.FormatSerializers.Toon.
dotnet add package ThunderPropagator.FormatSerializers.Toon --version 1.0.1-beta.5
                    
NuGet\Install-Package ThunderPropagator.FormatSerializers.Toon -Version 1.0.1-beta.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ThunderPropagator.FormatSerializers.Toon" Version="1.0.1-beta.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ThunderPropagator.FormatSerializers.Toon" Version="1.0.1-beta.5" />
                    
Directory.Packages.props
<PackageReference Include="ThunderPropagator.FormatSerializers.Toon" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ThunderPropagator.FormatSerializers.Toon --version 1.0.1-beta.5
                    
#r "nuget: ThunderPropagator.FormatSerializers.Toon, 1.0.1-beta.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ThunderPropagator.FormatSerializers.Toon@1.0.1-beta.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ThunderPropagator.FormatSerializers.Toon&version=1.0.1-beta.5&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=ThunderPropagator.FormatSerializers.Toon&version=1.0.1-beta.5&prerelease
                    
Install as a Cake Tool

ThunderPropagator Format Serializers

Format-specific .NET adapters for the ThunderPropagator serializer registry. The repository provides independently referenceable MessagePack, NetJSON, protobuf, TOON, XML, and YAML packages targeting .NET 8, .NET 9, and .NET 10.

Documentation

The generated documentation hub compares formats and links to API contracts, dependencies, diagrams, and usage recipes.

  • MessagePack Types:3 Files:5 Diagrams:✓
  • NetJSON Types:3 Files:5 Diagrams:✓
  • Protobuf Types:3 Files:5 Diagrams:✓
  • TOON Types:3 Files:5 Diagrams:✓
  • XML Types:3 Files:5 Diagrams:✓
  • YAML Types:10 Files:9 Diagrams:✓

Package sources

No repository NuGet.Config is present. NuGet.org dependencies use the default feed. Configure GitHub Packages to restore the shared ThunderPropagator package:

dotnet nuget add source https://nuget.pkg.github.com/KiarashMinoo/index.json --name github --username YOUR_GITHUB_USERNAME --password YOUR_GITHUB_PAT --store-password-in-clear-text
dotnet restore
dotnet build -c Release

Last generated: July 21, 2026

Packages

Package Format Serializer ID Media type String representation
ThunderPropagator.FormatSerializers.MessagePack MessagePack 5 application/x-msgpack Base64
ThunderPropagator.FormatSerializers.NetJson JSON 3 application/json JSON
ThunderPropagator.FormatSerializers.Protobuf Protocol Buffers 4 application/x-protobuf Base64
ThunderPropagator.FormatSerializers.Toon TOON 8 text/toon TOON
ThunderPropagator.FormatSerializers.Xml XML 6 application/xml XML
ThunderPropagator.FormatSerializers.Yaml YAML 7 application/yaml YAML

All packages currently use repository version 1.0.1-beta.3. Platform-specific and Debug package suffixes are supplied by the shared build configuration.

Usage

Each module exposes extension methods for direct conversion. Binary formats use Base64 when a string is required by the common serializer contract.

using ThunderPropagator.FormatSerializers.MessagePack;
using ThunderPropagator.FormatSerializers.NetJson;
using ThunderPropagator.FormatSerializers.Protobuf;
using ThunderPropagator.FormatSerializers.Toon;
using ThunderPropagator.FormatSerializers.Xml;
using ThunderPropagator.FormatSerializers.Yaml;

var messagePack = order.ToMessagePackBytes();
var json = order.ToNetJson();
var protobuf = order.ToProtobufBytes();
var toon = order.ToToon();
var xml = order.ToXml();
var yaml = order.ToYaml();

Restore typed values through the matching helpers:

var fromMessagePack = messagePack.FromMessagePack<Order>();
var fromJson = json.FromNetJson<Order>();
var fromProtobuf = protobuf.FromProtobuf<Order>();
var fromToon = toon.FromToon<Order>();
var fromXml = xml.FromXml<Order>();
var fromYaml = yaml.FromYaml<Order>();

MessagePack also provides DI registration for both common format interfaces:

services.AddMessagePackFormatSerializer();

Shared behavior

  • Format adapters implement IFormatSerializer and IFormatDeserializer from ThunderPropagator BuildingBlocks.
  • Operations create tracing activities when the shared telemetry source has listeners.
  • MessagePack, NetJSON, protobuf, XML, and YAML temporarily protect members recognized by SensitiveDataEncryption during serialization and decrypt them after deserialization.
  • Empty input through a format adapter returns default; direct helpers otherwise expose codec-specific errors.
  • Package versions are managed centrally in Directory.Packages.props.

See the format comparison before choosing a wire representation.

Build and test

The solution builds all six packages for .NET 8, .NET 9, and .NET 10. Tests currently run on .NET 10.

dotnet restore
dotnet build ThunderPropagator.FormatSerializers.slnx -c Release
dotnet test ThunderPropagator.FormatSerializers.slnx -c Release --no-build
dotnet pack ThunderPropagator.FormatSerializers.slnx -c Release -o artifacts/pkg

Supported solution platforms are Any CPU, x86, x64, and ARM64. Architecture tests enforce package independence and serializer-layer constraints; the unit suite covers helpers and the shared serializer registry behavior.

Repository layout

src/       Serializer package implementations
Tests/     Unit and architecture tests
docs/      Generated per-package documentation
.github/   CI, dependency, and security automation

CI and security

GitHub Actions definitions cover build/test, dependency updates, static and dynamic analysis, penetration testing, and patch management. Review the workflows under .github/workflows before enabling repository secrets or deployment permissions.

Contributing

  1. Keep package-specific code isolated under its module.
  2. Add or update tests for behavior changes.
  3. Update the matching generated module README and catalog badges.
  4. Run build and tests in Release configuration before opening a pull request.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (8)

Showing the top 5 NuGet packages that depend on ThunderPropagator.FormatSerializers.Toon:

Package Downloads
ThunderPropagator.SubscriptionMessageFormatters.Toon

ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact

ThunderPropagator.SubscriptionMessageFormatters.Toon.ARM64

ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact

ThunderPropagator.SubscriptionMessageFormatters.Toon.Debug

ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact

ThunderPropagator.SubscriptionMessageFormatters.Toon.Debug.ARM64

ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact

ThunderPropagator.SubscriptionMessageFormatters.Toon.Debug.x64

ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1-beta.5 0 7/21/2026
1.0.1-beta.4 14 7/21/2026
1.0.1-beta.2 32 7/20/2026
1.0.1-beta.1 36 7/20/2026

- feat(di): add serializer registration extensions