dependabot[bot] opened a new pull request, #10678: URL: https://github.com/apache/arrow-rs/pull/10678
Bumps [apache-avro](https://github.com/apache/avro-rs) from 0.21.0 to 0.22.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/apache/avro-rs/releases">apache-avro's releases</a>.</em></p> <blockquote> <h2>Apache Avro Rust SDK 0.22.0 release</h2> <p>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 <a href="https://github.com/apache/avro-rs/blob/HEAD/#breaking-changes">Breaking changes</a> and <a href="https://github.com/apache/avro-rs/blob/HEAD/#new-features">New features</a> sections of the changelog.</p> <h1>What's changed</h1> <h2>Breaking changes</h2> <ul> <li>Resolve schema(ta) in the builder of <code>Writer</code> by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/328">#328</a> <ul> <li>The builder now returns an <code>AvroResult</code></li> </ul> </li> <li>Rework schema compatibility by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/342">#342</a> <ul> <li><code>SchemaCompatiblity::can_read</code> and <code>SchemaCompatiblity::mutual_read</code> now return a <code>Compatiblity</code> type</li> </ul> </li> <li>Bump MSRV from 1.85 to 1.88 by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/342">#342</a>, <a href="https://redirect.github.com/apache/avro-rs/issues/348">#348</a></li> <li><code>Schema::Duration</code> now has a <code>FixedSchema</code> allowing access to attributes and <code>Serialize</code> and <code>Deserialize</code> is implemented for <code>apache_avro::Duration</code> by <a href="https://github.com/jdarais"><code>@jdarais</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/382">#382</a></li> <li><code>AvroSchema</code> and <code>AvroSchemaComponent</code> are no longer behind the <code>derive</code> feature and have moved from <code>apache_avro::schema::derive</code> to <code>apache_avro::serde</code> by <a href="https://github.com/martin-g"><code>@martin-g</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/394">#394</a> and <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/433">#433</a></li> <li>Change the implementation of <code>AvroSchemaComponent</code> for <code>Uuid</code> from <code>Schema::Uuid(String)</code> to <code>Schema::Uuid(Fixed(name: "org.apache.avro.rust.Uuid", size: 16))</code> and allow overwriting a field's schema with the <code>with</code> attribute when using <code>#[derive(AvroSchema)]</code> by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/397">#397</a>, <a href="https://redirect.github.com/apache/avro-rs/issues/558">#558</a> <ul> <li>When <code>#[avro(with)]</code> is specified without an argument, it will call the <code>get_schema_in_ctxt(&mut HashSet<Name>, NamespaceRef<'_>) -> Schema</code> in the same module as specified by <code>#[serde(with)]</code></li> <li>When <code>#[avro(with = path::to::some_fn)]</code> is specified with a path, the function it's pointing to will be called with two parameters <code>&mut HashSet<Name>, NamespaceRef<'_></code></li> <li>When <code>#[avro(with = || {})]</code> is specified with a closure, that closure is invoked</li> <li>The name of the schema for <code>uuid::Uuid</code> is <code>org.apache.avro.rust.uuid</code></li> <li>The schema for <code>Uuid</code> can be changed back to a <code>Schema::Uuid(String)</code> using <code>#[avro(with = || Schema::Uuid(UuidSchema::String))]</code> on a field with a <code>Uuid</code> and setting <code>human_readable</code> to <code>true</code></li> </ul> </li> <li>Replace the <code>From<&str></code> implementations for <code>Name</code> and <code>Alias</code> with <code>TryFrom<&str></code>, <code>TryFrom<String></code>, and <code>FromStr</code> as the conversion is not fallible by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/423">#423</a></li> <li>Rework <code>SpecificSingleObjectWriter</code> removing <code>::with_capacity</code> and changing <code>write_avro_datum_ref</code> to also take a <code>&NamesRef</code> parameter by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/445">#445</a></li> <li>Remove the <code>default</code> field from <code>FixedSchema</code> as it is not in the specification by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/460">#460</a></li> <li><code>AvroSchemaComponent::get_schema_in_ctxt</code> now takes a <code>&mut HashSet<Name></code> parameter for the <code>named_schemas</code> parameter by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/471">#471</a></li> <li>Replace the <code>Schema::map{,_with_attributes}</code> and <code>Schema::array{,_with_attributes}</code> with builders allowing the user to set more fields by <a href="https://github.com/martin-g"><code>@martin-g</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/472">#472</a> <ul> <li>This also adds <code>Schema::r#enum</code>, <code>Schema::fixed</code> and <code>Schema::record</code></li> </ul> </li> <li>Stricter schema parsing by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/479">#479</a> <ul> <li>This now rejects schemas that were previously accepted by this library, they were already rejected by parsers in different languages</li> </ul> </li> <li><code>Alias::name</code> and <code>Alias::namespace</code> now return references by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/486">#486</a></li> <li>Remove unused <code>order</code> and <code>position</code> fields in <code>RecordField</code> by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/491">#491</a></li> <li>Rework <code>Name</code> to be more performant which requires changing the <code>SchemaNameValidator</code> trait by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/493">#493</a> <ul> <li>The regex returned by <code>SchemaNameValidator::regex</code> must have a capture group named <code>name</code> which captures the unqualified name when not overriding the <code>SchemaNameValidator::validate</code> function</li> <li>The <code>SchemaNameValidator::validate</code> must now return the start byte of the unqualified name</li> </ul> </li> <li>Support enums and tuples in <code>SchemaAwareSerializer</code>, implement <code>SchemaAwareDeserializer</code> and document the mapping between the Serde and Avro data models by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/512">#512</a>, <a href="https://redirect.github.com/apache/avro-rs/issues/558">#558</a> <ul> <li>The <code>SchemaAware*</code> 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)</li> <li>This also makes <code>human_readable</code> configurable per reader and writer instance</li> <li>Array and Map serialisation will not write the block size in bytes unless configured to do so, allowing unbuffered serialisation</li> <li>The <code>AvroSchemaComponent</code> implementation for <code>std::time::Duration</code> has changed to match the (de)serialisation implementation as defined by Serde <ul> <li>It is now a <code>Schema::Record(name: "org.apache.avro.rust.Duration", fields: ["secs": "org.apache.avro.rust.u64", "nanos": "long"])</code></li> </ul> </li> <li>The <code>AvroSchemaComponent</code> implementation for <code>BigDecimal</code> is now a <code>Schema::String</code> matching the (de)serialisation implementation as defined by bigdecimal <ul> <li>It can be changed back to a <code>Schema::String</code> using <code>#[serde(with = "apache_avro::serde::bigdecimal"), avro(with)]</code> on a field with a <code>BigDecimal</code></li> </ul> </li> <li>The <code>SchemaAwareDeserializer</code> does not support schema resolution, for that use the old <code>from_value</code> implementation (see <a href="https://redirect.github.com/apache/avro-rs/issues/575">#575</a>)</li> </ul> </li> </ul> <h2>New features</h2> <ul> <li>Make <code>DeflateSettings::compression_level</code> public by <a href="https://github.com/EmilyMatt"><code>@EmilyMatt</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/335">#335</a></li> <li>Support <code>fixed</code> as a type for <code>uuid</code> by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/339">#339</a></li> <li>Don't depend on Serde to provide fields in the right order by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/351">#351</a> <ul> <li>It is still recommended to match the field order between the type and the schema as out-of-order serialisation incurs a performance penalty</li> </ul> </li> <li>Support the <code>#[serde(flatten)]</code> attribute by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/359">#359</a>, <a href="https://redirect.github.com/apache/avro-rs/issues/448">#448</a> <ul> <li>This attribute is not supported when using <code>apache_avro::serde::to_value</code></li> </ul> </li> <li>Use the Serde attributes and check for conflict with the Avro attributes by <a href="https://github.com/Kriskras99"><code>@Kriskras99</code></a> in <a href="https://redirect.github.com/apache/avro-rs/issues/377">#377</a> <ul> <li>This deprecates the Avro attributes for which the value must always match the Serde attribute:</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/apache/avro-rs/blob/main/RELEASE.md">apache-avro's changelog</a>.</em></p> <blockquote> <h1>Release of Apache Avro Rust SDK</h1> <h2>Create a Git tag and archive the sources</h2> <pre><code># 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 </code></pre> <p>Note: make sure your GPG key is in <a href="https://dist.apache.org/repos/dist/release/avro/KEYS">https://dist.apache.org/repos/dist/release/avro/KEYS</a></p> <h2>Upload the sources to SVN dev area</h2> <pre><code># 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" </code></pre> <h2>Send an email with similar content to <a href="mailto:[email protected]">[email protected]</a>:</h2> <pre><code>[VOTE] Release Apache Avro Rust 0.22.0 <p>Hi everyone,</p> <p>I'd like to propose the following RC0 to be released as the official Apache Avro Rust 0.22.0 release.</p> <p>The commit id is <a href="https://github.com/apache/avro-rs/commit/9cb265d29351d3d0454bba30662f0066e04c171b">https://github.com/apache/avro-rs/commit/9cb265d29351d3d0454bba30662f0066e04c171b</a></p> <ul> <li>This corresponds to the tag: rel/release-0.22.0-rc0</li> <li><a href="https://github.com/apache/avro-rs/releases/tag/rel%2Frelease-0.22.0-rc0">https://github.com/apache/avro-rs/releases/tag/rel%2Frelease-0.22.0-rc0</a></li> </ul> <p>The release tarball, signature, and checksums are here (revision r75797)</p> <ul> <li><a href="https://dist.apache.org/repos/dist/dev/avro/avro-rs/0.22.0/">https://dist.apache.org/repos/dist/dev/avro/avro-rs/0.22.0/</a></li> </ul> <p>You can find the KEYS file here:</p> <ul> <li><a href="https://dist.apache.org/repos/dist/release/avro/KEYS">https://dist.apache.org/repos/dist/release/avro/KEYS</a></li> </ul> <p></tr></table> </code></pre></p> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apache/avro-rs/commit/ec5721cb0c80dcde56c1049a004f1d785abd88cf"><code>ec5721c</code></a> chore(deps): Bump thiserror from 2.0.18 to 2.0.19 (<a href="https://redirect.github.com/apache/avro-rs/issues/604">#604</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/b946aa3d942bf18477cbb2b2332a7ab5d1be95ff"><code>b946aa3</code></a> chore(deps): Bump quote from 1.0.46 to 1.0.47 (<a href="https://redirect.github.com/apache/avro-rs/issues/605">#605</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/98fa1f4672b27dc8d59e3797346ed1c788349cd6"><code>98fa1f4</code></a> chore(deps): Bump serde from 1.0.228 to 1.0.229 (<a href="https://redirect.github.com/apache/avro-rs/issues/607">#607</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/49732c4509f6a4abc150df151c5a69a4960bbd4e"><code>49732c4</code></a> chore(ci): Bump the github-codeql group with 2 updates (<a href="https://redirect.github.com/apache/avro-rs/issues/608">#608</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/73629eb21578b33b4c9c20cf23ca7aac83a2f3bd"><code>73629eb</code></a> chore(ci): Bump shogo82148/actions-setup-perl from 1.41.1 to 1.42.0 (<a href="https://redirect.github.com/apache/avro-rs/issues/609">#609</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/ed733ed344cb05d80bf8ce440b20525d6effb407"><code>ed733ed</code></a> chore(ci): Bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 (<a href="https://redirect.github.com/apache/avro-rs/issues/610">#610</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/1c118671b12512f764c6a0544bc8dedc806600b4"><code>1c11867</code></a> chore(ci): Bump actions/setup-java from 5.5.0 to 5.6.0 (<a href="https://redirect.github.com/apache/avro-rs/issues/611">#611</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/6879d53c1850531bd1083b845aa85ba3ee484c81"><code>6879d53</code></a> chore(ci): Bump taiki-e/install-action from 2.83.2 to 2.84.0 (<a href="https://redirect.github.com/apache/avro-rs/issues/612">#612</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/e59778ba0eef0af2b24a48f06d78dcbfb3f1624a"><code>e59778b</code></a> chore(deps): Bump proc-macro2 from 1.0.106 to 1.0.107 (<a href="https://redirect.github.com/apache/avro-rs/issues/603">#603</a>)</li> <li><a href="https://github.com/apache/avro-rs/commit/784294dd2cf7a6d6290bd08dda2b31a5ac4fa34f"><code>784294d</code></a> fix: Allow serializing an enum inside a union (<a href="https://redirect.github.com/apache/avro-rs/issues/591">#591</a>)</li> <li>Additional commits viewable in <a href="https://github.com/apache/avro-rs/compare/rel/release-0.21.0...rel/release-0.22.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
