Excalibur.Dispatch.Serialization.Avro 10.0.0-alpha.7

This is a prerelease version of Excalibur.Dispatch.Serialization.Avro.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Excalibur.Dispatch.Serialization.Avro --version 10.0.0-alpha.7
                    
NuGet\Install-Package Excalibur.Dispatch.Serialization.Avro -Version 10.0.0-alpha.7
                    
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="10.0.0-alpha.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Excalibur.Dispatch.Serialization.Avro" Version="10.0.0-alpha.7" />
                    
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 10.0.0-alpha.7
                    
#r "nuget: Excalibur.Dispatch.Serialization.Avro, 10.0.0-alpha.7"
                    
#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@10.0.0-alpha.7
                    
#: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=10.0.0-alpha.7&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Excalibur.Dispatch.Serialization.Avro&version=10.0.0-alpha.7&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
10.0.0-alpha.8 0 8/14/2026
10.0.0-alpha.7 0 8/13/2026
10.0.0-alpha.6 44 8/11/2026
10.0.0-alpha.5 47 8/10/2026
10.0.0-alpha.4 48 8/10/2026
3.0.0-alpha.216 70 6/30/2026
3.0.0-alpha.215 68 6/23/2026
3.0.0-alpha.214 76 6/23/2026
3.0.0-alpha.208 70 6/11/2026
3.0.0-alpha.207 60 6/11/2026
3.0.0-alpha.205 62 6/10/2026
3.0.0-alpha.204 64 6/8/2026
3.0.0-alpha.203 55 6/8/2026
3.0.0-alpha.202 61 6/8/2026
3.0.0-alpha.201 61 6/8/2026
3.0.0-alpha.199 71 6/8/2026
3.0.0-alpha.198 66 5/28/2026
3.0.0-alpha.197 72 5/28/2026
3.0.0-alpha.194 66 5/20/2026
3.0.0-alpha.193 60 5/13/2026
Loading failed

See CHANGELOG.md for release notes