Avro 1.11.2

The Apache Avro community is pleased to announce the release of Avro 1.11.2!

All signed release artifacts, signatures and verification instructions can be found here

This release addresses 89 Avro JIRA.

Highlights

C#

  • AVRO-3434: Support logical schemas in reflect reader and writer
  • AVRO-3670: Add NET 7.0 support
  • AVRO-3724: Fix C# JsonEncoder for nested array of records
  • AVRO-3756: Add a method to return types instead of writing them to disk

C++

Java

  • AVRO-2943: Add new GenericData String/Utf8 ARRAY comparison test
  • AVRO-2943: improve GenericRecord MAP type comparison
  • AVRO-3473: Use ServiceLoader to discover Conversion
  • AVRO-3536: Inherit conversions for Union type
  • AVRO-3597: Allow custom readers to override string creation
  • AVRO-3560: Throw SchemaParseException on dangling content beyond end of schema
  • AVRO-3602: Support Map(with non-String keys) and Set in ReflectDatumReader
  • AVRO-3676: Produce valid toString() for UUID JSON
  • AVRO-3698: SpecificData.getClassName must replace reserved words
  • AVRO-3700: Publish Java SBOM artifacts with CycloneDX
  • AVRO-3783: Read LONG length for bytes, only allow INT sizes
  • AVRO-3706: accept space in folder name

Python

  • AVRO-3761: Fix broken validation of nullable UUID field
  • AVRO-3229: Raise on invalid enum default only if validation enabled
  • AVRO-3622: Fix compatibility check for schemas having or missing namespace
  • AVRO-3669: Add py.typed marker file (PEP561 compliance)
  • AVRO-3672: Add CI testing for Python 3.11
  • AVRO-3680: allow to disable name validation

Ruby

  • AVRO-3775: Fix decoded default value of logical type
  • AVRO-3697: Test against Ruby 3.2
  • AVRO-3722: Eagerly initialize instance variables for better inline cache hits

Rust

  • Many, many bug fixes and implementation progress in this experimental SDK.
  • Rust CI builds and lints are passing, and has been released to crates.io as version 0.15.0

In addition:

  • Upgrade dependencies to latest versions, including CVE fixes.
  • Testing and build improvements.
  • Performance fixes, other bug fixes, better documentation and more…

Known issues

  • AVRO-3789 Java: Problem when comparing empty MAP types.

Language SDK / Convenience artifacts

Thanks to everyone for contributing!