Skip to content

Starlight Changelog

0.30.0

Minor Changes

  • #2612 8d5a4e8 Thanks @HiDeoo! - Adds support for Astro v5, drops support for Astro v4.

    Upgrade Astro and dependencies

    ⚠️ BREAKING CHANGE: Astro v4 is no longer supported. Make sure you update Astro and any other official integrations at the same time as updating Starlight:

    Terminal window
    npx @astrojs/upgrade

    Community Starlight plugins and Astro integrations may also need to be manually updated to work with Astro v5. If you encounter any issues, please reach out to the plugin or integration author to see if it is a known issue or if an updated version is being worked on.

    Update your collections

    ⚠️ BREAKING CHANGE: Starlight’s internal content collections, which organize, validate, and render your content, have been updated to use Astro’s new Content Layer API and require configuration changes in your project.

    1. Move the content config file. This file no longer lives within the src/content/config.ts folder and should now exist at src/content.config.ts.

    2. Edit the collection definition(s). To update the docs collection, a loader is now required:

      src/content.config.ts
      import { defineCollection } from "astro:content";
      import { docsLoader } from "@astrojs/starlight/loaders";
      import { docsSchema } from "@astrojs/starlight/schema";
      export const collections = {
      docs: defineCollection({ schema: docsSchema() }),
      docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
      };

      If you are using the i18n collection to provide translations for additional languages you support or override our default labels, you will need to update the collection definition in a similar way and remove the collection type which is no longer available:

      src/content.config.ts
      import { defineCollection } from "astro:content";
      import { docsLoader, i18nLoader } from "@astrojs/starlight/loaders";
      import { docsSchema, i18nSchema } from "@astrojs/starlight/schema";
      export const collections = {
      docs: defineCollection({ schema: docsSchema() }),
      docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
      i18n: defineCollection({ type: 'data', schema: i18nSchema() }),
      i18n: defineCollection({ loader: i18nLoader(), schema: i18nSchema() }),
      };
    3. Update other collections. To update any other collections you may have, follow the “Updating existing collections” section in the Astro 5 upgrade guide.

    If you are unable to make any changes to your collections at this time, including Starlight’s default docs and i18n collections, you can enable the legacy.collections flag to upgrade to v5 without updating your collections. This legacy flag exists to provide temporary backwards compatibility, and will allow you to keep your collections in their current state until the legacy flag is no longer supported.

Patch Changes

0.29.3

Patch Changes

  • #2642 12750ae Thanks @dragomano! - Updates Russian UI translations

  • #2656 4d543be Thanks @HiDeoo! - Improves error message when an invalid configuration or no configuration is provided to the Starlight integration.

  • #2645 cf12beb Thanks @techfg! - Fixes support for favicon URLs that contain a search query and/or hash

  • #2650 38db4ec Thanks @raviqqe! - Moves @types/js-yaml package to non-dev dependencies

  • #2633 5adb720 Thanks @HiDeoo! - Fixes a VoiceOver issue with Safari where the content of a <script> element could be read before the sidebar content.

  • #2663 34755f9 Thanks @astrobot-houston! - Adds a new seti:vite icon for Vite configuration files in the <FileTree> component

0.29.2

Patch Changes

  • #2616 128cc51 Thanks @delucis! - Fixes an edge case to correctly avoid a trailing slash when navigating from a root locale homepage to another language via Starlight’s language switcher when trailingSlash: 'never' is set

0.29.1

Patch Changes

  • #2611 6059d96 Thanks @HiDeoo! - Fixes a UI string type issue in projects with multiple data content collections.

  • #2606 10b15a7 Thanks @delucis! - Makes <CardGrid> more resilient to complex child content on smaller viewports

  • #2605 ec7ab4f Thanks @brianzelip! - Exposes SidebarPersister component in package exports for use in custom overrides

  • #2614 9a31980 Thanks @HiDeoo! - Fixes an issue with custom pages using the <StarlightPage /> component and a custom sidebar missing highlighting for the active page and navigation links.

  • #2600 49aef17 Thanks @jdevega! - Adds Backstage social icon

  • #2613 a73780f Thanks @delucis! - Fixes support for sidebar frontmatter options in sidebar entries using slug or the string shorthand for internal links

0.29.0

Minor Changes

  • #2551 154c8e3 Thanks @hippotastic! - Updates the astro-expressive-code dependency to the latest version (0.38).

    The new version allows using ec.config.mjs to selectively override individual Expressive Code styles and settings provided by Starlight themes and plugins, speeds up Shiki language loading, and adds the config option expressiveCode.shiki.injectLangsIntoNestedCodeBlocks. See the Expressive Code release notes for full details.

  • #2252 6116db0 Thanks @HiDeoo! - Improves build performance for sites with large sidebars

    This release adds a caching layer to Starlight’s sidebar generation logic, reducing the number of times sidebars need to be regenerated while building a site. Some benchmarks for projects with a complex sidebar saw builds complete more than 35% faster with this change.

  • #2503 a4c8edd Thanks @HiDeoo! - Improves the accessibility of asides and tabs by removing some unnecessary HTML landmarks.

Patch Changes

0.28.6

Patch Changes

  • #2565 236467b Thanks @HiDeoo! - Fixes an issue with custom UI strings defined in YAML files not being loaded in some contexts.

0.28.5

Patch Changes

  • #2546 bf42300 Thanks @HiDeoo! - Fixes an issue where i18n content collection related errors, e.g. malformed JSON or YAML, would not be reported.

  • #2548 07673c8 Thanks @HiDeoo! - Fixes a URL localization edge case. In projects without a root locale configured, slugs without a locale prefix did not fall back to the default locale as expected.

  • #2547 91e1dd7 Thanks @HiDeoo! - Fixes a Firefox Markdown content rendering issue for text sentences separated by a line break.

  • #2524 1b46783 Thanks @jsparkdev! - Fixes a broken link to Astro’s Docs in an error message

0.28.4

Patch Changes

  • #2444 d585b3e Thanks @HiDeoo! - Fixes a UI string translation issue for languages with a region subtag.

  • #2518 0f69db8 Thanks @morinokami! - Updates Japanese UI translations

  • #2507 bd6ced5 Thanks @HiDeoo! - Fixes a table of contents highlighting issue after resizing the window.

  • #2444 d585b3e Thanks @HiDeoo! - Refactors various components to use the new built-in localization system to access translated UI strings.

0.28.3

Patch Changes

0.28.2

Patch Changes

  • #2377 a257b83 Thanks @HiDeoo! - Fixes an issue with synced <Tabs> components containing nested <Tabs> causing tab panels to not render correctly.