Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a href="https://github.com/takost"><code>@​takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a href="https://github.com/takost"><code>@​takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a href="https://github.com/dscho"><code>@​dscho</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li>Release 3.6.0 by <a href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins by <a href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li>Fix typos found by codespell by <a href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li>Add support for sparse checkouts by <a href="https://github.com/dscho"><code>@​dscho</code></a> and <a href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
<li>Release v3.5.3 by <a href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/megamanics"><code>@​megamanics</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a> based on <a href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a> by <a href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading <code>@​actions/github</code> dependency by <a href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1396">Add support for partial checkout filters</a></li>
</ul>
<h2>v4.0.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1196">Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade codeql actions to v2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade dependencies</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade <code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1045">Implement branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix status badge</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1002">Replace datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap pipeline commands for submoduleForeach in quotes</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1029">Update <code>@​actions/io</code> to 1.1.2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use <code>@​actions/core</code> <code>saveState</code> and <code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add <code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/checkout/commit/8ade135a41bc03ea155e62e844d188df1ea18608"><code>8ade135</code></a> Prepare 4.1.0 release (<a href="https://redirect.github.com/actions/checkout/issues/1496">#1496</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/c533a0a4cfc4962971818edcfac47a2899e69799"><code>c533a0a</code></a> Add support for partial checkout filters (<a href="https://redirect.github.com/actions/checkout/issues/1396">#1396</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/72f2cec99f417b1a1c5e2e88945068983b7965f9"><code>72f2cec</code></a> Update README.md for V4 (<a href="https://redirect.github.com/actions/checkout/issues/1452">#1452</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/3df4ab11eba7bda6032a0b82a6bb43b11571feac"><code>3df4ab1</code></a> Release 4.0.0 (<a href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/8b5e8b768746b50394015010d25e690bfab9dfbc"><code>8b5e8b7</code></a> Support fetching without the --progress option (<a href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/97a652b80035363df47baee5031ec8670b8878ac"><code>97a652b</code></a> Update default runtime to node20 (<a href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3...v4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](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 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>
Bump actions/checkout from 3 to 4. Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a href="https://github.com/takost"><code>@​takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a href="https://github.com/takost"><code>@​takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a href="https://github.com/dscho"><code>@​dscho</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li>Release 3.6.0 by <a href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins by <a href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li>Fix typos found by codespell by <a href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li>Add support for sparse checkouts by <a href="https://github.com/dscho"><code>@​dscho</code></a> and <a href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
<li>Release v3.5.3 by <a href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/megamanics"><code>@​megamanics</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a> based on <a href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a> by <a href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading <code>@​actions/github</code> dependency by <a href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1396">Add support for partial checkout filters</a></li>
</ul>
<h2>v4.0.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1196">Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade codeql actions to v2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade dependencies</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade <code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1045">Implement branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix status badge</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1002">Replace datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap pipeline commands for submoduleForeach in quotes</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1029">Update <code>@​actions/io</code> to 1.1.2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use <code>@​actions/core</code> <code>saveState</code> and <code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add <code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/checkout/commit/8ade135a41bc03ea155e62e844d188df1ea18608"><code>8ade135</code></a> Prepare 4.1.0 release (<a href="https://redirect.github.com/actions/checkout/issues/1496">#1496</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/c533a0a4cfc4962971818edcfac47a2899e69799"><code>c533a0a</code></a> Add support for partial checkout filters (<a href="https://redirect.github.com/actions/checkout/issues/1396">#1396</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/72f2cec99f417b1a1c5e2e88945068983b7965f9"><code>72f2cec</code></a> Update README.md for V4 (<a href="https://redirect.github.com/actions/checkout/issues/1452">#1452</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/3df4ab11eba7bda6032a0b82a6bb43b11571feac"><code>3df4ab1</code></a> Release 4.0.0 (<a href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/8b5e8b768746b50394015010d25e690bfab9dfbc"><code>8b5e8b7</code></a> Support fetching without the --progress option (<a href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/97a652b80035363df47baee5031ec8670b8878ac"><code>97a652b</code></a> Update default runtime to node20 (<a href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3...v4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](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 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>
site_name: Pydantic
site_description: Data validation using Python type hints
strict: true
site_url: https://docs.pydantic.dev/

