Skip to content

Releases: ch-robinson/dotnet-avro

10.4.0

17 Jul 14:48
Compare
Choose a tag to compare

This minor release updates client dependencies:

  • Chr.Avro.Confluent now targets Confluent.Kafka and Confluent.SchemaRegistry 2.5.0 (#315).

10.3.1

05 Jun 16:16
Compare
Choose a tag to compare

This patch release fixes an issue in the schema reader:

  • The schema reader failed to read unions containing a record schema with aliases (#309, #310).

10.3.0

08 May 00:45
Compare
Choose a tag to compare

This minor release updates client dependencies:

  • Chr.Avro.Confluent now targets Confluent.Kafka and Confluent.SchemaRegistry 2.4.0 (#308).

10.2.4

20 Mar 17:08
Compare
Choose a tag to compare

This patch release fixes a deserialization issue:

  • Deserializers for nullable structs would fail to build due to a regression in 8.0.0 (#306).

10.2.3

11 Mar 13:54
Compare
Choose a tag to compare

This patch release fixes a deserialization issue:

  • On .NET 6, the DateOnly and TimeOnly deserializer builder would fail as it depended on method overloads only available in .NET 7 and above (#304, h/t @runerys; #305).

10.2.2

05 Feb 17:13
Compare
Choose a tag to compare

This patch release introduces a targeting change that was missed in 10.2.1:

  • Chr.Avro.Codegen now targets net6.0 as well as netstandard2.0 (#300, h/t @xontab). The DateOnly and TimeOnly support introduced in 10.2.1 was not usable without the net6.0 target.

10.2.1

30 Jan 16:21
Compare
Choose a tag to compare

This patch release includes a couple of bug fixes:

  • The C# code generator now emits DateOnly and TimeOnly 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

05 Jan 20:14
Compare
Choose a tag to compare

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 the enableDescriptionAttributeForDocumentation parameter in code.

10.1.0

30 Nov 14:25
Compare
Choose a tag to compare

This feature release includes an improvement to the schema builder:

10.0.0

03 Nov 19:16
Compare
Choose a tag to compare

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

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 and TimeOnly 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).

Fixes

  • The schema generator correctly generates nullable schemas for the Uri? type (#278). In previous versions, a nullable union was not generated.

  • Arrays can be deserialized to ArraySegment<T> on .NET Framework (#286). In previous versions, the deserializer would fail to build.