Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 9, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@astrojs/check (source) 0.9.50.9.6 age confidence
@astrojs/starlight (source) 0.36.20.37.4 age confidence
@commitlint/cli (source) ^20.1.0^20.3.1 age confidence
@commitlint/config-conventional (source) ^20.0.0^20.3.1 age confidence
@custom-elements-manifest/analyzer (source) ^0.10.10^0.11.0 age confidence
@sapphire/ts-config (source) ^5.0.1^5.0.3 age confidence
@types/node (source) ^24.10.0^24.10.9 age confidence
@types/react (source) ^19.2.2^19.2.9 age confidence
@types/react (source) 19.2.219.2.9 age confidence
@types/react-dom (source) ^19.2.2^19.2.3 age confidence
astro (source) 5.15.95.16.15 age confidence
esbuild ~0.25.12~0.27.2 age confidence
eslint (source) ^9.39.1^9.39.2 age confidence
eslint-config-neon ^0.2.9^0.3.2 age confidence
eslint-plugin-html ^8.1.3^8.1.4 age confidence
eslint-plugin-prettier ^5.5.4^5.5.5 age confidence
lint-staged ^16.2.6^16.2.7 age confidence
lit (source) ^3.3.1^3.3.2 age confidence
prettier (source) ^3.6.2^3.8.1 age confidence
react (source) ^19.2.0^19.2.3 age confidence
react-dom (source) ^19.2.0^19.2.3 age confidence
rimraf ^6.1.0^6.1.2 age confidence
tsup (source) ^8.5.0^8.5.1 age confidence
yarn (source) 4.10.34.12.0 age confidence

Release Notes

withastro/astro (@​astrojs/check)

v0.9.6

Patch Changes
withastro/starlight (@​astrojs/starlight)

v0.37.4

Compare Source

Patch Changes
  • #​3534 703fab0 Thanks @​HiDeoo! - Fixes support for running builds when npx is unavailable.

    Previously, Starlight would spawn a process to run the Pagefind search indexing binary using npx. On platforms where npx isn’t available, this could cause issues. Starlight now runs Pagefind using its Node.js API to avoid a separate process. As a side effect, you may notice that logging during builds is now less verbose.

  • #​3656 a0e6368 Thanks @​delucis! - Fixes several edge cases in highlighting the current page heading in Starlight’s table of contents

  • #​3663 00cbf00 Thanks @​lines-of-codes! - Adds Thai language support

  • #​3658 ac79329 Thanks @​delucis! - Avoids adding redundant aria-current="false" attributes to sidebar entries

  • #​3382 db295c2 Thanks @​trueberryless! - Fixes an issue where the mobile table of contents is unable to find the first heading when a page has a tall banner.

v0.37.3

Compare Source

Patch Changes

v0.37.2

Compare Source

Patch Changes

v0.37.1

Compare Source

Patch Changes
  • #​3603 30f6e7f Thanks @​delucis! - Fixes support for providing an absolute URL to Starlight’s favicon configuration option

v0.37.0

Compare Source

