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 dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 1, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/schema_registry_converter-5.0.0 branch 2 times, most recently from a518240 to df53624 Compare September 3, 2026 15:51
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 force-pushed the dependabot/cargo/schema_registry_converter-5.0.0 branch from df53624 to 5aa6d5b Compare September 4, 2026 12:31
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