theme:
  name: 'material'
  custom_dir: 'docs/theme'
  palette:
  - media: "(prefers-color-scheme: light)"
    scheme: default
    primary: pink
    accent: pink
    toggle:
      icon: material/lightbulb-outline
      name: "Switch to dark mode"
  - media: "(prefers-color-scheme: dark)"
    scheme: slate
    primary: pink
    accent: pink
    toggle:
      icon: material/lightbulb
      name: "Switch to light mode"
  features:
    - content.tabs.link
    - content.code.annotate
    - content.code.copy
    - announce.dismiss
    - navigation.tabs
  logo: 'logo-white.svg'
  favicon: 'favicon.png'

repo_name: pydantic/pydantic
repo_url: https://github.com/pydantic/pydantic
edit_uri: edit/main/docs/
extra:
  version:
    provider: mike

extra_css:
  - 'extra/terminal.css'
  - 'extra/tweaks.css'
extra_javascript:
  - 'extra/fluff.js'
  - 'https://samuelcolvin.github.io/mkdocs-run-code/run_code_main.js'

nav:
- Get Started:
  - Welcome to Pydantic: index.md
  - Why use Pydantic: why.md
  - Help with Pydantic: help_with_pydantic.md
  - Installation: install.md
  - Migration Guide: migration.md
  - Version Policy: version-policy.md
  - Contributing: contributing.md
  - Changelog: changelog.md
- Concepts:
  - Models: concepts/models.md
  - Fields: concepts/fields.md
  - JSON Schema: concepts/json_schema.md
  - Types: concepts/types.md
  - Alias: concepts/alias.md
  - Configuration: concepts/config.md
  - Serialization: concepts/serialization.md
  - Validators: concepts/validators.md
  - Dataclasses: concepts/dataclasses.md
  - Postponed Annotations: concepts/postponed_annotations.md
  - Strict Mode: concepts/strict_mode.md
  - Validation Decorator: concepts/validation_decorator.md
  - Conversion Table: concepts/conversion_table.md
  - Settings Management: concepts/pydantic_settings.md
  - Performance: concepts/performance.md
  - Pydantic Plugins: concepts/plugins.md
- API Documentation:
  - Pydantic:
    - BaseModel: api/base_model.md
    - RootModel: api/root_model.md
    - Pydantic Dataclasses: api/dataclasses.md
    - TypeAdapter: api/type_adapter.md
    - Validation Decorator: api/validate_call.md
    - Fields: api/fields.md
    - Configuration: api/config.md
    - JSON Schema: api/json_schema.md
    - Errors: api/errors.md
    - Functional Validators: api/functional_validators.md
    - Functional Serializers: api/functional_serializers.md
    - Standard Library Types: api/standard_library_types.md
    - Pydantic Types: api/types.md
    - Network Types: api/networks.md
    - Version Information: api/version.md
    - Pydantic Plugins: api/plugin.md
    - Annotated Handlers: api/annotated_handlers.md
  - Pydantic Core:
    - pydantic_core: api/pydantic_core.md
    - pydantic_core.core_schema: api/pydantic_core_schema.md
  - Pydantic Settings: api/pydantic_settings.md
  - Pydantic Extra Types:
    - Color: api/pydantic_extra_types_color.md
    - Country: api/pydantic_extra_types_country.md
    - Payment: api/pydantic_extra_types_payment.md
    - Phone Numbers: api/pydantic_extra_types_phone_numbers.md
    - Routing Numbers: api/pydantic_extra_types_routing_numbers.md
    - Coordinate: api/pydantic_extra_types_coordinate.md
    - Mac Address: api/pydantic_extra_types_mac_address.md
- Examples:
  - Secrets: examples/secrets.md
- Error Messages:
  - Error Handling: errors/errors.md
  - Validation Errors: errors/validation_errors.md
  - Usage Errors: errors/usage_errors.md
- Integrations:
  - Mypy: integrations/mypy.md/.
  - PyCharm: integrations/pycharm.md
  - Hypothesis: integrations/hypothesis.md
  - Visual Studio Code: integrations/visual_studio_code.md
  - datamodel-code-generator: integrations/datamodel_code_generator.md
  - devtools: integrations/devtools.md
  - Rich: integrations/rich.md
