Avro 1.11.3

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

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

This release addresses 39 Jira issues.

Highlights

Java

  • AVRO-3789: Comparing maps in GenericData is wrong for certain combinations and fails for empty maps
  • AVRO-3713: Thread scalability problem with the use of SynchronizedMap
  • AVRO-3486: Protocol namespace not parsed correctly if protocol is defined by full name
  • AVRO-2771: Allow having Error in a Record
  • AVRO-3819: Rationalize the system properties that limit allocation

Python

  • AVRO-3819: Rationalize the system properties that limit allocation
  • AVRO-312: Generate documentation for Python with Sphinx

Rust

  • AVRO-3853: Support local-timestamp logical types for the Rust SDK
  • AVRO-3851: Validate default value for record fields and enums on parsing
  • AVRO-3847: Record field doesn’t accept default value if field type is union and the type of default value is pre-defined name
  • AVRO-3846: Race condition can happen among serde tests
  • AVRO-3838: Replace regex crate with regex-lite
  • AVRO-3837: Disallow invalid namespaces for the Rust binding
  • AVRO-3835: Get rid of byteorder and zerocopy dependencies
  • AVRO-3830: Handle namespace properly if a name starts with dot
  • AVRO-3827: Disallow duplicate field names
  • AVRO-3787: Deserialization fails to use default if an enum in a record in a union is given an unknown symbol
  • AVRO-3786: Deserialization results in FindUnionVariant error if the writer and reader have the same symbol but at different positions

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: ∅

Language SDK / Convenience artifacts

Thanks to everyone for contributing!