Skip to content

chore(deps): bump apache-avro from 0.21.0 to 0.22.0 - #10678

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/main/apache-avro-0.22.0
Open

chore(deps): bump apache-avro from 0.21.0 to 0.22.0#10678
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/main/apache-avro-0.22.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 13, 2026

Copy link
Copy Markdown
Contributor

Bumps apache-avro from 0.21.0 to 0.22.0.

Release notes

Sourced from apache-avro's releases.

Apache Avro Rust SDK 0.22.0 release

The Apache Avro Rust SDK 0.22.0 release is a large release with lots of features, fixes and breaking changes. It is strongly recommended to read the Breaking changes and New features sections of the changelog.

What's changed

Breaking changes

  • Resolve schema(ta) in the builder of Writer by @​Kriskras99 in #328
    • The builder now returns an AvroResult
  • Rework schema compatibility by @​Kriskras99 in #342
    • SchemaCompatiblity::can_read and SchemaCompatiblity::mutual_read now return a Compatiblity type
  • Bump MSRV from 1.85 to 1.88 by @​Kriskras99 in #342, #348
  • Schema::Duration now has a FixedSchema allowing access to attributes and Serialize and Deserialize is implemented for apache_avro::Duration by @​jdarais in #382
  • AvroSchema and AvroSchemaComponent are no longer behind the derive feature and have moved from apache_avro::schema::derive to apache_avro::serde by @​martin-g in #394 and @​Kriskras99 in #433
  • Change the implementation of AvroSchemaComponent for Uuid from Schema::Uuid(String) to Schema::Uuid(Fixed(name: "org.apache.avro.rust.Uuid", size: 16)) and allow overwriting a field's schema with the with attribute when using #[derive(AvroSchema)] by @​Kriskras99 in #397, #558
    • When #[avro(with)] is specified without an argument, it will call the get_schema_in_ctxt(&mut HashSet<Name>, NamespaceRef<'_>) -> Schema in the same module as specified by #[serde(with)]
    • When #[avro(with = path::to::some_fn)] is specified with a path, the function it's pointing to will be called with two parameters &mut HashSet<Name>, NamespaceRef<'_>
    • When #[avro(with = || {})] is specified with a closure, that closure is invoked
    • The name of the schema for uuid::Uuid is org.apache.avro.rust.uuid
    • The schema for Uuid can be changed back to a Schema::Uuid(String) using #[avro(with = || Schema::Uuid(UuidSchema::String))] on a field with a Uuid and setting human_readable to true
  • Replace the From<&str> implementations for Name and Alias with TryFrom<&str>, TryFrom<String>, and FromStr as the conversion is not fallible by @​Kriskras99 in #423
  • Rework SpecificSingleObjectWriter removing ::with_capacity and changing write_avro_datum_ref to also take a &NamesRef parameter by @​Kriskras99 in #445
  • Remove the default field from FixedSchema as it is not in the specification by @​Kriskras99 in #460
  • AvroSchemaComponent::get_schema_in_ctxt now takes a &mut HashSet<Name> parameter for the named_schemas parameter by @​Kriskras99 in #471
  • Replace the Schema::map{,_with_attributes} and Schema::array{,_with_attributes} with builders allowing the user to set more fields by @​martin-g in #472
    • This also adds Schema::r#enum, Schema::fixed and Schema::record
  • Stricter schema parsing by @​Kriskras99 in #479
    • This now rejects schemas that were previously accepted by this library, they were already rejected by parsers in different languages
  • Alias::name and Alias::namespace now return references by @​Kriskras99 in #486
  • Remove unused order and position fields in RecordField by @​Kriskras99 in #491
  • Rework Name to be more performant which requires changing the SchemaNameValidator trait by @​Kriskras99 in #493
    • The regex returned by SchemaNameValidator::regex must have a capture group named name which captures the unqualified name when not overriding the SchemaNameValidator::validate function
    • The SchemaNameValidator::validate must now return the start byte of the unqualified name
  • Support enums and tuples in SchemaAwareSerializer, implement SchemaAwareDeserializer and document the mapping between the Serde and Avro data models by @​Kriskras99 in #512, #558
    • The SchemaAware* now have specific requirements for what input they accept, so type definitions might need to be modified to make them work with the new code (especially for enums and tuples)
    • This also makes human_readable configurable per reader and writer instance
    • Array and Map serialisation will not write the block size in bytes unless configured to do so, allowing unbuffered serialisation
    • The AvroSchemaComponent implementation for std::time::Duration has changed to match the (de)serialisation implementation as defined by Serde
      • It is now a Schema::Record(name: "org.apache.avro.rust.Duration", fields: ["secs": "org.apache.avro.rust.u64", "nanos": "long"])
    • The AvroSchemaComponent implementation for BigDecimal is now a Schema::String matching the (de)serialisation implementation as defined by bigdecimal
      • It can be changed back to a Schema::String using #[serde(with = "apache_avro::serde::bigdecimal"), avro(with)] on a field with a BigDecimal
    • The SchemaAwareDeserializer does not support schema resolution, for that use the old from_value implementation (see #575)

New features

  • Make DeflateSettings::compression_level public by @​EmilyMatt in #335
  • Support fixed as a type for uuid by @​Kriskras99 in #339
  • Don't depend on Serde to provide fields in the right order by @​Kriskras99 in #351
    • It is still recommended to match the field order between the type and the schema as out-of-order serialisation incurs a performance penalty
  • Support the #[serde(flatten)] attribute by @​Kriskras99 in #359, #448
    • This attribute is not supported when using apache_avro::serde::to_value
  • Use the Serde attributes and check for conflict with the Avro attributes by @​Kriskras99 in #377
    • This deprecates the Avro attributes for which the value must always match the Serde attribute:

... (truncated)

Changelog

Sourced from apache-avro's changelog.

Release of Apache Avro Rust SDK

Create a Git tag and archive the sources

# in avro-rs Git clone
git switch main && git pull --rebase
export AVRO_RS_VERSION=0.22.0
export AVRO_RC_VERSION=RC0
# update the version in Cargo.toml files to $AVRO_RS_VERSION
git commit -am "Update version to $AVRO_RS_VERSION"
git tag -s rel/release-$AVRO_RS_VERSION-$AVRO_RC_VERSION -m "Avro-rs $AVRO_RS_VERSION $AVRO_RC_VERSION release."
git archive HEAD --prefix=apache-avro-rs-$AVRO_RS_VERSION-$AVRO_RC_VERSION/ -o apache-avro-rs-$AVRO_RS_VERSION-$AVRO_RC_VERSION.tgz
git push origin rel/release-$AVRO_RS_VERSION-$AVRO_RC_VERSION

Note: make sure your GPG key is in https://dist.apache.org/repos/dist/release/avro/KEYS

Upload the sources to SVN dev area

# checkout the 'dev' dist SVN repo
svn co https://dist.apache.org/repos/dist/dev/avro/ dev-avro
cd dev-avro/avro-rs || exit
mkdir "$AVRO_RS_VERSION" && cd "$AVRO_RS_VERSION" || exit
cp .../apache-avro-rs-"$AVRO_RS_VERSION"-"$AVRO_RC_VERSION".tgz .
sha256sum apache-avro-rs-"$AVRO_RS_VERSION"-"$AVRO_RC_VERSION".tgz > apache-avro-rs-"$AVRO_RS_VERSION"-"$AVRO_RC_VERSION".tgz.sha256
gpg --armor --output apache-avro-rs-"$AVRO_RS_VERSION"-"$AVRO_RC_VERSION".tgz.asc --detach-sig apache-avro-rs-"$AVRO_RS_VERSION"-"$AVRO_RC_VERSION".tgz
cd ..
svn add "$AVRO_RS_VERSION"
svn ci -m "Add sources of avro-rs $AVRO_RS_VERSION for voting"

Send an email with similar content to dev@avro.apache.org:

[VOTE] Release Apache Avro Rust 0.22.0

Hi everyone,

I'd like to propose the following RC0 to be released as the official Apache Avro Rust 0.22.0 release.

The commit id is apache/avro-rs@9cb265d

The release tarball, signature, and checksums are here (revision r75797)

You can find the KEYS file here:

</tr></table>

... (truncated)

Commits
  • ec5721c chore(deps): Bump thiserror from 2.0.18 to 2.0.19 (#604)
  • b946aa3 chore(deps): Bump quote from 1.0.46 to 1.0.47 (#605)
  • 98fa1f4 chore(deps): Bump serde from 1.0.228 to 1.0.229 (#607)
  • 49732c4 chore(ci): Bump the github-codeql group with 2 updates (#608)
  • 73629eb chore(ci): Bump shogo82148/actions-setup-perl from 1.41.1 to 1.42.0 (#609)
  • ed733ed chore(ci): Bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 (#610)
  • 1c11867 chore(ci): Bump actions/setup-java from 5.5.0 to 5.6.0 (#611)
  • 6879d53 chore(ci): Bump taiki-e/install-action from 2.83.2 to 2.84.0 (#612)
  • e59778b chore(deps): Bump proc-macro2 from 1.0.106 to 1.0.107 (#603)
  • 784294d fix: Allow serializing an enum inside a union (#591)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [apache-avro](https://github.com/apache/avro-rs) from 0.21.0 to 0.22.0.
- [Release notes](https://github.com/apache/avro-rs/releases)
- [Changelog](https://github.com/apache/avro-rs/blob/main/RELEASE.md)
- [Commits](apache/avro-rs@rel/release-0.21.0...rel/release-0.22.0)

---
updated-dependencies:
- dependency-name: apache-avro
  dependency-version: 0.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added arrow Changes to the arrow crate auto-dependencies labels Aug 13, 2026
@github-actions github-actions Bot added the arrow-avro arrow-avro crate label Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arrow Changes to the arrow crate arrow-avro arrow-avro crate auto-dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants