Skip to content

build(deps): bump schema_registry_converter from 4.10.0 to 5.0.0 - #49

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/schema_registry_converter-5.0.0
Open

build(deps): bump schema_registry_converter from 4.10.0 to 5.0.0#49
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/schema_registry_converter-5.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bumps schema_registry_converter from 4.10.0 to 5.0.0.

Release notes

Sourced from schema_registry_converter's releases.

Big new release closing all the pending issues.

What's Changed

Full Changelog: gklijs/schema_registry_converter@v4.10.0...v5.0.0

Changelog

Sourced from schema_registry_converter's changelog.

5.0.0

Two breaking changes bump this to a major version:

BytesResult (in schema_registry_common) now borrows the payload instead of owning it -- Invalid(Vec<u8>) / Valid(u32, Vec<u8>) are now Invalid(&'a [u8]) / Valid(u32, &'a [u8]), and get_bytes_result returns BytesResult<'_> borrowing from its input, instead of copying the whole payload into a fresh Vec on every call. This is on the hot path of every decode, for every format (Avro, JSON, protobuf), so it matters more the larger your messages are -- see #190 for measurements.

This only affects code that calls get_bytes_result/matches on BytesResult directly. The built-in AvroDecoder, JsonDecoder, ProtoDecoder and ProtoRawDecoder (blocking and async) are not affected -- their decode/decode_with_schema/etc. signatures haven't changed, and existing code calling those is unaffected. If you do call get_bytes_result directly and need to keep the bytes beyond the immediate match (store them, return them, carry them across an .await), copy them out explicitly where you used to get an owned Vec for free:

match get_bytes_result(bytes) {
    BytesResult::Valid(id, bytes) => {
        let owned: Vec<u8> = bytes.to_vec();
        // ... use `owned` instead of `bytes` wherever it needs to outlive this match
    }
    BytesResult::Invalid(bytes) => {
        let owned: Vec<u8> = bytes.to_vec();
        // ...
    }
    BytesResult::Null => {}
}

Second, apache-avro moved from ^0.21 to ^0.22, which turned Name::name/Name::namespace (apache_avro::schema::Name, returned in DecodeResult.name/DecodeResultWithSchema.name) from public fields into methods returning borrows (name() -> &str, namespace() -> Option<&str>) instead of owned Strings. If you access those on a Name obtained through this crate, it's not just adding parentheses -- .unwrap() on the Option<Name> now needs .as_ref() first, or the borrow from .name()/.namespace() outlives the temporary it came from:

// before (apache-avro 0.21, schema_registry_converter <5.0.0)
let name: String = decode_result.name.unwrap().name;
let namespace: Option<String> = decode_result.name.unwrap().namespace;
// after (apache-avro 0.22, schema_registry_converter >=5.0.0)
let name: &str = decode_result.name.as_ref().unwrap().name();
let namespace: Option<&str> = decode_result.name.as_ref().unwrap().namespace();

Not breaking, but worth knowing about: Avro encode/decode now reuse a cached, already-resolved schema instead of re-resolving it from scratch on every single call -- internal, not observable in the API, but measurably faster, more so the more named types (records/enums/fixed) your schema has. See #190.

... (truncated)

Commits

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 [schema_registry_converter](https://github.com/gklijs/schema_registry_converter) from 4.10.0 to 5.0.0.
- [Release notes](https://github.com/gklijs/schema_registry_converter/releases)
- [Changelog](https://github.com/gklijs/schema_registry_converter/blob/main/RELEASE_NOTES.md)
- [Commits](gklijs/schema_registry_converter@v4.10.0...v5.0.0)

---
updated-dependencies:
- dependency-name: schema_registry_converter
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants