<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel neccesary.
--->
This Pull Request integrates an `ICU4X` data provider API in our codebase, to make use of the internationalization APIs that this crate provides.
It changes the following:
- Creates an API for pluggable icu data providers at `Context` creation, adding an `Icu` struct to store the provider (and some other internationalization tools) at runtime.
- Slightly changes locale related functions to preserve the `Locale` type and ensure correctness. (Will make some other changes related to this).
- Integrates the `sys_locale` crate to fetch the current default locale of an user instead of always returning `en-US`.
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.5 to 1.5.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p>
<blockquote>
<h1>1.5.6 (2022-05-20)</h1>
<p>This release includes a few bug fixes, including a bug that produced incorrect
matches when a non-greedy <code>?</code> operator was used.</p>
<ul>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/680">#680</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/680">rust-lang/regex#680</a>):
Fixes a bug where <code>[[:alnum:][:^ascii:]]</code> dropped <code>[:alnum:]</code> from the class.</li>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/859">#859</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/859">rust-lang/regex#859</a>):
Fixes a bug where <code>Hir::is_match_empty</code> returned <code>false</code> for <code>\b</code>.</li>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/862">#862</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/862">rust-lang/regex#862</a>):
Fixes a bug where 'ab??' matches 'ab' instead of 'a' in 'ab'.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9aef5b1edc"><code>9aef5b1</code></a> 1.5.6</li>
<li><a href="2931b070fd"><code>2931b07</code></a> syntax: bump minimum regex-syntax version to 0.6.26</li>
<li><a href="b41bde0b85"><code>b41bde0</code></a> regex-syntax-0.6.26</li>
<li><a href="d98da65bb3"><code>d98da65</code></a> changelog: 1.5.6</li>
<li><a href="1c19619672"><code>1c19619</code></a> syntax: fix literal extraction for 'ab??'</li>
<li><a href="88a2a62d86"><code>88a2a62</code></a> syntax: fix 'is_match_empty' predicate</li>
<li><a href="72f09f1aeb"><code>72f09f1</code></a> syntax: fix ascii class union bug</li>
<li><a href="b5372864e2"><code>b537286</code></a> doc: fix some typos</li>
<li><a href="258bdf798a"><code>258bdf7</code></a> changelog: 1.5.5</li>
<li>See full diff in <a href="https://github.com/rust-lang/regex/compare/1.5.5...1.5.6">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.5.5&new-version=1.5.6)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.16 to 3.1.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.17</h2>
<h2>[3.1.17] - 2022-05-06</h2>
<h3>Fixes</h3>
<ul>
<li>Allow value names for <code>arg!</code> macro to have dashes when quoted, like longs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.17] - 2022-05-06</h2>
<h3>Fixes</h3>
<ul>
<li>Allow value names for <code>arg!</code> macro to have dashes when quoted, like longs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="55e791e80e"><code>55e791e</code></a> chore: Release</li>
<li><a href="ed0c01993c"><code>ed0c019</code></a> docs: Update changelog</li>
<li><a href="229b44d9bb"><code>229b44d</code></a> fix(macros): Allow dashed values (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3699">#3699</a>)</li>
<li><a href="95698a4f31"><code>95698a4</code></a> chore: Release</li>
<li><a href="3984e55363"><code>3984e55</code></a> docs(complete): Update changelog</li>
<li><a href="1a1a842aa0"><code>1a1a842</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3698">#3698</a> from epage/value</li>
<li><a href="b266e6d35d"><code>b266e6d</code></a> fix(complete): Complete visible, rather than hidden, values</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.1.16...v3.1.17">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.16&new-version=3.1.17)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.15 to 3.1.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.16</h2>
<h2>[3.1.16] - 2022-05-06</h2>
<h3>Fixes</h3>
<ul>
<li><em>(parser)</em> <code>Arg::exclusive</code> overrides <code>Arg::required</code>, like other conflicts</li>
<li><em>(error)</em> Don't duplicate arguments in usage</li>
<li><em>(error)</em> Don't show hidden arguments in conflict error usage</li>
<li><em>(help)</em> New <code>help_template</code> variable <code>{name}</code> to fix problems with <code>{bin}</code></li>
<li><em>(help)</em> Don't wrap URLs</li>
</ul>
<p><strong>gated behind <code>unstable-v4</code></strong></p>
<ul>
<li>Leading dashes in <code>Arg::long</code> are no longer allowed</li>
<li><em>(help)</em> Use <code>Command::display_name</code> in the help title rather than <code>Command::bin_name</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.16] - 2022-05-06</h2>
<h3>Fixes</h3>
<ul>
<li><em>(parser)</em> <code>Arg::exclusive</code> overrides <code>Arg::required</code>, like other conflicts</li>
<li><em>(error)</em> Don't duplicate arguments in usage</li>
<li><em>(error)</em> Don't show hidden arguments in conflict error usage</li>
<li><em>(help)</em> New <code>help_template</code> variable <code>{name}</code> to fix problems with <code>{bin}</code></li>
<li><em>(help)</em> Don't wrap URLs</li>
</ul>
<p><strong>gated behind <code>unstable-v4</code></strong></p>
<ul>
<li>Leading dashes in <code>Arg::long</code> are no longer allowed</li>
<li><em>(help)</em> Use <code>Command::display_name</code> in the help title rather than <code>Command::bin_name</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="17b930c203"><code>17b930c</code></a> chore: Release</li>
<li><a href="e74864994a"><code>e748649</code></a> docs: Update changelog</li>
<li><a href="0e1e9525c8"><code>0e1e952</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3696">#3696</a> from epage/usage</li>
<li><a href="05aecf8248"><code>05aecf8</code></a> refactor(help): Remove more redundant required checks</li>
<li><a href="dcda237ecc"><code>dcda237</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3689">#3689</a> from epage/usage</li>
<li><a href="e23c786f62"><code>e23c786</code></a> refactor(help): Remove redundant required check</li>
<li><a href="f7c2deaa47"><code>f7c2dea</code></a> fix(help): Don't show hidden arguments for conflicts</li>
<li><a href="2375a8ec2a"><code>2375a8e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3693">#3693</a> from epage/template</li>
<li><a href="e4c096ea99"><code>e4c096e</code></a> fix(help): Use display name instead of bin name (unstable-v4)</li>
<li><a href="16791ab0a7"><code>16791ab</code></a> test(help): Update for display name change</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.15...v3.1.16">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.15&new-version=3.1.16)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.80 to 1.0.81.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.81</h2>
<ul>
<li>Work around <code>indexmap</code>/<code>autocfg</code> not always properly detecting whether a <code>std</code> sysroot crate is available (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/885">#885</a>, thanks <a href="https://github.com/cuviper"><code>@cuviper</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a0ea9371cd"><code>a0ea937</code></a> Release 1.0.81</li>
<li><a href="6c3dfe948a"><code>6c3dfe9</code></a> Make it clearer that preserve_order implies a std dependency</li>
<li><a href="f34ef95fd1"><code>f34ef95</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/885">#885</a> from cuviper/indexmap-std</li>
<li><a href="27939bb1f9"><code>27939bb</code></a> Explicitly enable indexmap/std</li>
<li><a href="c0f93432cc"><code>c0f9343</code></a> Ignore trait_duplication_in_bounds clippy false positives</li>
<li><a href="048a64caec"><code>048a64c</code></a> Resolve type_repetition_in_bounds clippy lint</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.80...v1.0.81">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.80&new-version=1.0.81)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.14 to 3.1.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.15</h2>
<h2>[3.1.15] - 2022-05-02</h2>
<h3>Fixes</h3>
<ul>
<li><em>(error)</em> Render actual usage for unrecognized subcommands</li>
<li><em>(multicall)</em> Improve bad command error</li>
<li><em>(multicall)</em> Always require a multicall command</li>
<li><em>(multicall)</em> Disallow arguments on multicall parent command</li>
<li><em>(multicall)</em> More consistent with rest of clap errors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.15] - 2022-05-02</h2>
<h3>Fixes</h3>
<ul>
<li><em>(error)</em> Render actual usage for unrecognized subcommands</li>
<li><em>(multicall)</em> Improve bad command error</li>
<li><em>(multicall)</em> Always require a multicall command</li>
<li><em>(multicall)</em> Disallow arguments on multicall parent command</li>
<li><em>(multicall)</em> More consistent with rest of clap errors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0240ec5493"><code>0240ec5</code></a> chore: Release</li>
<li><a href="5543315d3b"><code>5543315</code></a> docs: Update chaneglog</li>
<li><a href="d33812f8a7"><code>d33812f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3677">#3677</a> from epage/multicall</li>
<li><a href="af3b789e4c"><code>af3b789</code></a> fix(multicall): Consistently skip multicall bin in help</li>
<li><a href="8cd59fa4e5"><code>8cd59fa</code></a> fix(multicall): More consistent whitespace in errors</li>
<li><a href="f9fdb99ee8"><code>f9fdb99</code></a> fix(multicall): Disallow args on multicall binary</li>
<li><a href="ce727f1951"><code>ce727f1</code></a> fix(error): Render actual usage for unrecognized subcommands</li>
<li><a href="5cd1a4070b"><code>5cd1a40</code></a> fix(multicall): Show subcommands are required</li>
<li><a href="414ae57a2a"><code>414ae57</code></a> fix(multicall): Improve bad multicall binary error</li>
<li><a href="86b0ea6ad4"><code>86b0ea6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3675">#3675</a> from epage/repl</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.14...v3.1.15">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.14&new-version=3.1.15)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.79 to 1.0.80.
<details>
<summary>Commits</summary>
<ul>
<li><a href="585e4c5dc7"><code>585e4c5</code></a> Release 1.0.80</li>
<li><a href="52a9c050f5"><code>52a9c05</code></a> Pull miri from miri branch of dtolnay/rust-toolchain</li>
<li><a href="aff685b8c9"><code>aff685b</code></a> Drop unneeded quoting from env variable in workflows yaml</li>
<li><a href="6995bbf784"><code>6995bbf</code></a> Update workflows to actions/checkout@v3</li>
<li><a href="829175e606"><code>829175e</code></a> Fix dev dependencies on serde's derive feature</li>
<li><a href="2733e635b3"><code>2733e63</code></a> Rewrap readme to 80 columns</li>
<li><a href="c5475a32db"><code>c5475a3</code></a> Apply readme changes from PR 864 to crate-level rustdoc</li>
<li><a href="56cf16f900"><code>56cf16f</code></a> Merge pull request 864 from novedevo/patch-1</li>
<li><a href="16b68b06d6"><code>16b68b0</code></a> Tweak grammar to improve readability</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.79...v1.0.80">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.79&new-version=1.0.80)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.12 to 3.1.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.14</h2>
<h2>[3.1.14] - 2022-05-01</h2>
<h3>Fixes</h3>
<ul>
<li>Panic when calling <code>Command::build</code> with a required positional argument nested several layers in subcommands</li>
</ul>
<h2>v3.1.13</h2>
<h2>[3.1.13] - 2022-04-30</h2>
<h3>Fixes</h3>
<ul>
<li>Help subcommand and <code>Command::write_help</code> now report required arguments in usage in more circumstances</li>
<li>Unknown subcommand for help subcommand flag now reports an error with more context</li>
<li>More details reported when using <code>debug</code> feature</li>
<li>Allow disabling <code>color</code> feature with <code>debug</code> feature enabled</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.14] - 2022-05-01</h2>
<h3>Fixes</h3>
<ul>
<li>Panic when calling <code>Command::build</code> with a required positional argument nested several layers in subcommands</li>
</ul>
<h2>[3.1.13] - 2022-04-30</h2>
<h3>Fixes</h3>
<ul>
<li>Help subcommand and <code>Command::write_help</code> now report required arguments in usage in more circumstances</li>
<li>Unknown subcommand for help subcommand flag now reports an error with more context</li>
<li>More details reported when using <code>debug</code> feature</li>
<li>Allow disabling <code>color</code> feature with <code>debug</code> feature enabled</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5e02ac1c19"><code>5e02ac1</code></a> chore: Release</li>
<li><a href="f7b00adacf"><code>f7b00ad</code></a> docs: Update chaneglog</li>
<li><a href="b37c0a1f0f"><code>b37c0a1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3670">#3670</a> from epage/panic</li>
<li><a href="0ecb6f4869"><code>0ecb6f4</code></a> fix(builder): Fully recurse when building</li>
<li><a href="c6849e2ebd"><code>c6849e2</code></a> fix(debug): Moe detail</li>
<li><a href="3ca1b77094"><code>3ca1b77</code></a> chore: Fix manifest</li>
<li><a href="b01256be36"><code>b01256b</code></a> chore: Release</li>
<li><a href="0c5400dadb"><code>0c5400d</code></a> chore: Release</li>
<li><a href="09d21f4005"><code>09d21f4</code></a> docs: Update changelog</li>
<li><a href="bd653b90d9"><code>bd653b9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3667">#3667</a> from epage/exe</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.12...v3.1.14">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.12&new-version=3.1.14)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.11 to 3.1.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.12</h2>
<h2>[3.1.12] - 2022-04-22</h2>
<h3>Fixes</h3>
<ul>
<li>Regression in 3.1.11 where the (output) streams were crossed</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.12] - 2022-04-22</h2>
<h3>Fixes</h3>
<ul>
<li>Regression in 3.1.11 where the (output) streams were crossed</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d805c6031d"><code>d805c60</code></a> chore: Release</li>
<li><a href="d09aec2c14"><code>d09aec2</code></a> docs: Update changelog</li>
<li><a href="61514bf6d1"><code>61514bf</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3646">#3646</a> from arlosi/fix-stdout</li>
<li><a href="854017b478"><code>854017b</code></a> fix: Mixup between stderr and stdout introduced in v3.1.11</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.1.11...v3.1.12">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.11&new-version=3.1.12)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.10 to 3.1.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.11</h2>
<h2>[3.1.11] - 2022-04-22</h2>
<h3>Fixes</h3>
<ul>
<li>Implied conflicts override <code>Arg::required</code>, making the behavior consistent with how we calculate conflicts for error reporting</li>
<li>Members of a mutually exclusive <code>ArgGroup</code> override <code>Arg::required</code>, making the behavior consistent with how we calculate conflicts for error reporting</li>
<li><code>Arg::overrides_with</code> always override <code>Arg::required</code>, not just when the parser processes an override</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.11] - 2022-04-22</h2>
<h3>Fixes</h3>
<ul>
<li>Implied conflicts override <code>Arg::required</code>, making the behavior consistent with how we calculate conflicts for error reporting</li>
<li>Members of a mutually exclusive <code>ArgGroup</code> override <code>Arg::required</code>, making the behavior consistent with how we calculate conflicts for error reporting</li>
<li><code>Arg::overrides_with</code> always override <code>Arg::required</code>, not just when the parser processes an override</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a46ee83224"><code>a46ee83</code></a> chore: Release</li>
<li><a href="62e9d2dfe1"><code>62e9d2d</code></a> docs: Update changelog</li>
<li><a href="8505c47e2e"><code>8505c47</code></a> refactor(validator): Decouple parser (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3645">#3645</a>)</li>
<li><a href="9d523012fe"><code>9d52301</code></a> refactor(validator): Decouple parser</li>
<li><a href="6229e78bc6"><code>6229e78</code></a> refactor(parser): Parser is solely responsible for populating ArgMatches</li>
<li><a href="02ffd59830"><code>02ffd59</code></a> refactor(help): Move help writing down a layer</li>
<li><a href="ebeade91bf"><code>ebeade9</code></a> refactor(help): Consolidate help errors</li>
<li><a href="6a9a5d05b0"><code>6a9a5d0</code></a> refactor(help): Make bool's meaning clearer</li>
<li><a href="639f9e8849"><code>639f9e8</code></a> refactor(parser): Pull out long-help determination</li>
<li><a href="a484f622de"><code>a484f62</code></a> fix(validate): Overrides always ignore required</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.10...v3.1.11">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.10&new-version=3.1.11)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.9 to 3.1.10.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.10] - 2022-04-19</h2>
<h3>Featues</h3>
<ul>
<li>Expose <code>Command::build</code> for custom help generation or other command introspection needs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0194568b03"><code>0194568</code></a> chore: Release</li>
<li><a href="62b1e4874a"><code>62b1e48</code></a> docs: Update changelog</li>
<li><a href="c818ef401d"><code>c818ef4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3642">#3642</a> from epage/build</li>
<li><a href="8f182067e3"><code>8f18206</code></a> feat(clap): Publicly expose <code>Command::build</code></li>
<li><a href="eddc04cbcc"><code>eddc04c</code></a> chore: Release</li>
<li><a href="84bcab77e5"><code>84bcab7</code></a> docs: Update changelog</li>
<li><a href="83f1b165ba"><code>83f1b16</code></a> perf(lex): Drop a dependency</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.1.9...v3.1.10">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.9&new-version=3.1.10)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.8 to 3.1.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.9</h2>
<h2>[3.1.9] - 2022-04-15</h2>
<h3>Fixes</h3>
<ul>
<li>Pin the <code>clap_derive</code> version so a compatible version is always used with <code>clap</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.9] - 2022-04-15</h2>
<h3>Fixes</h3>
<ul>
<li>Pin the <code>clap_derive</code> version so a compatible version is always used with <code>clap</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7598c000f9"><code>7598c00</code></a> chore: Release</li>
<li><a href="d05c5dac41"><code>d05c5da</code></a> docs: Update changelog</li>
<li><a href="4abf9d7f2e"><code>4abf9d7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3636">#3636</a> from epage/derive</li>
<li><a href="027f2511c6"><code>027f251</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3634">#3634</a> from turrisxyz/naveen/feat/set-perms-actions</li>
<li><a href="ed57342bdd"><code>ed57342</code></a> fix(derive): Couple derive version to clap</li>
<li><a href="297b9cf594"><code>297b9cf</code></a> chore: Release</li>
<li><a href="b3cbfd0ae0"><code>b3cbfd0</code></a> docs(man): Update changelog</li>
<li><a href="7849c35a3e"><code>7849c35</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3635">#3635</a> from epage/port</li>
<li><a href="15d8b3b0cd"><code>15d8b3b</code></a> style: Make clippy happy</li>
<li><a href="2f0d91688a"><code>2f0d916</code></a> docs(lex): Fix links</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.8...v3.1.9">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.8&new-version=3.1.9)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.7 to 3.1.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.8</h2>
<h2>[3.1.8] - 2022-04-01</h2>
<h3>Fixes</h3>
<ul>
<li>Add <code>Debug</code> impls to more types</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.8] - 2022-04-01</h2>
<h3>Fixes</h3>
<ul>
<li>Add <code>Debug</code> impls to more types</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="08f74046dc"><code>08f7404</code></a> chore: Release</li>
<li><a href="6aa40ad2cb"><code>6aa40ad</code></a> docs: Update changelog</li>
<li><a href="732830a98c"><code>732830a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3598">#3598</a> from dragonrider7225/bring-back-debug-impls</li>
<li><a href="17fed36da3"><code>17fed36</code></a> fix: Bring forward Debug impls from v2</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.1.7...v3.1.8">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.7&new-version=3.1.8)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.6 to 3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>[3.1.7] - 2022-03-31</h2>
<h3>Fixes</h3>
<ul>
<li><code>*(derive)* Abort, rather than ignore, when deriving </code>ArgEnum` with non-unit unskipped variants</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.7] - 2022-03-31</h2>
<h3>Fixes</h3>
<ul>
<li><code>*(derive)* Abort, rather than ignore, when deriving </code>ArgEnum` with non-unit unskipped variants</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c75d2642ef"><code>c75d264</code></a> chore: Release</li>
<li><a href="b774370565"><code>b774370</code></a> docs: Update changelog</li>
<li><a href="71ef8878c5"><code>71ef887</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3591">#3591</a> from Shir0kamii/fix-ArgEnum-non-unit</li>
<li><a href="fb4755d1c3"><code>fb4755d</code></a> feat(derive): Don't abort when non-unit variant is skipped</li>
<li><a href="ee3d12ec56"><code>ee3d12e</code></a> fix(derive): Abort on non-unit variant</li>
<li><a href="06f855f2ab"><code>06f855f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3582">#3582</a> from ducaale/fix-docs</li>
<li><a href="d55e46f65f"><code>d55e46f</code></a> docs(mangen): Fix docs for Man::section()</li>
<li><a href="731d18f300"><code>731d18f</code></a> docs(examples): Fix help output</li>
<li><a href="6835dfa978"><code>6835dfa</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3577">#3577</a> from samueltardieu/fix-arg-help-doc</li>
<li><a href="ef3c2c73d5"><code>ef3c2c7</code></a> docs: arg! macro uses double quotes for help string</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.6...v3.1.7">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.6&new-version=3.1.7)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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 Pull Request closes#1948.
It changes the following:
- set `readme` in `boa_engine` so `README.md` will be published to crates.io
- remove unnecessary `exclude` field from `Cargo.toml` in all apps
I was unsure whether using a path outside of the workspace root was allowed for `readme` since it [doesn't get included in the release tarball](https://github.com/rust-lang/cargo/issues/5911), but this exact path is used by [juniper](https://github.com/graphql-rust/juniper/blob/master/juniper/Cargo.toml#L13) and [seems to work there](https://crates.io/crates/juniper). I believe `cargo publish` does a bit more than just uploading the tarball, including pulling the `readme` from any arbitrary path.
The default behaviour of `cargo package`/`cargo publish` if neither `exclude` or `include` is specified is to include all files from the package root, excluding
- dotfiles
- .gitignore'd files
- subpackages (any subdirectory with a `Cargo.toml` file)
- the `/target` directory
There's no need to explicitly exclude files from the parent directory since they're already excluded by default. This can be verified by running `cargo package --list` inside any workspace app:
```plain
$ cd boa_wasm
$ cargo package --list
.gitignore
Cargo.toml
Cargo.toml.orig
src/lib.rs
```
You can read more [here](https://doc.rust-lang.org/cargo/reference/manifest.html#the-exclude-and-include-fields).
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.4 to 1.5.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p>
<blockquote>
<h1>1.5.5 (2022-03-08)</h1>
<p>This releases fixes a security bug in the regex compiler. This bug permits a
vector for a denial-of-service attack in cases where the regex being compiled
is untrusted. There are no known problems where the regex is itself trusted,
including in cases of untrusted haystacks.</p>
<ul>
<li><a href="https://github.com/rust-lang/regex/security/advisories/GHSA-m5pq-gvj9-9vr8">SECURITY #GHSA-m5pq-gvj9-9vr8</a>:
Fixes a bug in the regex compiler where empty sub-expressions subverted the
existing mitigations in place to enforce a size limit on compiled regexes.
The Rust Security Response WG published an advisory about this:
<a href="https://groups.google.com/g/rustlang-security-announcements/c/NcNNL1Jq7Yw">https://groups.google.com/g/rustlang-security-announcements/c/NcNNL1Jq7Yw</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d130381b15"><code>d130381</code></a> 1.5.5</li>
<li><a href="ae70b41d4f"><code>ae70b41</code></a> security: fix denial-of-service bug in compiler</li>
<li><a href="b92ffd5471"><code>b92ffd5</code></a> cargo: use SPDX license format</li>
<li><a href="f6e52dafde"><code>f6e52da</code></a> syntax: fix 'unused' warnings</li>
<li><a href="5197f21287"><code>5197f21</code></a> fuzz: do not use inherits in Cargo.toml</li>
<li><a href="3662851482"><code>3662851</code></a> doc: fix typo</li>
<li><a href="63ee6699a2"><code>63ee669</code></a> syntax/doc: fix 'their' typo</li>
<li><a href="d6bc7a4c3b"><code>d6bc7a4</code></a> readme: remove broken badge</li>
<li><a href="bd7466034f"><code>bd74660</code></a> fuzz: try to fix build issue</li>
<li><a href="bd0a14231b"><code>bd0a142</code></a> readme: fix badges</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/regex/compare/1.5.4...1.5.5">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.5.4&new-version=1.5.5)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.78 to 1.0.79.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.79</h2>
<ul>
<li>Allow <code>RawValue</code> deserialization to propagate <code>\u</code> escapes for unmatched surrogates, which can later by deserialized to Vec<u8> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/830">#830</a>, thanks <a href="https://github.com/lucacasonato"><code>@lucacasonato</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7025523603"><code>7025523</code></a> Release 1.0.79</li>
<li><a href="7e56a406e5"><code>7e56a40</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/830">#830</a> from lucacasonato/support_lone_surrogates_in_raw_value</li>
<li><a href="977975ee65"><code>977975e</code></a> Ignore buggy ptr_arg clippy lint</li>
<li><a href="aa78d6ca4e"><code>aa78d6c</code></a> Resolve needless_borrow clippy lint</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.78...v1.0.79">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.78&new-version=1.0.79)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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 PR adds some Clippy lints. Mainly, it adds the list of pedantic lints excluding some lints that were causing too many warnings. I also denied some useful restriction and pedantic lints, to make sure we use `Self` all the possible times (for better maintainability), and that we pass elements by reference where possible, for example, or that the documentation is properly written.
This might even have some small performance gains.
I also added a perfect hash function for the CLI keywords, which should be more efficient than a `HashSet`. This is something we could use elsewhere too.
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.76 to 1.0.78.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.78</h2>
<ul>
<li>Support deserializing as <code>&RawValue</code> in map key position, which would previously fail with <em>"invalid type: newtype struct"</em> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/851">#851</a>)</li>
</ul>
<h2>v1.0.77</h2>
<ul>
<li>Include discord invite links in the published readme</li>
<li>Improve compile error on compiling with neither <code>std</code> nor <code>alloc</code> feature enabled</li>
<li>Include integration tests in published package (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/578">#578</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="98cafacefe"><code>98cafac</code></a> Release 1.0.78</li>
<li><a href="2d81cbd113"><code>2d81cbd</code></a> Move raw_value test imports to block of imports</li>
<li><a href="cbb0342ba0"><code>cbb0342</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/851">#851</a> from serde-rs/rawkey</li>
<li><a href="e5cdfcc7ee"><code>e5cdfcc</code></a> Support deserializing map key as &RawValue</li>
<li><a href="6a3fb68979"><code>6a3fb68</code></a> Add test of deserializing a &RawValue in map key position</li>
<li><a href="d8512af496"><code>d8512af</code></a> Release 1.0.77</li>
<li><a href="5fe9bdd356"><code>5fe9bdd</code></a> Improve error on compiling with neither std nor alloc</li>
<li><a href="4c15649318"><code>4c15649</code></a> Include integration tests in published package</li>
<li><a href="71257c5667"><code>71257c5</code></a> Add discord invite links</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.76...v1.0.78">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.76&new-version=1.0.78)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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 builds on top of #1758 to try to bring #1763 to life.
Something that should probably be done here would be to convert `JsString` to a `Sym` internally. Then, further optimizations could be done adding common strings to a custom interner type (those that we know statically).
This is definitely work in progress, but I would like to have feedback on the API, and feel free to contribute.
Co-authored-by: raskad <32105367+raskad@users.noreply.github.com>
This Pull Request is part of #279.
It adds a string interner to Boa, which allows many types to not contain heap-allocated strings, and just contain a `NonZeroUsize` instead. This can move types to the stack (hopefully I'll be able to move `Token`, for example, maybe some `Node` types too.
Note that the internet is for now only available in the lexer. Next steps (in this PR or future ones) would include also using interning in the parser, and finally in execution. The idea is that strings should be represented with a `Sym` until they are displayed.
Talking about display. I have changed the `ParseError` type in order to not contain anything that could contain a `Sym` (basically tokens), which might be a bit faster, but what is important is that we don't depend on the interner when displaying errors.
The issue I have now is in order to display tokens. This requires the interner if we want to know identifiers, for example. The issue here is that Rust doesn't allow using a `fmt::Formatter` (only in nightly), which is making my head hurt. Maybe someone of you can find a better way of doing this.
Then, about `cursor.expect()`, this is the only place where we don't have the expected token type as a static string, so it's failing to compile. We have the option of changing the type definition of `ParseError` to contain an owned string, but maybe we can avoid this by having a `&'static str` come from a `TokenKind` with the default values, such as "identifier" for an identifier. I wanted for you to think about it and maybe we can just add that and avoid allocations there.
Oh, and this depends on the VM-only branch, so that has to be merged before :)
Another thing to check: should the interner be in its own module?
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
<details>
<summary>Commits</summary>
<ul>
<li><a href="97e92a3755"><code>97e92a3</code></a> v0.3.26</li>
<li><a href="2bdd6b49ad"><code>2bdd6b4</code></a> Clarification on maintenance since clap v3 is out</li>
<li><a href="2736281a64"><code>2736281</code></a> Upgrade heck</li>
<li><a href="358cccf9af"><code>358cccf</code></a> [docs] Add output to all examples</li>
<li><a href="4c1a8fcb2f"><code>4c1a8fc</code></a> Link to the clap API in the documentation that says all clap methods can be used</li>
<li><a href="ffd4772156"><code>ffd4772</code></a> Typo</li>
<li>See full diff in <a href="https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=structopt&package-manager=cargo&previous-version=0.3.25&new-version=0.3.26)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.73 to 1.0.75.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.74</h2>
<ul>
<li>Allow creating RawValues from references to unsized values (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/841">#841</a>, thanks <a href="https://github.com/EFanZh"><code>@EFanZh</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a22b686f49"><code>a22b686</code></a> Release 1.0.75</li>
<li><a href="36c43bfed5"><code>36c43bf</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/848">#848</a> from serde-rs/num</li>
<li><a href="d541381455"><code>d541381</code></a> Deserialize small numbers as integers in arbitrary_precision</li>
<li><a href="0ca5a69d73"><code>0ca5a69</code></a> Add regression test for issue 845</li>
<li><a href="66919777d0"><code>6691977</code></a> Disable buggy iter_not_returning_iterator lint</li>
<li><a href="aebe84cb09"><code>aebe84c</code></a> Raise toolchain version for preserve_order to rust 1.46</li>
<li><a href="3f459308f5"><code>3f45930</code></a> Set miriflags once for whole miri job</li>
<li><a href="c79d9ad2e1"><code>c79d9ad</code></a> Run miri also with some features enabled</li>
<li><a href="58d40de6ed"><code>58d40de</code></a> Release 1.0.74</li>
<li><a href="ef7794f87f"><code>ef7794f</code></a> Detect warnings in CI</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.73...v1.0.75">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.73&new-version=1.0.75)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.72 to 1.0.73.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.73</h2>
<ul>
<li>Update <code>itoa</code> dependency to 1.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="296f718e18"><code>296f718</code></a> Release 1.0.73</li>
<li><a href="48455de674"><code>48455de</code></a> Update to itoa 1.0</li>
<li><a href="b66b0eb322"><code>b66b0eb</code></a> Track raw pointers in miri CI run</li>
<li><a href="52eec5e2ee"><code>52eec5e</code></a> Add a miri test job in CI</li>
<li><a href="aaaf125f0b"><code>aaaf125</code></a> Disable TcpStream test on miri</li>
<li><a href="f0774c482a"><code>f0774c4</code></a> Raise required rustc from 1.31 to 1.36</li>
<li><a href="c3eddcdf40"><code>c3eddcd</code></a> Collect imports to top of test suite</li>
<li><a href="a28529ddc9"><code>a28529d</code></a> Skip ui test when running in miri</li>
<li><a href="7db1ea907d"><code>7db1ea9</code></a> Ignore needless_late_init Clippy lint</li>
<li><a href="fc0ca07b10"><code>fc0ca07</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/831">#831</a> from serde-rs/from_u32</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.72...v1.0.73">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.72&new-version=1.0.73)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.71 to 1.0.72.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.72</h2>
<ul>
<li>Interpret <code>\u</code>-encoded lone surrogates when deserializing into a byte string (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/828">#828</a>, <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/829">#829</a>, thanks <a href="https://github.com/lucacasonato"><code>@lucacasonato</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="76e376c8d1"><code>76e376c</code></a> Release 1.0.72</li>
<li><a href="77915ebaa6"><code>77915eb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/829">#829</a> from serde-rs/surrogate</li>
<li><a href="265fb7ee40"><code>265fb7e</code></a> Move discard of expected byte immediately after peek</li>
<li><a href="142207623a"><code>1422076</code></a> Rearrange the early return on lone or encoded surrogate</li>
<li><a href="311f185d8e"><code>311f185</code></a> Use binary mask to line up visually with the bits being |'d in</li>
<li><a href="11d3464f1c"><code>11d3464</code></a> Extract common logic of surrogate encode</li>
<li><a href="cb4a2517b2"><code>cb4a251</code></a> Document why the parse_escape recursion is not dangerous</li>
<li><a href="7911e704a0"><code>7911e70</code></a> Tail recurse on parse_escape</li>
<li><a href="48dad22b3f"><code>48dad22</code></a> Collapse surrogate encode into extend_from_slice call</li>
<li><a href="683832a343"><code>683832a</code></a> Touch up doc changes from PR 828</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.71...v1.0.72">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.71&new-version=1.0.72)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.70 to 1.0.71.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.71</h2>
<ul>
<li>Add serde_json::Map::get_key_value (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/821">#821</a>, thanks <a href="https://github.com/timothee-haudebourg"><code>@timothee-haudebourg</code></a>)</li>
<li>Add impl From<Box<RawValue>> for Box<str> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/824">#824</a>, thanks <a href="https://github.com/jplatte"><code>@jplatte</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="379412b138"><code>379412b</code></a> Release 1.0.71</li>
<li><a href="4125560711"><code>4125560</code></a> Consolidate unsafe RawValue transmutes in one place</li>
<li><a href="dee8161ce5"><code>dee8161</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/824">#824</a> from jplatte/box-raw-value-to-underlying</li>
<li><a href="584f47674a"><code>584f476</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/821">#821</a> from timothee-haudebourg/get_key_value</li>
<li><a href="1ae5566f01"><code>1ae5566</code></a> Disable <code>get_key_value</code> with older Rust versions.</li>
<li><a href="37fe6b5fa8"><code>37fe6b5</code></a> Add impl From<Box<!-- raw HTML omitted -->> for Box<str></li>
<li><a href="c4b6b97ccb"><code>c4b6b97</code></a> Add <code>Map::get_key_value</code> method.</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.70...v1.0.71">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.70&new-version=1.0.71)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.69 to 1.0.70.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.70</h2>
<ul>
<li>Add <code>serde_json::Map::retain</code> method (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/822">#822</a>, thanks <a href="https://github.com/deankarn"><code>@deankarn</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a050481b85"><code>a050481</code></a> Release 1.0.70</li>
<li><a href="24f85d2ecf"><code>24f85d2</code></a> Reorder Map::retain to keep keys() and values() adjacent</li>
<li><a href="37da27fc77"><code>37da27f</code></a> Merge pull request 822 from deankarn/master</li>
<li><a href="2e5b990995"><code>2e5b990</code></a> Merge branch 'master' of github.com:deankarn/json</li>
<li><a href="debd7d07fc"><code>debd7d0</code></a> remove duplicate function</li>
<li><a href="9e36f611db"><code>9e36f61</code></a> Update build.rs</li>
<li><a href="68d3b45c97"><code>68d3b45</code></a> fix function signature</li>
<li><a href="29a58a3077"><code>29a58a3</code></a> don't include indexmap retain without BTreeMap retain</li>
<li><a href="eaa1a319c0"><code>eaa1a31</code></a> fix no_btreemap_retain name</li>
<li><a href="09c5892433"><code>09c5892</code></a> test order</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.69...v1.0.70">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.69&new-version=1.0.70)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.68 to 1.0.69.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.69</h2>
<ul>
<li>Implement Hash for serde_json::Number (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/814">#814</a>, thanks <a href="https://github.com/timothee-haudebourg"><code>@timothee-haudebourg</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5c4f8b2254"><code>5c4f8b2</code></a> Release 1.0.69</li>
<li><a href="0035947522"><code>0035947</code></a> Touch up PR 814</li>
<li><a href="a28b1b1934"><code>a28b1b1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/814">#814</a> from timothee-haudebourg/hash-numbers-only</li>
<li><a href="f53ae31df6"><code>f53ae31</code></a> Use the same hash for +0 and -0.</li>
<li><a href="8b35517540"><code>8b35517</code></a> Revert "Disable broken fuzz build in CI"</li>
<li><a href="d12fbb9520"><code>d12fbb9</code></a> Fix <code>NaN</code> typo.</li>
<li><a href="48393aba40"><code>48393ab</code></a> Better justification for the use of <code>f64::to_bits</code></li>
<li><a href="9046e3fa86"><code>9046e3f</code></a> Avoid <code>Self::</code> for older Rust versions.</li>
<li><a href="c3ac6c0077"><code>c3ac6c0</code></a> Manual implementation of <code>Number</code>'s <code>PartialEq</code>.</li>
<li><a href="10655c7639"><code>10655c7</code></a> Use <code>core::hash</code> instead of <code>std::hash</code>.</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.68...v1.0.69">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.68&new-version=1.0.69)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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>