Minor Changes
  • #​3491 28810f0 Thanks @​JusticeMatthew! - Changes text overflow styling in Markdown content

    ⚠️ Potentially breaking change: This release switches the overflow-wrap CSS style for common elements to break-word. In most cases, there should be little visual impact, but this change can impact how layouts with implicit sizing (such as tables) look, improving legibility in how words wrap.

    If you want to preserve the previous styling, you can add the following custom CSS to your site:

    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    code {
      overflow-wrap: anywhere;
    }
  • #​3351 239698c Thanks @​HiDeoo! - Ensures that Starlight CSS layer order is predictable in custom pages using the <StarlightPage> component.

    Previously, due to how import order works in Astro, the <StarlightPage> component had to be the first import in custom pages to set up cascade layers used internally by Starlight to manage the order of its styles.

    With this change, this restriction no longer applies and Starlight’s styles will be applied correctly regardless of the import order of the <StarlightPage> component.

  • #​3521 ca7b771 Thanks @​shubham-padia! - Fixes an issue where a vertical scrollbar could be displayed on the Starlight <Tabs> component when zooming the page

    ⚠️ Potentially breaking change: The <Tabs> component no longer uses margin-bottom and border-bottom to highlight the current tab. This is now done with a box-shadow. If you have custom styling for your tabs, you may need to update it.

    If you want to preserve the previous styling, you can add the following custom CSS to your site:

    starlight-tabs .tab {
      margin-bottom: -2px;
    }
    
    starlight-tabs .tab > [role='tab'] {
      border-bottom: 2px solid var(--sl-color-gray-5);
      box-shadow: none;
    }
    
    starlight-tabs .tab [role='tab'][aria-selected='true'] {
      border-color: var(--sl-color-text-accent);
    }
  • #​3549 1cf50eb Thanks @​jacobdalamb! - Updates the default sans-serif system font stack, dropping support for the -apple-system and BlinkMacSystemFont font names used in older browsers. These are no longer needed in browsers officially supported by Starlight.

    If you still need to support older browsers, you can add the following custom CSS to your site:

    :root {
      --sl-font-system: ui-sans-serif, system-ui, -apple-system,
        BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
        'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol', 'Noto Color Emoji';
    }
  • #​3332 f61f99d Thanks @​HiDeoo! - Adds a new markdown.processedDirs configuration option to specify additional directories where files should be processed by Starlight’s Markdown pipeline.

    By default, Starlight’s processing only applies to Markdown and MDX content loaded using Starlight’s docsLoader(). This new option allows to extend this processing to other directories, which can be useful if you are rendering content from a custom content collection using the <StarlightPage> component and expect Starlight’s Markdown processing to be applied to that content as well.

v0.36.3

Compare Source

Patch Changes
  • #​3555 547dc30 Thanks @​Its-Just-Nans! - Improves the error message thrown when using a file in the public/ directory with Starlight’s customCss configuration option

  • #​3496 b78fda4 Thanks @​delucis! - Fixes invalid <head> output when configuration is missing:

    • Omits <meta property="og:description" /> if Starlight’s description option is unset
    • Omits <link rel="canonical" /> and <meta property="og:url" /> if Astro’s site option is unset
  • #​3511 8727df1 Thanks @​astrobot-houston! - Updates the seti:gitlab icon to match latest version from Seti UI Icons

conventional-changelog/commitlint (@​commitlint/cli)

v20.3.1

Compare Source

Note: Version bump only for package @​commitlint/cli

v20.3.0

Compare Source

Note: Version bump only for package @​commitlint/cli

v20.2.0

Compare Source

Note: Version bump only for package @​commitlint/cli

conventional-changelog/commitlint (@​commitlint/config-conventional)

v20.3.1

Compare Source

Note: Version bump only for package @​commitlint/config-conventional

v20.3.0

Compare Source

Note: Version bump only for package @​commitlint/config-conventional

v20.2.0

Compare Source

Note: Version bump only for package @​commitlint/config-conventional

open-wc/custom-elements-manifest (@​custom-elements-manifest/analyzer)

v0.11.0

Compare Source

  • Update find-dependencies package to use oxc-resolver
sapphiredev/utilities (@​sapphire/ts-config)

v5.0.3

Compare Source

Changelog

All notable changes to this project will be documented in this file.

v5.0.2

Compare Source

🏠 Refactor

  • Relocate tsconfig files to the package root for rolldown compatibility (b7f8a51)

🐛 Bug Fixes

📝 Documentation

  • readme: Fix readme table of contents (c60e8bd)
withastro/astro (astro)

v5.16.15

Compare Source

Patch Changes
  • #​15286 0aafc83 Thanks @​florian-lefebvre! - Fixes a case where font providers provided as class instances may not work when using the experimental Fonts API. It affected the local provider

v5.16.14

