dependabot[bot] 5b93f1b321 chore: bump the docs-site group in /docs with 5 updates (#4031)
Bumps the docs-site group in /docs with 5 updates:

| Package | From | To |
| --- | --- | --- |
|
[@astrojs/markdown-remark](https://github.com/withastro/astro/tree/HEAD/packages/markdown/remark)
| `7.2.4` | `7.3.0` |
|
[@astrojs/sitemap](https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap)
| `3.7.3` | `3.7.4` |
|
[@astrojs/starlight](https://github.com/withastro/starlight/tree/HEAD/packages/starlight)
| `0.41.9` | `0.42.0` |
|
[@expressive-code/core](https://github.com/expressive-code/expressive-code/tree/HEAD/packages/@expressive-code/core)
| `0.44.1` | `0.44.2` |
| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) |
`7.2.9` | `7.3.1` |

Updates `@astrojs/markdown-remark` from 7.2.4 to 7.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/withastro/astro/releases">@​astrojs/markdown-remark's
releases</a>.</em></p>
<blockquote>
<h2><code>@​astrojs/markdown-remark</code><a
href="https://github.com/7"><code>@​7</code></a>.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17262">#17262</a>
<a
href="https://github.com/withastro/astro/commit/f8e94585ab6c38e2702ee1e2e540858f72058a40"><code>f8e9458</code></a>
Thanks <a
href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! -
Adds MDX rendering to the <code>unified()</code> and
<code>satteri()</code> processors.</p>
<p>Both processors now compile <code>.mdx</code> files themselves. You
still need to install <code>@astrojs/mdx</code> to add MDX support to
your project.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17262">#17262</a>
<a
href="https://github.com/withastro/astro/commit/f8e94585ab6c38e2702ee1e2e540858f72058a40"><code>f8e9458</code></a>
Thanks <a
href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! -
Adds a <code>recmaPlugins</code> option to <code>unified()</code> for
adding recma (estree/JSX) plugins to the MDX compiler.</p>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a
href="https://github.com/withastro/astro/commit/f8e94585ab6c38e2702ee1e2e540858f72058a40"><code>f8e9458</code></a>]:
<ul>
<li><code>@​astrojs/internal-helpers</code><a
href="https://github.com/0"><code>@​0</code></a>.11.0</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/withastro/astro/blob/main/packages/markdown/remark/CHANGELOG.md">@​astrojs/markdown-remark's
changelog</a>.</em></p>
<blockquote>
<h2>7.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17262">#17262</a>
<a
href="https://github.com/withastro/astro/commit/f8e94585ab6c38e2702ee1e2e540858f72058a40"><code>f8e9458</code></a>
Thanks <a
href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! -
Adds MDX rendering to the <code>unified()</code> and
<code>satteri()</code> processors.</p>
<p>Both processors now compile <code>.mdx</code> files themselves. You
still need to install <code>@astrojs/mdx</code> to add MDX support to
your project.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17262">#17262</a>
<a
href="https://github.com/withastro/astro/commit/f8e94585ab6c38e2702ee1e2e540858f72058a40"><code>f8e9458</code></a>
Thanks <a
href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! -
Adds a <code>recmaPlugins</code> option to <code>unified()</code> for
adding recma (estree/JSX) plugins to the MDX compiler.</p>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a
href="https://github.com/withastro/astro/commit/f8e94585ab6c38e2702ee1e2e540858f72058a40"><code>f8e9458</code></a>]:
<ul>
<li><code>@​astrojs/internal-helpers</code><a
href="https://github.com/0"><code>@​0</code></a>.11.0</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/withastro/astro/commit/2fdf731428aa738d5dcf3041b4e78eb9d036968c"><code>2fdf731</code></a>
[ci] release (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/markdown/remark/issues/17849">#17849</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/f8e94585ab6c38e2702ee1e2e540858f72058a40"><code>f8e9458</code></a>
feat: move MDX into the processors themselves (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/markdown/remark/issues/17262">#17262</a>)</li>
<li>See full diff in <a
href="https://github.com/withastro/astro/commits/@astrojs/markdown-remark@7.3.0/packages/markdown/remark">compare
view</a></li>
</ul>
</details>
<br />

Updates `@astrojs/sitemap` from 3.7.3 to 3.7.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/withastro/astro/releases">@​astrojs/sitemap's
releases</a>.</em></p>
<blockquote>
<h2><code>@​astrojs/sitemap</code><a
href="https://github.com/3"><code>@​3</code></a>.7.4</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/withastro/astro/pull/17851">#17851</a>
<a
href="https://github.com/withastro/astro/commit/52d3f56999ecdf92510b2c16ed2a3a4785b9c73a"><code>52d3f56</code></a>
Thanks <a
href="https://github.com/apps/astro-factory"><code>@​astro-factory</code></a>!
- Fixes the sitemap outputting a URL with an empty path for the homepage
(e.g. <code>https://example.com</code> instead of
<code>https://example.com/</code>) when <code>trailingSlash</code> is
set to <code>&quot;never&quot;</code> or <code>build.format</code> is
set to <code>&quot;file&quot;</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/withastro/astro/blob/main/packages/integrations/sitemap/CHANGELOG.md">@​astrojs/sitemap's
changelog</a>.</em></p>
<blockquote>
<h2>3.7.4</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/withastro/astro/pull/17851">#17851</a>
<a
href="https://github.com/withastro/astro/commit/52d3f56999ecdf92510b2c16ed2a3a4785b9c73a"><code>52d3f56</code></a>
Thanks <a
href="https://github.com/apps/astro-factory"><code>@​astro-factory</code></a>!
- Fixes the sitemap outputting a URL with an empty path for the homepage
(e.g. <code>https://example.com</code> instead of
<code>https://example.com/</code>) when <code>trailingSlash</code> is
set to <code>&quot;never&quot;</code> or <code>build.format</code> is
set to <code>&quot;file&quot;</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/withastro/astro/commit/2fdf731428aa738d5dcf3041b4e78eb9d036968c"><code>2fdf731</code></a>
[ci] release (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/17849">#17849</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/52d3f56999ecdf92510b2c16ed2a3a4785b9c73a"><code>52d3f56</code></a>
fix(<code>@​astrojs/sitemap</code>): preserve root path <code>/</code>
in sitemap URLs when trailingSl...</li>
<li><a
href="https://github.com/withastro/astro/commit/2bfb179545249786e9f395325c88a9dfef574acb"><code>2bfb179</code></a>
chore: simpler package.json types (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/17229">#17229</a>)</li>
<li>See full diff in <a
href="https://github.com/withastro/astro/commits/@astrojs/sitemap@3.7.4/packages/integrations/sitemap">compare
view</a></li>
</ul>
</details>
<br />

Updates `@astrojs/starlight` from 0.41.9 to 0.42.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/withastro/starlight/releases">@​astrojs/starlight's
releases</a>.</em></p>
<blockquote>
<h2><code>@​astrojs/starlight</code><a
href="https://github.com/0"><code>@​0</code></a>.42.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/3572">#3572</a>
<a
href="https://github.com/withastro/starlight/commit/292fb179cbf6e2cd970ced46359c520aa14a80b4"><code>292fb17</code></a>
Thanks <a href="https://github.com/HiDeoo"><code>@​HiDeoo</code></a>! -
Distributes package as JavaScript files with dedicated type declaration
files instead of TypeScript source files.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/4121">#4121</a>
<a
href="https://github.com/withastro/starlight/commit/2623ae60af0fdafc71938f96153b0427fcc2b5aa"><code>2623ae6</code></a>
Thanks <a href="https://github.com/delucis"><code>@​delucis</code></a>!
- Simplifies markup for Starlight’s mobile menu toggle</p>
<p><strong>⚠️ Potentially breaking change:</strong> If you use a theme
plugin, custom styles, or component overrides targeting the
<code>MobileMenuToggle</code> button or <code>PageFrame</code>
components, you may need to adjust these for the new markup. The button
is no longer wrapped in a <code>&lt;starlight-menu-button&gt;</code>
custom element and no longer uses the <code>aria-expanded</code>
attribute. Instead, you can use the <code>.sl-menu-button</code> class
name to target the button and the <code>:popover-open</code>
pseudo-class to style the menu open state specifically.</p>
<p>In the following example, custom styles for the menu button are
updated for the new approach:</p>
<pre lang="diff"><code>- starlight-menu-button button {
+ .sl-menu-button {
  color: var(--sl-color-text);
}
<ul>
<li>starlight-menu-button[aria-expanded='true'] button {</li>
</ul>
<ul>
<li>.sl-menu-button:has(~ :popover-open) {
color: var(--sl-color-text-accent-high);
}
</code></pre></li>
</ul>
<p>See <a
href="https://github.com/withastro/starlight/blob/main/packages/starlight/components/MobileMenuToggle.astro"><code>MobileMenuToggle.astro</code></a>
and <a
href="https://github.com/withastro/starlight/blob/main/packages/starlight/components/PageFrame.astro"><code>PageFrame.astro</code></a>
on GitHub for the full source code of the updated components.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/3572">#3572</a>
<a
href="https://github.com/withastro/starlight/commit/292fb179cbf6e2cd970ced46359c520aa14a80b4"><code>292fb17</code></a>
Thanks <a href="https://github.com/HiDeoo"><code>@​HiDeoo</code></a>! -
Removes the <code>tagline</code> configuration option, which was never
used.</p>
<p>If your configuration included a <code>tagline</code> option, you can
safely remove it without any replacement.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/4134">#4134</a>
<a
href="https://github.com/withastro/starlight/commit/6135f015b527453d7083ad01d2dc6c61d72fbefc"><code>6135f01</code></a>
Thanks <a href="https://github.com/HiDeoo"><code>@​HiDeoo</code></a>! -
Updates internal <code>@astrojs/mdx</code>,
<code>@astrojs/markdown-satteri</code>, and <code>satteri</code>
dependencies.</p>
<p>⚠️ <strong>BREAKING CHANGE:</strong> The following minimum versions
are now required:</p>
<ul>
<li><code>astro</code> v7.2.10 or later</li>
<li><code>@astrojs/markdown-satteri</code> 0.4.0 or later (if you use
it)</li>
<li><code>@astrojs/markdown-remark</code> 7.3.0 or later (if you use
it)</li>
</ul>
<p>Please update Starlight and Astro together:</p>
<pre lang="sh"><code>npx @astrojs/upgrade
</code></pre>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/4121">#4121</a>
<a
href="https://github.com/withastro/starlight/commit/2623ae60af0fdafc71938f96153b0427fcc2b5aa"><code>2623ae6</code></a>
Thanks <a href="https://github.com/delucis"><code>@​delucis</code></a>!
- Refactors Starlight’s mobile menu toggle to work when JavaScript fails
or is disabled</p>
<p>⚠️ <strong>BREAKING CHANGE:</strong> This release drops official
support for Chromium-based browsers prior to version 116 (released
August 2023), Safari-based browsers prior to version 17.0 (released
September 2023), and Firefox prior to version 125 (released April 2024).
You can find a list of currently supported browsers and their versions
using this <a
href="https://browsersl.ist/#q=%3E+0.5%25%2C+not+dead%2C+Chrome+%3E%3D+116%2C+Edge+%3E%3D+116%2C+Firefox+%3E%3D+125%2C+Safari+%3E%3D+17.0%2C+iOS+%3E%3D+17.0%2C+not+op_mini+all">browserslist
query</a>.</p>
<p>This change also removes the <code>data-mobile-menu-expanded</code>
attribute, which was previously added to <code>&lt;body&gt;</code> while
the mobile menu is open. If you have custom code that was depending on
this attribute, you will need to update it to use a new selector to
check if the mobile menu is open.</p>
<p>In the following example, a custom background colour for the site
header while the menu is open is updated for the new approach:</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/withastro/starlight/blob/main/packages/starlight/CHANGELOG.md">@​astrojs/starlight's
changelog</a>.</em></p>
<blockquote>
<h2>0.42.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/3572">#3572</a>
<a
href="https://github.com/withastro/starlight/commit/292fb179cbf6e2cd970ced46359c520aa14a80b4"><code>292fb17</code></a>
Thanks <a href="https://github.com/HiDeoo"><code>@​HiDeoo</code></a>! -
Distributes package as JavaScript files with dedicated type declaration
files instead of TypeScript source files.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/4121">#4121</a>
<a
href="https://github.com/withastro/starlight/commit/2623ae60af0fdafc71938f96153b0427fcc2b5aa"><code>2623ae6</code></a>
Thanks <a href="https://github.com/delucis"><code>@​delucis</code></a>!
- Simplifies markup for Starlight’s mobile menu toggle</p>
<p><strong>⚠️ Potentially breaking change:</strong> If you use a theme
plugin, custom styles, or component overrides targeting the
<code>MobileMenuToggle</code> button or <code>PageFrame</code>
components, you may need to adjust these for the new markup. The button
is no longer wrapped in a <code>&lt;starlight-menu-button&gt;</code>
custom element and no longer uses the <code>aria-expanded</code>
attribute. Instead, you can use the <code>.sl-menu-button</code> class
name to target the button and the <code>:popover-open</code>
pseudo-class to style the menu open state specifically.</p>
<p>In the following example, custom styles for the menu button are
updated for the new approach:</p>
<pre lang="diff"><code>- starlight-menu-button button {
+ .sl-menu-button {
  color: var(--sl-color-text);
}
<ul>
<li>starlight-menu-button[aria-expanded='true'] button {</li>
</ul>
<ul>
<li>.sl-menu-button:has(~ :popover-open) {
color: var(--sl-color-text-accent-high);
}
</code></pre></li>
</ul>
<p>See <a
href="https://github.com/withastro/starlight/blob/main/packages/starlight/components/MobileMenuToggle.astro"><code>MobileMenuToggle.astro</code></a>
and <a
href="https://github.com/withastro/starlight/blob/main/packages/starlight/components/PageFrame.astro"><code>PageFrame.astro</code></a>
on GitHub for the full source code of the updated components.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/3572">#3572</a>
<a
href="https://github.com/withastro/starlight/commit/292fb179cbf6e2cd970ced46359c520aa14a80b4"><code>292fb17</code></a>
Thanks <a href="https://github.com/HiDeoo"><code>@​HiDeoo</code></a>! -
Removes the <code>tagline</code> configuration option, which was never
used.</p>
<p>If your configuration included a <code>tagline</code> option, you can
safely remove it without any replacement.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/4134">#4134</a>
<a
href="https://github.com/withastro/starlight/commit/6135f015b527453d7083ad01d2dc6c61d72fbefc"><code>6135f01</code></a>
Thanks <a href="https://github.com/HiDeoo"><code>@​HiDeoo</code></a>! -
Updates internal <code>@astrojs/mdx</code>,
<code>@astrojs/markdown-satteri</code>, and <code>satteri</code>
dependencies.</p>
<p>⚠️ <strong>BREAKING CHANGE:</strong> The following minimum versions
are now required:</p>
<ul>
<li><code>astro</code> v7.2.10 or later</li>
<li><code>@astrojs/markdown-satteri</code> 0.4.0 or later (if you use
it)</li>
<li><code>@astrojs/markdown-remark</code> 7.3.0 or later (if you use
it)</li>
</ul>
<p>Please update Starlight and Astro together:</p>
<pre lang="sh"><code>npx @astrojs/upgrade
</code></pre>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/starlight/pull/4121">#4121</a>
<a
href="https://github.com/withastro/starlight/commit/2623ae60af0fdafc71938f96153b0427fcc2b5aa"><code>2623ae6</code></a>
Thanks <a href="https://github.com/delucis"><code>@​delucis</code></a>!
- Refactors Starlight’s mobile menu toggle to work when JavaScript fails
or is disabled</p>
<p>⚠️ <strong>BREAKING CHANGE:</strong> This release drops official
support for Chromium-based browsers prior to version 116 (released
August 2023), Safari-based browsers prior to version 17.0 (released
September 2023), and Firefox prior to version 125 (released April 2024).
You can find a list of currently supported browsers and their versions
using this <a
href="https://browsersl.ist/#q=%3E+0.5%25%2C+not+dead%2C+Chrome+%3E%3D+116%2C+Edge+%3E%3D+116%2C+Firefox+%3E%3D+125%2C+Safari+%3E%3D+17.0%2C+iOS+%3E%3D+17.0%2C+not+op_mini+all">browserslist
query</a>.</p>
<p>This change also removes the <code>data-mobile-menu-expanded</code>
attribute, which was previously added to <code>&lt;body&gt;</code> while
the mobile menu is open. If you have custom code that was depending on
this attribute, you will need to update it to use a new selector to
check if the mobile menu is open.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/withastro/starlight/commit/88ad3c2630487ba227a7b4ccbffc01a2bdf623a5"><code>88ad3c2</code></a>
[ci] release (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4172">#4172</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/74cb3f1a40985eed5f7974e2b1b994a2bdcfd8be"><code>74cb3f1</code></a>
Update dependencies (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4173">#4173</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/6135f015b527453d7083ad01d2dc6c61d72fbefc"><code>6135f01</code></a>
Use Sätteri 0.10 APIs (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4134">#4134</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/2623ae60af0fdafc71938f96153b0427fcc2b5aa"><code>2623ae6</code></a>
Refactor mobile menu to use Popover API (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4121">#4121</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/09af1c621e3bd48fa601d6ce47be181bb44d0e9b"><code>09af1c6</code></a>
chore(deps): update <code>magic-string</code> to v1 (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4082">#4082</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/292fb179cbf6e2cd970ced46359c520aa14a80b4"><code>292fb17</code></a>
[i18nIgnore] Transpile Starlight packages (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/3572">#3572</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/0138f22c04ab2a659b642526345ba53bef7e5033"><code>0138f22</code></a>
[ci] release (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4169">#4169</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/32a5e29127c13946ce746c36d7cb194f35d11952"><code>32a5e29</code></a>
Fix hidden heading anchor links (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4167">#4167</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/cdfafd8eedbbd6653cd6a1d3b1542b44ed1ba19e"><code>cdfafd8</code></a>
perf: optimize route and sidebar lookups (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4148">#4148</a>)</li>
<li><a
href="https://github.com/withastro/starlight/commit/dd7fb9721e117337195fdfdb92a081d7dd23701e"><code>dd7fb97</code></a>
chore: add benchmarks (<a
href="https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4157">#4157</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/withastro/starlight/commits/@astrojs/starlight@0.42.0/packages/starlight">compare
view</a></li>
</ul>
</details>
<br />

Updates `@expressive-code/core` from 0.44.1 to 0.44.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/expressive-code/expressive-code/releases">@​expressive-code/core's
releases</a>.</em></p>
<blockquote>
<h2><code>@​expressive-code/core</code><a
href="https://github.com/0"><code>@​0</code></a>.44.2</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/expressive-code/expressive-code/blob/main/packages/@expressive-code/core/CHANGELOG.md">@​expressive-code/core's
changelog</a>.</em></p>
<blockquote>
<h2>0.44.2</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/expressive-code/expressive-code/commit/5c5b4522e0db357f453e2e6c9a46790e83ef6322"><code>5c5b452</code></a>
[CI] Release (<a
href="https://github.com/expressive-code/expressive-code/tree/HEAD/packages/@expressive-code/core/issues/469">#469</a>)</li>
<li>See full diff in <a
href="https://github.com/expressive-code/expressive-code/commits/@expressive-code/core@0.44.2/packages/@expressive-code/core">compare
view</a></li>
</ul>
</details>
<br />

Updates `astro` from 7.2.9 to 7.3.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/withastro/astro/releases">astro's
releases</a>.</em></p>
<blockquote>
<h2>astro@7.3.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/withastro/astro/pull/17899">#17899</a>
<a
href="https://github.com/withastro/astro/commit/03896405717471f7d6ff54986ed6beaec0cac94f"><code>0389640</code></a>
Thanks <a
href="https://github.com/ematipico"><code>@​ematipico</code></a>! -
Fixes an error that prevented projects using <code>astro:assets</code>
from starting or building</li>
</ul>
<h2>astro@7.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17767">#17767</a>
<a
href="https://github.com/withastro/astro/commit/ce7c91f77dbd7be03c04bc13f87af9d01fef6cef"><code>ce7c91f</code></a>
Thanks <a
href="https://github.com/apps/astro-factory"><code>@​astro-factory</code></a>!
- Adds <code>--ignore-lock</code> flag to <code>astro preview</code>,
allowing multiple preview servers to run simultaneously on different
ports. This is useful for E2E testing workflows (e.g., Playwright) that
need to run several preview servers at once.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17818">#17818</a>
<a
href="https://github.com/withastro/astro/commit/c0b65811dfa0dafa1aa04b7d6d67fd09250ff8c1"><code>c0b6581</code></a>
Thanks <a
href="https://github.com/florian-lefebvre"><code>@​florian-lefebvre</code></a>!
- Adds a <code>logger</code> parameter to image services hooks</p>
<p>Custom image services now receive Astro's runtime logger as an extra
argument. Messages logged with it are routed through the destination
configured in <code>logger</code> and respect your log level, instead of
being written straight to the console:</p>
<pre lang="ts"><code>import type { LocalImageService } from 'astro';
<p>const service: LocalImageService = {
// ...
async transform(inputBuffer, transform, imageConfig, logger) {
logger.warn(<code>Could not optimize
&amp;quot;${transform.src}&amp;quot;. Passing it through
unchanged.</code>);
return { data: inputBuffer, format: 'png' };
},
};
</code></pre></p>
<p>Astro's built-in Sharp service now uses this logger for the warnings
it emits when it encounters an unexpected or unsupported source
format.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17818">#17818</a>
<a
href="https://github.com/withastro/astro/commit/c0b65811dfa0dafa1aa04b7d6d67fd09250ff8c1"><code>c0b6581</code></a>
Thanks <a
href="https://github.com/florian-lefebvre"><code>@​florian-lefebvre</code></a>!
- Adds <code>logger</code> to the context object passed to cache
providers</p>
<p>Custom cache providers now receive Astro's runtime logger on the
context passed to <code>onRequest()</code>. Messages logged with it are
routed through the destination configured in <code>logger</code> and
respect your log level, instead of being written straight to the
console:</p>
<pre lang="ts"><code>import type { CacheProvider } from 'astro';
<p>const provider: CacheProvider = {
name: 'my-cache',
async onRequest({ request, url, logger }, next) {
logger.warn(<code>Skipping cache for ${url.pathname} because the
response sets a cookie.</code>);
return next();
},
// ...
};
</code></pre></p>
<p>Astro's built-in <code>memoryCache()</code> provider now uses this
logger for the warnings it emits when it skips caching a response that
sets cookies, and when a background revalidation fails.</p>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/withastro/astro/pull/17818">#17818</a>
<a
href="https://github.com/withastro/astro/commit/c0b65811dfa0dafa1aa04b7d6d67fd09250ff8c1"><code>c0b6581</code></a>
Thanks <a
href="https://github.com/florian-lefebvre"><code>@​florian-lefebvre</code></a>!
- Updates Astro's remaining internal warnings and errors to be written
through the configured logger instead of directly to the console, when
possible</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md">astro's
changelog</a>.</em></p>
<blockquote>
<h2>7.3.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/withastro/astro/pull/17899">#17899</a>
<a
href="https://github.com/withastro/astro/commit/03896405717471f7d6ff54986ed6beaec0cac94f"><code>0389640</code></a>
Thanks <a
href="https://github.com/ematipico"><code>@​ematipico</code></a>! -
Fixes an error that prevented projects using <code>astro:assets</code>
from starting or building</li>
</ul>
<h2>7.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17767">#17767</a>
<a
href="https://github.com/withastro/astro/commit/ce7c91f77dbd7be03c04bc13f87af9d01fef6cef"><code>ce7c91f</code></a>
Thanks <a
href="https://github.com/apps/astro-factory"><code>@​astro-factory</code></a>!
- Adds <code>--ignore-lock</code> flag to <code>astro preview</code>,
allowing multiple preview servers to run simultaneously on different
ports. This is useful for E2E testing workflows (e.g., Playwright) that
need to run several preview servers at once.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17818">#17818</a>
<a
href="https://github.com/withastro/astro/commit/c0b65811dfa0dafa1aa04b7d6d67fd09250ff8c1"><code>c0b6581</code></a>
Thanks <a
href="https://github.com/florian-lefebvre"><code>@​florian-lefebvre</code></a>!
- Adds a <code>logger</code> parameter to image services hooks</p>
<p>Custom image services now receive Astro's runtime logger as an extra
argument. Messages logged with it are routed through the destination
configured in <code>logger</code> and respect your log level, instead of
being written straight to the console:</p>
<pre lang="ts"><code>import type { LocalImageService } from 'astro';
<p>const service: LocalImageService = {
// ...
async transform(inputBuffer, transform, imageConfig, logger) {
logger.warn(<code>Could not optimize
&amp;quot;${transform.src}&amp;quot;. Passing it through
unchanged.</code>);
return { data: inputBuffer, format: 'png' };
},
};
</code></pre></p>
<p>Astro's built-in Sharp service now uses this logger for the warnings
it emits when it encounters an unexpected or unsupported source
format.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/withastro/astro/pull/17818">#17818</a>
<a
href="https://github.com/withastro/astro/commit/c0b65811dfa0dafa1aa04b7d6d67fd09250ff8c1"><code>c0b6581</code></a>
Thanks <a
href="https://github.com/florian-lefebvre"><code>@​florian-lefebvre</code></a>!
- Adds <code>logger</code> to the context object passed to cache
providers</p>
<p>Custom cache providers now receive Astro's runtime logger on the
context passed to <code>onRequest()</code>. Messages logged with it are
routed through the destination configured in <code>logger</code> and
respect your log level, instead of being written straight to the
console:</p>
<pre lang="ts"><code>import type { CacheProvider } from 'astro';
<p>const provider: CacheProvider = {
name: 'my-cache',
async onRequest({ request, url, logger }, next) {
logger.warn(<code>Skipping cache for ${url.pathname} because the
response sets a cookie.</code>);
return next();
},
// ...
};
</code></pre></p>
<p>Astro's built-in <code>memoryCache()</code> provider now uses this
logger for the warnings it emits when it skips caching a response that
sets cookies, and when a background revalidation fails.</p>
</li>
</ul>
<h3>Patch Changes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/withastro/astro/commit/92f23cc121d3a1a03c6fb901a519309662b333de"><code>92f23cc</code></a>
[ci] release (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17900">#17900</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/03896405717471f7d6ff54986ed6beaec0cac94f"><code>0389640</code></a>
fix: dont use internal paths (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17899">#17899</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/f800de13ffab9542f8d1bd13a8f4481c5f5c083a"><code>f800de1</code></a>
[ci] release (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17881">#17881</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/1e0b7e6023128ad25a79ac125f6d33e5936a3def"><code>1e0b7e6</code></a>
[ci] format</li>
<li><a
href="https://github.com/withastro/astro/commit/4671a5c2d215545d8d7f763381ec1084dce9b7d1"><code>4671a5c</code></a>
chore(deps): update react to v19 in <code>0-css</code> fixture (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17888">#17888</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/31b886b75259e5a8d50dc750e587ee9bc97ee099"><code>31b886b</code></a>
Update bundled Zod to 4.5 (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17862">#17862</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/e747cba07fcd2b9e7fb03c02ed42abfe2079daa2"><code>e747cba</code></a>
Skip unsupported Vary responses in the memory cache (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17886">#17886</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/fb5b0d0a952b50c48908a262a702f43dcf42f9e7"><code>fb5b0d0</code></a>
[ci] format</li>
<li><a
href="https://github.com/withastro/astro/commit/ce7c91f77dbd7be03c04bc13f87af9d01fef6cef"><code>ce7c91f</code></a>
Add <code>--ignore-lock</code> flag support to <code>astro
preview</code> (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17767">#17767</a>)</li>
<li><a
href="https://github.com/withastro/astro/commit/c0b65811dfa0dafa1aa04b7d6d67fd09250ff8c1"><code>c0b6581</code></a>
feat: use logger instead of console where possible (<a
href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17818">#17818</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/withastro/astro/commits/astro@7.3.1/packages/astro">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: worktrunk-bot <254187624+worktrunk-bot@users.noreply.github.com>
2026-09-13 10:23:12 -07:00
2026-09-08 14:53:53 -07:00

Worktrunk logo  Worktrunk

Docs License: MIT OR Apache-2.0 CI Codecov Stars maintained with tend

September 2026: Worktrunk was released at the start of the year, and has quickly become the most popular git worktree manager. It's built with love (there's no slop!). Please let me know any frictions at all; I'm intensely focused on continuing to make Worktrunk excellent, and the biggest help is folks posting problems they perceive.

Worktrunk is a CLI for git worktree management, designed for running AI agents in parallel.

Worktrunk's three core commands make worktrees as easy as branches. Plus, Worktrunk has a bunch of quality-of-life features to simplify working with many parallel changes, including hooks to automate local workflows.

A quick demo:

Worktrunk Demo

📚 Full documentation at worktrunk.dev 📚

Context: git worktrees

AI agents like Claude Code and Codex can handle longer tasks without supervision, such that it's possible to manage 5-10+ in parallel. Git's native worktree feature gives each agent its own working directory, so they don't step on each other's changes.

But the git worktree UX is clunky. Even a task as small as starting a new worktree requires typing the branch name three times: git worktree add -b feat ../repo.feat, then cd ../repo.feat.

Worktrunk makes git worktrees as easy as branches

Worktrees are addressed by branch name; paths are computed from a configurable template. Commands that take a branch also accept the path of the worktree it is checked out in.

Start with the core commands

Core commands:

Task Worktrunk Plain git
Switch worktrees wt switch feat cd ../repo.feat
Create + start Claude wt switch -c -x claude feat
git worktree add -b feat ../repo.feat && \
cd ../repo.feat && \
claude
Clean up wt remove
cd ../repo && \
git worktree remove ../repo.feat && \
git branch -d feat
List with status wt list git worktree list (paths only)

Expand into the more advanced commands as needed

Workflow automation:

Multiple parallel agents, same simple commands:

Worktrunk omnibus demo: multiple Claude agents in Zellij tabs with hooks, LLM commits, and merge workflow

Install

Homebrew (macOS & Linux):

brew install worktrunk && wt config shell install

Shell integration allows commands to change directories.

Cargo:

cargo install worktrunk && wt config shell install
Windows & other

Windows. wt defaults to Windows Terminal's command, so Winget additionally installs Worktrunk as git-wt to avoid the conflict:

winget install max-sixty.worktrunk
git-wt config shell install

Alternatively, disable Windows Terminal's alias (Settings → Apps → Advanced app settings → App execution aliases → "Terminal"/"Terminal Preview") to use wt directly.

Free code signing provided by SignPath.io, certificate by SignPath Foundationpolicy.

Arch Linux:

sudo pacman -S worktrunk && wt config shell install

Conda / Pixi (community-maintained feedstock):

conda install -c conda-forge worktrunk && wt config shell install

Or with Pixi: pixi global install worktrunk && wt config shell install.

Quick start

Create a worktree for a new feature:

$ wt switch --create feature-auth
✓ Created branch feature-auth from main and worktree @ ~/repo.feature-auth

This creates a new branch and worktree, then switches to it. Do your work, then check all worktrees with wt list:

$ wt list
  Branch        Status      HEAD±     main↕    main…±    Remote⇅  Commit    Age  Message
@ feature-auth  +   ↑      +27   -8   ↑1       +31                4bc72dc    2h  Add authenticati…
^ main              ^⇡                                    ⇡1      0e631ad    1d  Initial commit

○ Showing 2 worktrees, 1 with changes, 1 ahead, hidden: Path

The @ marks the current worktree. + means staged changes, ↑1 means 1 commit ahead of main, means unpushed commits.

When done, either:

PR workflow — commit, push, open a PR, merge via GitHub/GitLab, then clean up:

wt step commit                    # commit staged changes
gh pr create                      # or glab mr create
wt remove                         # after PR is merged

Local merge — squash, rebase onto main, fast-forward merge, clean up:

$ wt merge main
◎ Generating commit message and committing changes... (2 files, +53, no squashing needed)
  Add authentication module
✓ Committed changes @ a1b2c3d
◎ Merging 1 commit to main @ a1b2c3d (no rebase needed)
  * a1b2c3d Add authentication module
   auth.rs | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
   lib.rs  |  2 ++
   2 files changed, 53 insertions(+)
✓ Merged to main (1 commit, 2 files, +53)
◎ Removing feature-auth worktree & branch in background (same commit as main, _)
○ Switched to worktree for main @ ~/repo

For parallel agents, create multiple worktrees and launch an agent in each:

wt switch -x claude -c feature-a -- 'Add user authentication'
wt switch -x claude -c feature-b -- 'Fix the pagination bug'
wt switch -x claude -c feature-c -- 'Write tests for the API'

The -x flag runs a command after switching; arguments after -- are passed to it. Configure post-start hooks to automate setup (install deps, start dev servers).

Next steps

Further reading

Contributing

Running the tests

cargo test

The shell integration tests need bash, zsh, fish, nushell, and pwsh, plus jq:

cargo test --test integration --features shell-integration-tests

📚 Full documentation at worktrunk.dev 📚

Star history

Star History Chart
S
Description
Guidance for Worktrunk (the wt CLI) — git worktree management, hooks, and config. Load when working out which worktree a wt command will act on, or…
Readme MIT 78 MiB
Languages
Rust 99.5%
Shell 0.2%
Nix 0.1%