- Blog:
  - blog/pydantic-v2-final.md
  - blog/pydantic-v2-alpha.md
  - blog/pydantic-v2.md

markdown_extensions:
- tables
- toc:
    permalink: true
    title: Page contents
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.highlight:
    pygments_lang_class: true
- pymdownx.extra
- pymdownx.emoji:
    emoji_index: !!python/name:materialx.emoji.twemoji
    emoji_generator: !!python/name:materialx.emoji.to_svg
- pymdownx.tabbed:
    alternate_style: true

watch:
- pydantic

plugins:
- mike:
    alias_type: symlink
    canonical_version: latest
- search
- exclude:
    glob:
    - theme/announce.html
    - plugins/*
    - __pycache__/*
- mkdocstrings:
    handlers:
      python:
        paths: [.]
        options:
          members_order: source
          separate_signature: true
          filters: ["!^_"]
          docstring_options:
            ignore_init_summary: true
          merge_init_into_class: true
          extensions:
            - docs/plugins/griffe_doclinks.py
- mkdocs-simple-hooks:
    hooks:
      on_pre_build: 'docs.plugins.main:on_pre_build'
      on_files: 'docs.plugins.main:on_files'
      on_page_markdown: 'docs.plugins.main:on_page_markdown'
- redirects:
    redirect_maps:
      'usage/mypy.md': 'integrations/mypy.md'
      'mypy_plugin.md': 'integrations/mypy.md'
      'datamodel_code_generator.md': 'integrations/datamodel_code_generator.md'
      'visual_studio_code.md': 'integrations/visual_studio_code.md'
      'hypothesis_plugin.md': 'integrations/hypothesis.md'
      'pycharm_plugin.md': 'integrations/pycharm.md'
      'usage/model_config.md': 'api/config.md'
      'usage/devtools.md': 'integrations/devtools.md'
      'usage/rich.md': 'integrations/rich.md'
      'usage/types.md': 'concepts/types.md'
      'usage/types/secrets.md': 'examples/secrets.md'
      'usage/types/string_types.md': 'api/types.md#pydantic.types.StringConstraints'
      'usage/types/file_types.md': 'api/types.md#pydantic.types.FilePath'
      'api/main.md': 'api/base_model.md'
      'api/color.md': 'api/pydantic_extra_types_color.md'
      'api/alias_generators.md': 'api/config.md#pydantic.config.ConfigDict.alias_generator'
      'api/pydantic_core_init.md': 'api/pydantic_core.md'
      'usage/types/booleans.md': 'api/standard_library_types.md#booleans'
      'usage/types/callables.md': 'api/standard_library_types.md#callable'
      'usage/types/custom.md': 'concepts/types.md#custom-types'
      'usage/types/datetime.md': 'api/standard_library_types.md#datetime-types'
      'usage/types/enum.md': 'api/standard_library_types.md#enum'
      'usage/types/json.md': 'api/types.md#pydantic.types.Json'
      'usage/types/list_types.md': 'api/standard_library_types.md#list'
      'usage/types/standard_types.md': 'api/standard_library_types.md'
      'usage/types/strict_types.md': 'concepts/types.md#strict-types'
      'usage/types/types.md': 'concepts/types.md'
      'usage/types/urls.md': 'api/networks.md'
      'usage/types/unions.md': 'api/standard_library_types.md#union'
      'usage/types/typevars.md': 'api/standard_library_types.md#type-and-typevar'
      'usage/types/types_fields.md': 'api/standard_library_types.md'
      'usage/validation_errors.md': 'errors/validation_errors.md'
      'usage/errors.md': 'errors/usage_errors.md'
      'usage/types/extra_types/color_types.md': 'api/pydantic_extra_types_color.md'
      'usage/types/extra_types/extra_types.md': 'api/pydantic_extra_types_color.md'
      'usage/types/extra_types/coordinate.md': 'api/pydantic_extra_types_coordinate.md'
      'usage/types/extra_types/mac_address.md': 'api/pydantic_extra_types_mac_address.md'
      'usage/types/extra_types/payment_cards.md': 'api/pydantic_extra_types_payment.md'
      'usage/types/extra_types/phone_numbers.md': 'api/pydantic_extra_types_phone_numbers.md'
      'usage/types/extra_types/routing_numbers.md': 'api/pydantic_extra_types_routing_numbers.md'
      'version-compatibility.md': 'version-policy.md'
      'api/pydantic_extra_types_routing_number.md': 'api/pydantic_extra_types_routing_numbers.md'
      'usage/computed_fields.md': 'api/fields.md#pydantic.fields.computed_field'
      'usage/conversion_table.md': 'concepts/conversion_table.md'
      'usage/dataclasses.md': 'concepts/dataclasses.md'
      'usage/fields.md': 'concepts/fields.md'
      'usage/json_schema.md': 'concepts/json_schema.md'
      'usage/models.md': 'concepts/models.md'
      'usage/postponed_annotations.md': 'concepts/postponed_annotations.md'
      'usage/pydantic_settings.md': 'concepts/pydantic_settings.md'
      'usage/serialization.md': 'concepts/serialization.md'
      'usage/strict_mode.md': 'concepts/strict_mode.md'
      'usage/type_adapter.md': 'api/type_adapter.md'
      'usage/validation_decorator.md': 'concepts/validation_decorator.md'
      'usage/validators.md': 'concepts/validators.md'
      'usage/types/bytesize.md': 'api/types.md#pydantic.types.ByteSize'
      'usage/types/dicts_mapping.md': 'api/standard_library_types.md#mapping-types'
      'usage/types/encoded.md': 'api/types.md#pydantic.types.EncodedBytes'
      'usage/types/enums.md': 'api/standard_library_types.md#enum'
      'usage/types/number_types.md': 'api/standard_library_types.md#number-types'
      'usage/types/sequence_iterable.md': 'api/standard_library_types.md#other-iterables'
      'usage/types/set_types.md': 'api/standard_library_types.md#sets'
      'usage/types/uuids.md': 'api/standard_library_types.md#uuid'
- external-markdown:

site_name: Pydantic
site_description: Data validation using Python type hints
strict: true
site_url: https://docs.pydantic.dev/

theme:
  name: 'material'
  custom_dir: 'docs/theme'
  palette:
  - media: "(prefers-color-scheme: light)"
    scheme: default
    primary: pink
    accent: pink
    toggle:
      icon: material/lightbulb-outline
      name: "Switch to dark mode"
  - media: "(prefers-color-scheme: dark)"
    scheme: slate
    primary: pink
    accent: pink
    toggle:
      icon: material/lightbulb
      name: "Switch to light mode"
  features:
    - content.tabs.link
    - content.code.annotate
    - content.code.copy
    - announce.dismiss
    - navigation.tabs
  logo: 'logo-white.svg'
  favicon: 'favicon.png'

repo_name: pydantic/pydantic
repo_url: https://github.com/pydantic/pydantic
edit_uri: edit/main/docs/
extra:
  version:
    provider: mike

extra_css:
  - 'extra/terminal.css'
  - 'extra/tweaks.css'
extra_javascript:
  - 'extra/fluff.js'
  - 'https://samuelcolvin.github.io/mkdocs-run-code/run_code_main.js'

nav:
- Get Started:
  - Welcome to Pydantic: index.md
  - Why use Pydantic: why.md
  - Help with Pydantic: help_with_pydantic.md
  - Installation: install.md
  - Migration Guide: migration.md
  - Version Policy: version-policy.md
  - Contributing: contributing.md
  - Changelog: changelog.md
- Concepts:
  - Models: concepts/models.md
  - Fields: concepts/fields.md
  - JSON Schema: concepts/json_schema.md
  - Types: concepts/types.md
  - Alias: concepts/alias.md
  - Configuration: concepts/config.md
  - Serialization: concepts/serialization.md
  - Validators: concepts/validators.md
  - Dataclasses: concepts/dataclasses.md
  - Postponed Annotations: concepts/postponed_annotations.md
  - Strict Mode: concepts/strict_mode.md
  - Validation Decorator: concepts/validation_decorator.md
  - Conversion Table: concepts/conversion_table.md
  - Settings Management: concepts/pydantic_settings.md
  - Performance: concepts/performance.md
  - Pydantic Plugins: concepts/plugins.md
- API Documentation:
  - Pydantic:
    - BaseModel: api/base_model.md
    - RootModel: api/root_model.md
    - Pydantic Dataclasses: api/dataclasses.md
    - TypeAdapter: api/type_adapter.md
    - Validation Decorator: api/validate_call.md
    - Fields: api/fields.md
    - Configuration: api/config.md
    - JSON Schema: api/json_schema.md
    - Errors: api/errors.md
    - Functional Validators: api/functional_validators.md
    - Functional Serializers: api/functional_serializers.md
    - Standard Library Types: api/standard_library_types.md
    - Pydantic Types: api/types.md
    - Network Types: api/networks.md
    - Version Information: api/version.md
    - Pydantic Plugins: api/plugin.md
    - Annotated Handlers: api/annotated_handlers.md
  - Pydantic Core:
    - pydantic_core: api/pydantic_core.md
    - pydantic_core.core_schema: api/pydantic_core_schema.md
  - Pydantic Settings: api/pydantic_settings.md
  - Pydantic Extra Types:
    - Color: api/pydantic_extra_types_color.md
    - Country: api/pydantic_extra_types_country.md
    - Payment: api/pydantic_extra_types_payment.md
    - Phone Numbers: api/pydantic_extra_types_phone_numbers.md
    - Routing Numbers: api/pydantic_extra_types_routing_numbers.md
    - Coordinate: api/pydantic_extra_types_coordinate.md
    - Mac Address: api/pydantic_extra_types_mac_address.md
- Examples:
  - Secrets: examples/secrets.md
- Error Messages:
  - Error Handling: errors/errors.md
  - Validation Errors: errors/validation_errors.md
  - Usage Errors: errors/usage_errors.md
- Integrations:
  - Mypy: integrations/mypy.md/.
  - PyCharm: integrations/pycharm.md
  - Hypothesis: integrations/hypothesis.md
  - Visual Studio Code: integrations/visual_studio_code.md
  - datamodel-code-generator: integrations/datamodel_code_generator.md
  - devtools: integrations/devtools.md
  - Rich: integrations/rich.md
- Blog:
  - blog/pydantic-v2-final.md
  - blog/pydantic-v2-alpha.md
  - blog/pydantic-v2.md

markdown_extensions:
- tables
- toc:
    permalink: true
    title: Page contents
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.highlight:
    pygments_lang_class: true
- pymdownx.extra
- pymdownx.emoji:
    emoji_index: !!python/name:materialx.emoji.twemoji
    emoji_generator: !!python/name:materialx.emoji.to_svg
- pymdownx.tabbed:
    alternate_style: true

watch:
- pydantic

plugins:
- mike:
    alias_type: symlink
    canonical_version: latest
- search
- exclude:
    glob:
    - theme/announce.html
    - plugins/*
    - __pycache__/*
- mkdocstrings:
    handlers:
      python:
        paths: [.]
        options:
          members_order: source
          separate_signature: true
          filters: ["!^_"]
          docstring_options:
            ignore_init_summary: true
          merge_init_into_class: true
          extensions:
            - docs/plugins/griffe_doclinks.py
- mkdocs-simple-hooks:
    hooks:
      on_pre_build: 'docs.plugins.main:on_pre_build'
      on_files: 'docs.plugins.main:on_files'
      on_page_markdown: 'docs.plugins.main:on_page_markdown'
- redirects:
    redirect_maps:
      'usage/mypy.md': 'integrations/mypy.md'
      'mypy_plugin.md': 'integrations/mypy.md'
      'datamodel_code_generator.md': 'integrations/datamodel_code_generator.md'
      'visual_studio_code.md': 'integrations/visual_studio_code.md'
      'hypothesis_plugin.md': 'integrations/hypothesis.md'
      'pycharm_plugin.md': 'integrations/pycharm.md'
      'usage/model_config.md': 'api/config.md'
      'usage/devtools.md': 'integrations/devtools.md'
      'usage/rich.md': 'integrations/rich.md'
      'usage/types.md': 'concepts/types.md'
      'usage/types/secrets.md': 'examples/secrets.md'
      'usage/types/string_types.md': 'api/types.md#pydantic.types.StringConstraints'
      'usage/types/file_types.md': 'api/types.md#pydantic.types.FilePath'
      'api/main.md': 'api/base_model.md'
      'api/color.md': 'api/pydantic_extra_types_color.md'
      'api/alias_generators.md': 'api/config.md#pydantic.config.ConfigDict.alias_generator'
      'api/pydantic_core_init.md': 'api/pydantic_core.md'
      'usage/types/booleans.md': 'api/standard_library_types.md#booleans'
      'usage/types/callables.md': 'api/standard_library_types.md#callable'
      'usage/types/custom.md': 'concepts/types.md#custom-types'
      'usage/types/datetime.md': 'api/standard_library_types.md#datetime-types'
      'usage/types/enum.md': 'api/standard_library_types.md#enum'
      'usage/types/json.md': 'api/types.md#pydantic.types.Json'
      'usage/types/list_types.md': 'api/standard_library_types.md#list'
      'usage/types/standard_types.md': 'api/standard_library_types.md'
      'usage/types/strict_types.md': 'concepts/types.md#strict-types'
      'usage/types/types.md': 'concepts/types.md'
      'usage/types/urls.md': 'api/networks.md'
      'usage/types/unions.md': 'api/standard_library_types.md#union'
      'usage/types/typevars.md': 'api/standard_library_types.md#type-and-typevar'
      'usage/types/types_fields.md': 'api/standard_library_types.md'
      'usage/validation_errors.md': 'errors/validation_errors.md'
      'usage/errors.md': 'errors/usage_errors.md'
      'usage/types/extra_types/color_types.md': 'api/pydantic_extra_types_color.md'
      'usage/types/extra_types/extra_types.md': 'api/pydantic_extra_types_color.md'
      'usage/types/extra_types/coordinate.md': 'api/pydantic_extra_types_coordinate.md'
      'usage/types/extra_types/mac_address.md': 'api/pydantic_extra_types_mac_address.md'
      'usage/types/extra_types/payment_cards.md': 'api/pydantic_extra_types_payment.md'
      'usage/types/extra_types/phone_numbers.md': 'api/pydantic_extra_types_phone_numbers.md'
      'usage/types/extra_types/routing_numbers.md': 'api/pydantic_extra_types_routing_numbers.md'
      'version-compatibility.md': 'version-policy.md'
      'api/pydantic_extra_types_routing_number.md': 'api/pydantic_extra_types_routing_numbers.md'
      'usage/computed_fields.md': 'api/fields.md#pydantic.fields.computed_field'
      'usage/conversion_table.md': 'concepts/conversion_table.md'
      'usage/dataclasses.md': 'concepts/dataclasses.md'
      'usage/fields.md': 'concepts/fields.md'
      'usage/json_schema.md': 'concepts/json_schema.md'
      'usage/models.md': 'concepts/models.md'
      'usage/postponed_annotations.md': 'concepts/postponed_annotations.md'
      'usage/pydantic_settings.md': 'concepts/pydantic_settings.md'
      'usage/serialization.md': 'concepts/serialization.md'
      'usage/strict_mode.md': 'concepts/strict_mode.md'
      'usage/type_adapter.md': 'api/type_adapter.md'
      'usage/validation_decorator.md': 'concepts/validation_decorator.md'
      'usage/validators.md': 'concepts/validators.md'
      'usage/types/bytesize.md': 'api/types.md#pydantic.types.ByteSize'
      'usage/types/dicts_mapping.md': 'api/standard_library_types.md#mapping-types'
      'usage/types/encoded.md': 'api/types.md#pydantic.types.EncodedBytes'
      'usage/types/enums.md': 'api/standard_library_types.md#enum'
      'usage/types/number_types.md': 'api/standard_library_types.md#number-types'
      'usage/types/sequence_iterable.md': 'api/standard_library_types.md#other-iterables'
      'usage/types/set_types.md': 'api/standard_library_types.md#sets'
      'usage/types/uuids.md': 'api/standard_library_types.md#uuid'
- external-markdown:
