Excalibur.Dispatch.Serialization.Avro 3.0.0-alpha.216

This is a prerelease version of Excalibur.Dispatch.Serialization.Avro.
dotnet add package Excalibur.Dispatch.Serialization.Avro --version 3.0.0-alpha.216
                    
NuGet\Install-Package Excalibur.Dispatch.Serialization.Avro -Version 3.0.0-alpha.216
                    
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="Excalibur.Dispatch.Serialization.Avro" Version="3.0.0-alpha.216" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Excalibur.Dispatch.Serialization.Avro" Version="3.0.0-alpha.216" />
                    
Directory.Packages.props
<PackageReference Include="Excalibur.Dispatch.Serialization.Avro" />
                    
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 Excalibur.Dispatch.Serialization.Avro --version 3.0.0-alpha.216
                    
#r "nuget: Excalibur.Dispatch.Serialization.Avro, 3.0.0-alpha.216"
                    
#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 Excalibur.Dispatch.Serialization.Avro@3.0.0-alpha.216
                    
#: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=Excalibur.Dispatch.Serialization.Avro&version=3.0.0-alpha.216&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Excalibur.Dispatch.Serialization.Avro&version=3.0.0-alpha.216&prerelease
                    
Install as a Cake Tool

Excalibur.Dispatch.Serialization.Avro

Apache Avro serialization plugin for the Excalibur framework.

Features

  • Schema-based binary serialization via Apache Avro
  • Optimized for streaming and Kafka scenarios
  • Cross-language compatibility (Java, Python, Go, etc.) when reader and writer share the same schema
  • Pluggable serialization registry integration

Usage

One call does everything -- DI registration, serializer registry entry, and setting Avro as the current serializer:

services.AddAvroSerializer();

With custom options:

services.AddAvroSerializer(opts =>
{
    opts.BufferSize = 8192; // default: 4096
});

Requirements

Types must implement ISpecificRecord from the Apache.Avro package.

Schema Compatibility

This serializer decodes each payload using the reader type's own schema as both the reader and writer schema, so data must have been written with the same schema the reader expects. Avro writer-schema resolution — schema evolution, i.e. reading data written with an older but compatible writer schema — is not currently supported.

Skew is detected and fails closed — never silently mis-decoded. Every payload is framed with the Avro single-object-encoding header: the marker 0xC3 0x01 followed by the 8-byte little-endian CRC-64-AVRO (Rabin) fingerprint of the writer schema. On read, the serializer compares the payload's writer-schema fingerprint against the reader schema's fingerprint; if they differ (a writer/reader schema skew) and no compatible writer schema can be resolved, it throws SchemaMismatchException instead of positionally decoding against the wrong schema (which could silently corrupt field values). A payload missing the header also fails closed.

To evolve message contracts over time, version your types explicitly (for example through the serialization registry) so every payload is read with the schema it was written with.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0-alpha.216 55 6/30/2026
3.0.0-alpha.215 61 6/23/2026
3.0.0-alpha.214 70 6/23/2026
3.0.0-alpha.208 63 6/11/2026
3.0.0-alpha.207 52 6/11/2026
3.0.0-alpha.205 55 6/10/2026
3.0.0-alpha.204 59 6/8/2026
3.0.0-alpha.203 50 6/8/2026
3.0.0-alpha.202 55 6/8/2026
3.0.0-alpha.201 56 6/8/2026
3.0.0-alpha.199 65 6/8/2026
3.0.0-alpha.198 62 5/28/2026
3.0.0-alpha.197 69 5/28/2026
3.0.0-alpha.194 61 5/20/2026
3.0.0-alpha.193 56 5/13/2026
3.0.0-alpha.192 51 5/13/2026
3.0.0-alpha.191 54 5/13/2026
3.0.0-alpha.189 55 5/12/2026
3.0.0-alpha.187 60 5/8/2026
3.0.0-alpha.185 63 5/7/2026
Loading failed