Compare Source

Patch Changes
  • #​15213 c775fce Thanks @​florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API only

    Updates how the local provider must be used when using the experimental Fonts API

    Previously, there were 2 kinds of font providers: remote and local.

    Font providers are now unified. If you are using the local provider, the process for configuring local fonts must be updated:

    -import { defineConfig } from "astro/config";
    +import { defineConfig, fontProviders } from "astro/config";
    
    export default defineConfig({
        experimental: {
            fonts: [{
                name: "Custom",
                cssVariable: "--font-custom",
    -            provider: "local",
    +            provider: fontProviders.local(),
    +            options: {
                variants: [
                    {
                        weight: 400,
                        style: "normal",
                        src: ["./src/assets/fonts/custom-400.woff2"]
                    },
                    {
                        weight: 700,
                        style: "normal",
                        src: ["./src/assets/fonts/custom-700.woff2"]
                    }
                    // ...
                ]
    +            }
            }]
        }
    });

    Once configured, there is no change to using local fonts in your project. However, you should inspect your deployed site to confirm that your new font configuration is being applied.

    See the experimental Fonts API docs for more information.

  • #​15213 c775fce Thanks @​florian-lefebvre! - Exposes root on FontProvider init() context

    When building a custom FontProvider for the experimental Fonts API, the init() method receives a context. This context now exposes a root URL, useful for resolving local files:

    import type { FontProvider } from "astro";
    
    export function registryFontProvider(): FontProvider {
      return {
        // ...
    -    init: async ({ storage }) => {
    +    init: async ({ storage, root }) => {
            // ...
        },
      };
    }
  • #​15185 edabeaa Thanks @​EricGrill! - Add .vercel to .gitignore when adding the Vercel adapter via astro add vercel

v5.16.13

Compare Source

Patch Changes
  • #​15182 cb60ee1 Thanks @​florian-lefebvre! - Adds a new getFontBuffer() method to retrieve font file buffers when using the experimental Fonts API

    The getFontData() helper function from astro:assets was introduced in 5.14.0 to provide access to font family data for use outside of Astro. One of the goals of this API was to be able to retrieve buffers using URLs.

    However, it turned out to be impactical and even impossible during prerendering.

    Astro now exports a new getFontBuffer() helper function from astro:assets to retrieve font file buffers from URL returned by getFontData(). For example, when using satori to generate OpenGraph images:

    // src/pages/og.png.ts
    
    import type{ APIRoute } from "astro"
    -import { getFontData } from "astro:assets"
    +import { getFontData, getFontBuffer } from "astro:assets"
    import satori from "satori"
    
    export const GET: APIRoute = (context) => {
      const data = getFontData("--font-roboto")
    
      const svg = await satori(
        <div style={{ color: "black" }}>hello, world</div>,
        {
          width: 600,
          height: 400,
          fonts: [
            {
              name: "Roboto",
    -          data: await fetch(new URL(data[0].src[0].url, context.url.origin)).then(res => res.arrayBuffer()),
    +          data: await getFontBuffer(data[0].src[0].url),
              weight: 400,
              style: "normal",
            },
          ],
        },
      )
    
      // ...
    }

    See the experimental Fonts API documentation for more information.

v5.16.12

Compare Source

Patch Changes
  • #​15175 47ae148 Thanks @​florian-lefebvre! - Allows experimental Font providers to specify family options

    Previously, an Astro FontProvider could only accept options at the provider level when called. That could result in weird data structures for family-specific options.

    Astro FontProviders can now declare family-specific options, by specifying a generic:

    // font-provider.ts
    import type { FontProvider } from "astro";
    import { retrieveFonts, type Fonts } from "./utils.js",
    
    interface Config {
      token: string;
    }
    
    +interface FamilyOptions {
    +    minimal?: boolean;
    +}
    
    -export function registryFontProvider(config: Config): FontProvider {
    +export function registryFontProvider(config: Config): FontProvider<FamilyOptions> {
      let data: Fonts = {}
    
      return {
        name: "registry",
        config,
        init: async () => {
          data = await retrieveFonts(token);
        },
        listFonts: () => {
          return Object.keys(data);
        },
    -    resolveFont: ({ familyName, ...rest }) => {
    +    // options is typed as FamilyOptions
    +    resolveFont: ({ familyName, options, ...rest }) => {
          const fonts = data[familyName];
          if (fonts) {
            return { fonts };
          }
          return undefined;
        },
      };
    }

    Once the font provider is registered in the Astro config, types are automatically inferred:

    // astro.config.ts
    import { defineConfig } from "astro/config";
    import { registryFontProvider } from "./font-provider";
    
    export default defineConfig({
        experimental: {
            fonts: [{
                provider: registryFontProvider({
                  token: "..."
                }),
                name: "Custom",
                cssVariable: "--font-custom",
    +            options: {
    +                minimal: true
    +            }
            }]
        }
    });
  • #​15175 47ae148 Thanks @​florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API only

    Updates how options are passed to the Google and Google Icons font providers when using the experimental Fonts API

    Previously, the Google and Google Icons font providers accepted options that were specific to given font families.

    These options must now be set using the options property instead. For example using the Google provider:

    import { defineConfig, fontProviders } from "astro/config";
    
    export default defineConfig({
        experimental: {
            fonts: [{
                name: 'Inter',
                cssVariable: '--astro-font-inter',
                weights: ['300 900'],
    -            provider: fontProviders.google({
    -                experimental: {
    -                    variableAxis: {
    -                        Inter: { opsz: ['14..32'] }
    -                    }
    -                }
    -            }),
    +            provider: fontProviders.google(),
    +            options: {
    +                experimental: {
    +                    variableAxis: { opsz: ['14..32'] }
    +                }
    +            }
            }]
        }
    })
  • #​15200 c0595b3 Thanks @​florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API only

    Removes getFontData() exported from astro:assets with fontData when using the experimental Fonts API

    Accessing font data can be useful for advanced use cases, such as generating meta tags or Open Graph images. Before, we exposed a getFontData() helper function to retrieve the font data for a given cssVariable. That was however limiting for programmatic usages that need to access all font data.

    The getFontData() helper function is removed and replaced by a new fontData object:

    -import { getFontData } from "astro:assets";
    -const data = getFontData("--font-roboto")
    
    +import { fontData } from "astro:assets";
    +const data = fontData["--font-roboto"]

    We may reintroduce getFontData() later on for a more friendly DX, based on your feedback.

  • #​15254 8d84b30 Thanks @​lamalex! - Fixes CSS assetsPrefix with remote URLs incorrectly prepending a forward slash

    When using build.assetsPrefix with a remote URL (e.g., https://cdn.example.com) for CSS assets, the generated <link> elements were incorrectly getting a / prepended to the full URL, resulting in invalid URLs like /https://cdn.example.com/assets/style.css.

    This fix checks if the stylesheet link is a remote URL before prepending the forward slash.

  • #​15178 731f52d Thanks @​kedarvartak! - Fixes an issue where stopping the dev server with q+enter incorrectly created a dist folder and copied font files when using the experimental Fonts API

  • #​15230 3da6272 Thanks @​rahuld109! - Fixes greedy regex in error message markdown rendering that caused link syntax examples to capture extra characters

  • #​15253 2a6315a Thanks @​matthewp! - Fixes hydration for React components nested inside HTML elements in MDX files

  • #​15227 9a609f4 Thanks @​matthewp! - Fixes styles not being included for conditionally rendered Svelte 5 components in production builds

  • #​14607 ee52160 Thanks @​simensfo! - Reintroduces css deduplication for hydrated client components. Ensures assets already added to a client chunk are not flagged as orphaned

v5.16.11

Compare Source

Patch Changes

v5.16.10

Compare Source

Patch Changes
  • 2fa19c4 - Improved error handling in the rendering phase

    Added defensive validation in App.render() and #renderError() to provide a descriptive error message when a route module doesn't have a valid page function.

  • #​15199 d8e64ef Thanks @​ArmandPhilippot! - Fixes the links to Astro Docs so that they match the current docs structure.

  • #​15169 b803d8b Thanks @​rururux! - fix: fix image 500 error when moving dist directory in standalone Node

  • #​14622 9b35c62 Thanks @​aprici7y! - Fixes CSS url() references to public assets returning 404 in dev mode when base path is configured

  • #​15219 43df4ce Thanks @​matthewp! - Upgrades the diff package to v8

v5.16.9

Compare Source

Patch Changes
  • #​15174 37ab65a Thanks @​florian-lefebvre! - Adds Google Icons to built-in font providers

    To start using it, access it on fontProviders:

    import { defineConfig, fontProviders } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        fonts: [
          {
            name: 'Material Symbols Outlined',
            provider: fontProviders.googleicons(),
            cssVariable: '--font-material',
          },
        ],
      },
    });
  • #​15150 a77c4f4 Thanks @​matthewp! - Fixes hydration for framework components inside MDX when using Astro.slots.render()

    Previously, when multiple framework components with client:* directives were passed as named slots to an Astro component in MDX, only the first slot would hydrate correctly. Subsequent slots would render their HTML but fail to include the necessary hydration scripts.

  • #​15130 9b726c4 Thanks @​florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API only

    Changes how font providers are implemented with updates to the FontProvider type

    This is an implementation detail that changes how font providers are created. This process allows Astro to take more control rather than relying directly on unifont types. All of Astro's built-in font providers have been updated to reflect this new type, and can be configured as before. However, using third-party unifont providers that rely on unifont types will require an update to your project code.

    Previously, an Astro FontProvider was made of a config and a runtime part. It relied directly on unifont types, which allowed a simple configuration for third-party unifont providers, but also coupled Astro's implementation to unifont, which was limiting.

    Astro's font provider implementation is now only made of a config part with dedicated hooks. This allows for the separation of config and runtime, but requires you to create a font provider object in order to use custom font providers (e.g. third-party unifont providers, or private font registeries).

What should I do?

If you were using a 3rd-party unifont font provider, you will now need to write an Astro FontProvider using it under the hood. For example:

// astro.config.ts
import { defineConfig } from "astro/config";
import { acmeProvider, type AcmeOptions } from '@&#8203;acme/unifont-provider'
+import type { FontProvider } from "astro";
+import type { InitializedProvider } from 'unifont';

+function acme(config?: AcmeOptions): FontProvider {
+	const provider = acmeProvider(config);
+	let initializedProvider: InitializedProvider | undefined;
+	return {
+		name: provider._name,
+		config,
+		async init(context) {
+			initializedProvider = await provider(context);
+		},
+		async resolveFont({ familyName, ...rest }) {
+			return await initializedProvider?.resolveFont(familyName, rest);
+		},
+		async listFonts() {
+			return await initializedProvider?.listFonts?.();
+		},
+	};
+}

export default defineConfig({
    experimental: {
        fonts: [{
-            provider: acmeProvider({ /* ... */ }),
+            provider: acme({ /* ... */ }),
            name: "Material Symbols Outlined",
            cssVariable: "--font-material"
        }]
    }
});
  • #​15147 9cd5b87 Thanks @​matthewp! - Fixes scripts in components not rendering when a sibling <Fragment slot="..."> exists but is unused

v5.16.8

Compare Source

Patch Changes

v5.16.7

Compare Source

Patch Changes
  • #​15122 b137946 Thanks @​florian-lefebvre! - Improves JSDoc annotations for AstroGlobal, AstroSharedContext and APIContext types

  • #​15123 3f58fa2 Thanks @​43081j! - Improves rendering performance by grouping render chunks when emitting from async iterables to avoid encoding costs

  • #​14954 7bec4bd Thanks @​volpeon! - Fixes remote images Etag header handling by disabling internal cache

  • #​15052 b2bcd5a Thanks @​Princesseuh! - Fixes images not working in development when using setups with port forwarding

  • #​15028 87b19b8 Thanks @​Princesseuh! - Fixes certain aliases not working when using images in JSON files with the content layer

  • #​15118 cfa382b Thanks @​florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API only

    Removes the defineAstroFontProvider() type helper.

    If you are building a custom font provider, remove any occurrence of defineAstroFontProvider() and use the FontProvider type instead:

    -import { defineAstroFontProvider } from 'astro/config';
    
    -export function myProvider() {
    -    return defineAstroFontProvider({
    -        entrypoint: new URL('./implementation.js', import.meta.url)
    -    });
    -};
    
    +import type { FontProvider } from 'astro';
    
    +export function myProvider(): FontProvider {
    +    return {
    +        entrypoint: new URL('./implementation.js', import.meta.url)
    +    },
    +}
  • #​15055 4e28db8 Thanks @​delucis! - Reduces Astro’s install size by around 8 MB

  • #​15088 a19140f Thanks @​martrapp! - Enables the ClientRouter to preserve the original hash part of the target URL during server side redirects.

  • #​15117 b1e8e32 Thanks @​florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API only

    Changes the font format downloaded by default when using the experimental Fonts API. Additionally, adds a new formats configuration option to specify which font formats to download.

    Previously, Astro was opinionated about which font sources would be kept for usage, mainly keeping woff2 and woff files.

    You can now specify what font formats should be downloaded (if available). Only woff2 files are downloaded by default.

What should I do?

If you were previously relying on Astro downloading the woff format, you will now need to specify this explicitly with the new formats configuration option. Additionally, you may also specify any additional file formats to download if available:

// astro.config.mjs
import { defineConfig, fontProviders } from 'astro/config'

export default defineConfig({
    experimental: {
        fonts: [{
            name: 'Roboto',
            cssVariable: '--font-roboto',
            provider: fontProviders.google(),
+            formats: ['woff2', 'woff', 'otf']
        }]
    }
})

v5.16.6

Compare Source

Patch Changes

v5.16.5

Compare Source

Patch Changes

Configuration

📅 Schedule: Branch creation - "before 12pm on Sunday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies label Nov 9, 2025
@renovate renovate bot requested a review from favna as a code owner November 9, 2025 02:52
@renovate renovate bot added the dependencies label Nov 9, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from af71637 to dacb6f4 Compare November 13, 2025 23:00
@renovate renovate bot changed the title fix(deps): update all non-major dependencies chore(deps): update all non-major dependencies Nov 13, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from dacb6f4 to 10acb5c Compare November 14, 2025 18:39
@renovate renovate bot changed the title chore(deps): update all non-major dependencies fix(deps): update all non-major dependencies Nov 14, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 7 times, most recently from 9e51707 to 1809ba7 Compare November 19, 2025 21:03
@renovate renovate bot changed the title fix(deps): update all non-major dependencies chore(deps): update all non-major dependencies Nov 19, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 1809ba7 to 786c387 Compare November 20, 2025 18:29
@renovate renovate bot changed the title chore(deps): update all non-major dependencies fix(deps): update all non-major dependencies Nov 20, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from e0257c3 to 0df8c6c Compare November 24, 2025 20:43
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from 6396a02 to f5f6589 Compare December 24, 2025 01:35
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from d2ecb7f to 176c3fe Compare January 6, 2026 20:25
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from 7c6caef to e49cb41 Compare January 14, 2026 13:13
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 9 times, most recently from 6ce4d8c to 9ee7a80 Compare January 21, 2026 20:46
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from 33b9703 to d375436 Compare January 23, 2026 17:05
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from d375436 to 3de84e2 Compare January 23, 2026 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant