Releases: ch-robinson/dotnet-avro
10.4.0
10.3.1
10.3.0
10.2.4
10.2.3
10.2.2
10.2.1
This patch release includes a couple of bug fixes:
-
The C# code generator now emits
DateOnly
andTimeOnly
types for date and time logical types (#298, h/t @xontab). -
When inspecting a type for members that match enum symbols or record fields, the serde builders no longer count constructors, events, nested, etc. as colliding names (#299). If names collide, builders throw more informative exceptions.
10.2.0
This feature release includes improvements to documentation handling in the schema builder and code generator:
-
Enum documentation may be populated from
[DescriptionAttribute]
(#290, h/t @runerys). In previous releases, only record documentation was supported. -
The C# code generator can emit
[DescriptionAttribute]
for enum and record documentation (#292, h/t @runerys; #294). This functionality can be enabled with the--component-model-annotations
flag on the CLI and theenableDescriptionAttributeForDocumentation
parameter in code.
10.1.0
This feature release includes an improvement to the schema builder:
- When generating schemas for enum types, the schema builder uses the
[DefaultValue]
attribute to set the"default"
field of the generated schema (#289, h/t @jonasby).
10.0.0
10.0.0 is a major release that introduces CLI support for .NET 8, drops CLI support for .NET 5 and earlier, and introduces several new features.
Breaking changes
- The Chr.Avro CLI no longer supports .NET Core 3.1 or .NET 5. We end support for out-of-support .NET versions at every major release.
New features
-
The Chr.Avro libraries target both netstandard2.0 and net6.0. The net6.0 builds include features and performance improvements that are only possible on .NET 6 and above (#269, h/t @fabianoliver).
-
On .NET 6 and above,
BinaryReader<T>
exposes new zero-copy decoding methods (#267, h/t @fabianoliver; #276). -
On .NET 6 and above, Chr.Avro supports the
DateOnly
andTimeOnly
types introduced in .NET 5 (#284). These types may be mapped to/from ISO 8601 strings (the default) or the"date"
,"time-millis"
, and"time-micros"
logical types. For more details, see the types and conversions documentation. -
The
[IgnoreDataMember]
attribute may be used to exclude fields and properties from serialization (#287). -
Chr.Avro.Confluent now targets Confluent.Kafka and Confluent.SchemaRegistry 2.3.0 (#285).