The Apache Avro community is pleased to announce the release of Avro 1.11.2!
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...
Language SDK / Convenience artifacts
- C#: https://www.nuget.org/packages/Apache.Avro/1.11.2
- Java: https://repo1.maven.org/maven2/org/apache/avro/avro/1.11.2/
- Javascript: https://www.npmjs.com/package/avro-js/v/1.11.2
- Perl: https://metacpan.org/release/Avro
- Python 3: https://pypi.org/project/avro/1.11.2
- Ruby: https://rubygems.org/gems/avro/versions/1.11.2
- Rust: https://crates.io/crates/apache-avro/0.15.0
Known issues
- AVRO-3789 [Java]: Problem when comparing empty MAP types.
Thanks to everyone for contributing!