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: &quot;org.apache.avro.rust.Uuid&quot;, 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(&amp;mut HashSet&lt;Name&gt;, 
NamespaceRef&lt;'_&gt;) -&gt; 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>&amp;mut HashSet&lt;Name&gt;, NamespaceRef&lt;'_&gt;</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&lt;&amp;str&gt;</code> implementations for 
<code>Name</code> and <code>Alias</code> with 
<code>TryFrom&lt;&amp;str&gt;</code>, <code>TryFrom&lt;String&gt;</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>&amp;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>&amp;mut HashSet&lt;Name&gt;</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: 
&quot;org.apache.avro.rust.Duration&quot;, fields: [&quot;secs&quot;: 
&quot;org.apache.avro.rust.u64&quot;, &quot;nanos&quot;: 
&quot;long&quot;])</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 = &quot;apache_avro::serde::bigdecimal&quot;), 
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 &amp;&amp; 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 &quot;Update version to $AVRO_RS_VERSION&quot;
   git tag -s rel/release-$AVRO_RS_VERSION-$AVRO_RC_VERSION -m &quot;Avro-rs 
$AVRO_RS_VERSION $AVRO_RC_VERSION release.&quot;
   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 &quot;$AVRO_RS_VERSION&quot; &amp;&amp; cd 
&quot;$AVRO_RS_VERSION&quot; || exit
   cp 
.../apache-avro-rs-&quot;$AVRO_RS_VERSION&quot;-&quot;$AVRO_RC_VERSION&quot;.tgz
 .
   sha256sum 
apache-avro-rs-&quot;$AVRO_RS_VERSION&quot;-&quot;$AVRO_RC_VERSION&quot;.tgz 
&gt; 
apache-avro-rs-&quot;$AVRO_RS_VERSION&quot;-&quot;$AVRO_RC_VERSION&quot;.tgz.sha256
   gpg --armor --output 
apache-avro-rs-&quot;$AVRO_RS_VERSION&quot;-&quot;$AVRO_RC_VERSION&quot;.tgz.asc
 --detach-sig 
apache-avro-rs-&quot;$AVRO_RS_VERSION&quot;-&quot;$AVRO_RC_VERSION&quot;.tgz
   cd ..
   svn add &quot;$AVRO_RS_VERSION&quot;
   svn ci -m &quot;Add sources of avro-rs $AVRO_RS_VERSION for voting&quot;
   </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>&lt;/tr&gt;&lt;/table&gt;
   </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 />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=apache-avro&package-manager=cargo&previous-version=0.21.0&new-version=0.22.0)](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]

Reply via email to