All versions since 0.22.1
0.22.1
Patch Changes
1c0fc384Thanks @HiDeoo! - Fixes an issue where thesiteTitleproperty would not be set when using the<StarlightPage />component.
0.22.2
Patch Changes
-
#1811
fe06aa13Thanks @HiDeoo! - Fixes a<Tabs>sync issue when inconsistently using theiconprop or not on<TabItem>components. -
#1826
52ea7381Thanks @dragomano! - Updates Russian UI translations
0.22.3
Patch Changes
-
#1838
9fe84754Thanks @delucis! - Adds extra information to the errors thrown by the<Steps>component to help locate misformatted code -
#1863
50be60bbThanks @torn4dom4n! - Update Vietnamese translation -
#1837
a33a1223Thanks @delucis! - Adds three new icons:comment,comment-alt,heart -
#1842
c7838636Thanks @delucis! - Moves thehrefused in the site title link to Starlight’s route data object. This makes it possible for overrides to change the title link while reusing Starlight’s default component implementation. -
#1840
cb85563cThanks @MiahaCybersec! - Adds 1 new icon:hackerone
0.22.4
Patch Changes
-
#1871
03bb126bThanks @delucis! - Adds ablueSkyicon and social link option -
#1873
13f33b81Thanks @ekfuhrmann! - Adds 1 new icon:alpine -
#1857
32cdfaf0Thanks @tarikcoskun! - Updates Turkish UI translations -
#1736
cfa94a34Thanks @julien-deramond! - Prevent list items from overflowing Markdown content
0.23.0
Minor Changes
-
#1846
2de67039Thanks @delucis! - Updates@astrojs/mdxto v3 and enables MDX optimization by default⚠️ Potentially breaking change: MDX optimization speeds up builds (Starlight’s docs are building ~40% faster for example), but restricts some advanced MDX features. See full details in the MDX optimization documentation.
Most Starlight users should be unaffected, but if you are using MDX files outside of Starlight pages with the
componentsprop, you may see issues. You can disable optimization by adding MDX manually to yourintegrationsarray inastro.config.mjs:import { defineConfig } from 'astro/config';import mdx from '@astrojs/mdx';import starlight from '@astrojs/starlight';// https://astro.build/configexport default defineConfig({integrations: [starlight({title: 'My docs',// ...}),mdx(),],}); -
#1735
1a9ab50dThanks @HiDeoo! - Adds custom styles for<details>and<summary>elements in Markdown content. -
#1846
2de67039Thanks @delucis! - ⚠️ BREAKING CHANGE: The minimum supported version of Astro is now 4.8.6Please update Astro and Starlight together:
Terminal window npx @astrojs/upgrade
0.23.1
Patch Changes
0.23.2
Patch Changes
-
#1913
7ebe8f75Thanks @delucis! - Fixes support for Astro’sbuild: { format: 'preserve' }configuration option -
#1941
2f3240c9Thanks @astrobot-houston! - Adds icon support for.otffiles in<FileTree>
0.23.3
Patch Changes
-
#1948
68c0c077Thanks @HiDeoo! - Fixes a<Steps>component numbering issue with the next Chrome stable version when a step contains a nested list. -
#1909
c98c7088Thanks @joshka! - Adds Discourse to social icons
0.23.4
Patch Changes
- #1955
15ef1f4bThanks @HiDeoo! - Reverts a change to prevent a numbering issue with the<Steps>component in future versions of Chrome.
0.24.0
Minor Changes
-
#1841
ee0cd38aThanks @HiDeoo! - Adds support forAstro.currentLocaleand Astro’s i18n routing.⚠️ Potentially breaking change: Starlight now configures Astro’s
i18noption for you based on itslocalesconfig.If you are currently using Astro’s
i18noption as well as Starlight’slocalesoption, you will need to remove one of these. In general we recommend using Starlight’slocales, but if you have a more advanced configuration you may choose to keep Astro’si18nconfig instead. -
#1958
081d1a96Thanks @delucis! - Allows users to opt into displaying a “Built with Starlight” link in the site footer -
#1530
dd64836aThanks @kevinzunigacuellar! - Adds a new<Badge>component
0.24.1
Patch Changes
-
#1978
a5ab8cd6Thanks @kylewlacy! - Add new social icon for Zulip -
#1962
2ef19a94Thanks @torn4dom4n! - Updates Vietnamese UI translations -
#1976
5a61f73cThanks @jsparkdev! - Updates Korean UI translations -
#1987
0b8a8439Thanks @HiDeoo! - Fixes issues with the locale text direction detection mechanism in some environments like WebContainers or Bun.
0.24.2
Patch Changes
-
#2008
40359c7Thanks @vnepogodin! - Add Slovak language UI translation. -
#2004
0aa2f06Thanks @liruifengv! - Removes an outdated export inpackage.json -
#2007
44ca490Thanks @delucis! - Updates internal dependencies -
#1993
60165b2Thanks @HiDeoo! - Fixes an i18n configuration issue when using a single root locale.
0.24.3
Patch Changes
-
#2028
af81ad3Thanks @HiDeoo! - Fixes a search dialog height issue in Safari. -
#2022
80f82b1Thanks @playmr365! - Updates Czech UI translations
0.24.4
Patch Changes
-
#2038
87f3f92Thanks @dragomano! - Updates Russian UI translations -
#2043
53f4cd4Thanks @playmr365! - Updates Czech UI translations -
#2041
8af5a60Thanks @HiDeoo! - Fixes<Steps>numbering bug caused by Chrome v126 CSS counter rewrite
0.24.5
Patch Changes
-
#2062
5ac0ac6Thanks @evadecker! - Increase theme and language select inline padding -
#2056
87e9ad0Thanks @HiDeoo! - Fixes an issue preventing remark plugins injected by Starlight plugins to handle Markdown text and leaf directives. -
#2063
3ee1a94Thanks @delucis! - TranslatefileTree.directoryandaside.*UI string into Norwegian (Bokmål). -
#2054
dbfd3eeThanks @HiDeoo! - Fixes an issue when using the<StarlightPage>component in a custom page with a user-definedsrcDirconfiguration.
0.25.0
Minor Changes
-
#2025
47f32c1Thanks @HiDeoo! - Removes the/search shortcut for accessibility reasons.⚠️ Potentially breaking change: The
search.shortcutLabelUI string has been removed. If you were using this string in your custom UI, you will need to update your code. -
#2064
c5b47cbThanks @SnowDingo! - Improves styling of Markdown tables to work better in different contexts, including against different background colours like when used in asides. -
#2031
2bab648Thanks @delucis! - Makes sidebar entry parsing stricter in Starlight config⚠️ Potentially breaking change: Previously Starlight would accept a sidebar entry that matched one of its expected shapes, even if it included additional properties. For example, including both
linkanditemswas considered valid, withitemsbeing ignored. Now, it is an error to include more than one oflink,items, orautogeneratein a sidebar entry.If you see errors after updating, look for sidebar entries in the Starlight configuration in
astro.config.mjsthat include too many keys and remove the one that was previously ignored. -
#1874
eeba06eThanks @lorenzolewis! - Adds a new syntax for specifying sidebar link items for internal linksYou can now specify an internal page using only its slug, either as a string, or as an object with a
slugproperty:starlight({title: 'Docs with easier sidebars',sidebar: ['getting-started', { slug: 'guides/installation' }],});Starlight will use the linked page’s frontmatter to configure the sidebar link.
Patch Changes
- #2081
f0181d2Thanks @andrii-bodnar! - Updates the Ukrainian UI translations
0.25.1
Patch Changes
-
#2122
359a642Thanks @HiDeoo! - Fixes an i18n configuration issue for multilingual sites when using Astro’si18nconfig withprefixDefaultLocaleset tofalse. -
#2107
61e223bThanks @sanabel-al-firdaws! - Updates Arabic UI translations -
#2105
81f8a2cThanks @delucis! - Fixes an edge case in custom pagination link processingCustom link values for
prev/nextin page frontmatter are now always used as authored. Previously this was not the case in some edge cases such as for the first and final pages in the sidebar. -
#2119
464685aThanks @evadecker! - Improves styling of<hr>,<blockquote>, and<code>within asides
0.25.2
Patch Changes
-
#2126
ada51eeThanks @essential-randomness! - Adds support for markdown formatting in aside titles -
#2135
9bbb969Thanks @oluwatobiss! - Adds Pinterest social icon
0.25.3
Patch Changes
-
#2154
0b381d5Thanks @mktbsh! - Updates<head>logic to deduplicate<link rel="canonical">tags. This means that custom canonicals set via frontmatter now override the default canonical generated by Starlight. -
#2157
6757d97Thanks @astrobot-houston! - Updates file tree icon mapping to correctly map.cjsand.mjsextensions in several contexts -
#2156
904ad47Thanks @delucis! - Fixes builds for projects with a space in their pathname -
#2137
703903bThanks @cevdetardaharan! - Removestwitter:titleandtwitter:descriptionmeta tags from<head>
0.25.4
Patch Changes
-
#2155
8bed886Thanks @delucis! - Improves page load performance on slower devices -
#2167
9ac7725Thanks @delucis! - Fixes an issue detecting the built-in locale when running Starlight in a web container environment on Firefox -
#2166
4f12049Thanks @delucis! - Updates@astrojs/mdx,@astrojs/sitemap,astro-expressive-code,unified, andvfiledependencies to the latest version
0.25.5
Patch Changes
-
#2171
c8258d7Thanks @delucis! - Improves build performance slightly for bigger sites -
#2199
91557fdThanks @connorjs! - Adds Azure DevOps (azureDevOps) icon for use in social links.
0.26.0
Minor Changes
-
#1784
68f56a7Thanks @HiDeoo! - Adds<LinkButton>component for visually distinct and emphasized call to action links -
#2150
9368494Thanks @delucis! - Adds state persistence across page navigations to the main site sidebar -
#2087
caa84eaThanks @HiDeoo! - Adds persistence to synced<Tabs>so that a user’s choices are reflected across page navigations. -
#2051
ec3b579Thanks @HiDeoo! - Adds a guideline to the last step of the<Steps>component.If you want to preserve the previous behaviour and hide the guideline on final steps, you can add the following custom CSS to your site:
/* Hide the guideline for the final step in <Steps> lists. */.sl-steps > li:last-of-type::after {background: transparent;} -
#1784
68f56a7Thanks @HiDeoo! - Changes the hero component action button default variant fromminimaltoprimary.⚠️ BREAKING CHANGE: If you want to preserve the previous appearance, hero component action buttons previously declared without a
variantwill need to be updated to include thevariantproperty with the valueminimal.hero:actions:- text: View on GitHublink: https://github.com/astronaut/my-projecticon: externalvariant: minimal -
#2168
e044feeThanks @HiDeoo! - ⚠️ BREAKING CHANGE: Updates the<StarlightPage />componentsidebarprop to accept an array ofSidebarItems like the main Starlightsidebarconfiguration inastro.config.mjs.This change simplifies the definition of sidebar items in the
<StarlightPage />component, allows for shared sidebar configuration between the globalsidebaroption and<StarlightPage />component, and also enables the usage of autogenerated sidebar groups with the<StarlightPage />component. If you are using the<StarlightPage />component with a customsidebarconfiguration, you will need to update thesidebarprop to an array ofSidebarItemobjects.For example, the following custom page with a custom
sidebarconfiguration defines a “Resources” group with a “New” badge, a link to the “Showcase” page which is part of thedocscontent collection, and a link to the Starlight website:src/pages/custom-page/example.astro <StarlightPagefrontmatter={{ title: 'My custom page' }}sidebar={[{type: 'group',label: 'Resources',badge: { text: 'New' },items: [{ type: 'link', label: 'Showcase', href: '/showcase/' },{type: 'link',label: 'Starlight',href: 'https://starlight.astro.build/',},],},]}><p>This is a custom page with a custom component.</p></StarlightPage>This configuration will now need to be updated to the following:
src/pages/custom-page/example.astro <StarlightPagefrontmatter={{ title: 'My custom page' }}sidebar={[{label: 'Resources',badge: { text: 'New' },items: ['showcase',{ label: 'Starlight', link: 'https://starlight.astro.build/' },],},]}><p>This is a custom page with a custom component.</p></StarlightPage>See the “Sidebar Navigation” guide to learn more about the available options for customizing the sidebar.
0.26.1
Patch Changes
- #2219
74d4716Thanks @HiDeoo! - Fixes a sidebar persistence issue when navigating between pages with different sidebar content.
0.26.2
Patch Changes
-
#2273
746e0cdThanks @delucis! - Fixes type error when using Starlight with Astro v4.15 -
#2265
25b661eThanks @SeraphicRav! - Adds TikTok social icon -
#2250
c0a6166Thanks @HiDeoo! - Removes internal E2E tests from the package published to the npm registry. -
#2253
72bc76aThanks @HiDeoo! - Fixes an issue preventing to use theclassattribute in hero action link buttons.
0.26.3
Patch Changes
-
#2281
5062d30Thanks @HiDeoo! - Fixes a potential text rendering issue that could include extra whitespaces for text containing colons. -
#2279
62d59e2Thanks @HiDeoo! - Fixes an issue with frontmatter schemas containing collection references used with the<StarlightPage />component and an Astro version greater than4.14.0.
0.26.4
Patch Changes
-
#2288
b15f725Thanks @matthewp! - Safely handle Zod errorsPrevents bugs where errors without the
.receivedprops would through and cause builds to fail unnecessarily.
0.27.0
Minor Changes
-
#1255
6f3202bThanks @Fryuni! - Adds support for server-rendered Starlight pages.When building a project with
hybridorserveroutput mode, a newprerenderoption on Starlight config can be set tofalseto make all Starlight pages be rendered on-demand:export default defineConfig({output: 'server',integrations: [starlight({prerender: false,}),],});
Patch Changes
-
#2242
756e85eThanks @delucis! - Refactors the logic for persisting and restoring sidebar state across navigations for better performance on slow or busy devices -
#1255
6f3202bThanks @Fryuni! - Improves performance of computing the last updated times from Git history.Instead of executing
gitfor each docs page, it is now executed twice regardless of the number of pages. -
#1255
6f3202bThanks @Fryuni! - Fixes last updated times on projects with customsrcDir
0.27.1
Patch Changes
- #2303
f92791aThanks @delucis! - Fixes resolution for the internal module Git virtual module in projects with special characters in the file path
0.28.0
Minor Changes
-
#1923
5269aadThanks @HiDeoo! - Overhauls the built-in localization system which is now powered by thei18nextlibrary and available to use anywhere in your documentation website.See the “Using UI translations” guide to learn more about how to access built-in UI labels or your own custom strings in your project. Plugin authors can also use the new
injectTranslations()helper to add or update translation strings.⚠️ BREAKING CHANGE: The
Astro.props.labelsprops has been removed from the props passed down to custom component overrides.If you are relying on
Astro.props.labels(for example to read a built-in UI label), you will need to update your code to use the newAstro.locals.t()helper instead.---import type { Props } from '@astrojs/starlight/props';// The `search.label` UI label for this page’s language:const searchLabel = Astro.locals.t('search.label');--- -
#2285
7286220Thanks @HiDeoo! - Adds support for translating sidebar badges. -
#1923
5269aadThanks @HiDeoo! - ⚠️ BREAKING CHANGE: The minimum supported version of Astro is now 4.14.0Please update Astro and Starlight together:
Terminal window npx @astrojs/upgrade
Patch Changes
- #2327
d7a295eThanks @tritao! - Fixes restoration of remark directives for nodes with custom data attached.
0.28.1
Patch Changes
- #2334
79b9adeThanks @HiDeoo! - Fixes an issue with Expressive Code UI labels not displaying correctly.
0.28.2
Patch Changes
- #2377
a257b83Thanks @HiDeoo! - Fixes an issue with synced<Tabs>components containing nested<Tabs>causing tab panels to not render correctly.
0.28.3
Patch Changes
-
#2408
0b4823dThanks @HiDeoo! - Fixes a link formatting issue when using the Astrobuild.formatoption set tofilewith abase. -
#2380
7b451cfThanks @delucis! - Loosen Starlight’s i18n schema to pass through unknown keys -
#2388
6bba3d8Thanks @HiDeoo! - Fixes a potential type-checking issue in Starlight projects. -
#2443
a0f40b3Thanks @kevinzunigacuellar! - Fixes CSS issue where bottom padding is not applied in the search dialog.
0.28.4
Patch Changes
-
#2444
d585b3eThanks @HiDeoo! - Fixes a UI string translation issue for languages with a region subtag. -
#2518
0f69db8Thanks @morinokami! - Updates Japanese UI translations -
#2507
bd6ced5Thanks @HiDeoo! - Fixes a table of contents highlighting issue after resizing the window. -
#2444
d585b3eThanks @HiDeoo! - Refactors various components to use the new built-in localization system to access translated UI strings.
0.28.5
Patch Changes
-
#2546
bf42300Thanks @HiDeoo! - Fixes an issue where i18n content collection related errors, e.g. malformed JSON or YAML, would not be reported. -
#2548
07673c8Thanks @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
91e1dd7Thanks @HiDeoo! - Fixes a Firefox Markdown content rendering issue for text sentences separated by a line break. -
#2524
1b46783Thanks @jsparkdev! - Fixes a broken link to Astro’s Docs in an error message
0.28.6
Patch Changes
- #2565
236467bThanks @HiDeoo! - Fixes an issue with custom UI strings defined in YAML files not being loaded in some contexts.
0.29.0
Minor Changes
-
#2551
154c8e3Thanks @hippotastic! - Updates theastro-expressive-codedependency to the latest version (0.38).The new version allows using
ec.config.mjsto selectively override individual Expressive Code styles and settings provided by Starlight themes and plugins, speeds up Shiki language loading, and adds the config optionexpressiveCode.shiki.injectLangsIntoNestedCodeBlocks. See the Expressive Code release notes for full details. -
#2252
6116db0Thanks @HiDeoo! - Improves build performance for sites with large sidebarsThis 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
a4c8eddThanks @HiDeoo! - Improves the accessibility of asides and tabs by removing some unnecessary HTML landmarks.
Patch Changes
- #2579
241966bThanks @RafidMuhymin! - Adds social link icon for Nostr
0.29.1
Patch Changes
-
#2611
6059d96Thanks @HiDeoo! - Fixes a UI string type issue in projects with multiple data content collections. -
#2606
10b15a7Thanks @delucis! - Makes<CardGrid>more resilient to complex child content on smaller viewports -
#2605
ec7ab4fThanks @brianzelip! - ExposesSidebarPersistercomponent in package exports for use in custom overrides -
#2614
9a31980Thanks @HiDeoo! - Fixes an issue with custom pages using the<StarlightPage />component and a custom sidebar missing highlighting for the active page and navigation links. -
#2613
a73780fThanks @delucis! - Fixes support forsidebarfrontmatter options in sidebar entries usingslugor the string shorthand for internal links
0.29.2
Patch Changes
- #2616
128cc51Thanks @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 whentrailingSlash: 'never'is set
0.29.3
Patch Changes
-
#2642
12750aeThanks @dragomano! - Updates Russian UI translations -
#2656
4d543beThanks @HiDeoo! - Improves error message when an invalid configuration or no configuration is provided to the Starlight integration. -
#2645
cf12bebThanks @techfg! - Fixes support for favicon URLs that contain a search query and/or hash -
#2650
38db4ecThanks @raviqqe! - Moves@types/js-yamlpackage to non-dev dependencies -
#2633
5adb720Thanks @HiDeoo! - Fixes a VoiceOver issue with Safari where the content of a<script>element could be read before the sidebar content. -
#2663
34755f9Thanks @astrobot-houston! - Adds a newseti:viteicon for Vite configuration files in the<FileTree>component
0.30.0
Minor Changes
-
#2612
8d5a4e8Thanks @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/upgradeCommunity 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.
-
Move the content config file. This file no longer lives within the
src/content/config.tsfolder and should now exist atsrc/content.config.ts. -
Edit the collection definition(s). To update the
docscollection, aloaderis 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
i18ncollection 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 collectiontypewhich 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() }),}; -
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
docsandi18ncollections, you can enable thelegacy.collectionsflag 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
-
#2669
310df7dThanks @aaronperezaguilera! - Adds Catalan UI translations -
#2664
62ff007Thanks @HiDeoo! - Publishes provenance containing verifiable data to link a package back to its source repository and the specific build instructions used to publish it. -
#2670
0223b42Thanks @aaronperezaguilera! - Adds Spanish UI translations for the Pagefind search modal
0.30.1
Patch Changes
- #2688
5c6996cThanks @HiDeoo! - Fixes an issue with autogenerated sidebars when using Starlight with Astro’s new Content Layer API where group names would be sluggified.
0.30.2
Patch Changes
-
#2702
02d16f3Thanks @HiDeoo! - Fixes an issue with autogenerated sidebars when using Starlight with Astro’s new Content Layer API with directories containing spaces or special characters. -
#2704
fd16470Thanks @delucis! - Fixes display of focus indicator around site title
0.30.3
Patch Changes
-
#2717
c5fcbb3Thanks @delucis! - Fixes a list item spacing issue where line break elements (<br>) could receive a margin, breaking layout in Firefox -
#2724
02d7ac6Thanks @dionysuzx! - Adds social link support for Farcaster -
#2635
ec4b851Thanks @HiDeoo! - Fixes an issue where the language picker in multilingual sites could display the wrong language when navigating between pages with the browser back/forward buttons.
0.30.4
Patch Changes
-
#2747
474c27eThanks @bbag! - Ensures<Tab>component toggling is stable when smooth scrolling is enabled via custom CSS -
#2740
0e169c9Thanks @HiDeoo! - Fixes an issue preventing Pagefind to be disabled using thepagefindfrontmatter field. -
#2732
a10b466Thanks @Sidnioulz! - Adds Storybook, Confluence and Jira social icons
0.30.5
Patch Changes
-
#2757
e7b0e74Thanks @HiDeoo! - Fixes a UI string translation issue for languages with a region subtag. -
#2760
aec9eddThanks @HiDeoo! - Adds 5 new icons:left-caret,up-arrow,down-arrow,download, andcloud-download.
0.30.6
Patch Changes
-
#2722
0b206d3Thanks @techfg! - Fixes display of long site title on mobile -
#2762
7ab1576Thanks @HiDeoo! - Prevents the header title from being translated by automatic translation systems.
0.31.0
Minor Changes
-
#2777
88f4214Thanks @hippotastic! - Updatesastro-expressive-codedependency to the latest version (0.40).This includes an update to the latest Shiki version (1.26.1), providing access to all current Shiki themes and syntax highlighting languages, and adding the config options
shiki.engine,shiki.bundledLangs,shiki.langAliasandremoveUnusedThemes. It also adds new style variants to the optional collapsible sections plugin.See the Expressive Code release notes for full details.
-
#2736
29a885bThanks @delucis! - ⚠️ BREAKING CHANGE: The minimum supported version of Astro is now 5.1.5Please update Astro and Starlight together:
Terminal window npx @astrojs/upgrade -
#2728
e187383Thanks @delucis! - Updates minimum Pagefind dependency to v1.3.0, sets new defaults for Pagefind’s ranking options, and adds support for manually configuring the ranking optionsThe new ranking option defaults have been evaluated against Starlight’s own docs to improve the quality of search results. See “Customize Pagefind’s result ranking” for more details about how they work.
-
#157
23bf960Thanks @tony-sull! - Adds a print stylesheet to improve the appearance of Starlight docs pages when printed -
#2728
e187383Thanks @delucis! - Fixes Pagefind logging to respect the Astro log level. When using Astro’s--verboseor--silentCLI flags, these are now respected by Pagefind as well.
Patch Changes
-
#2792
412effbThanks @dhruvkb! - Uses semanticvar(--sl-color-hairline)for the page sidebar border instead ofvar(--sl-color-gray-6). This is visually the same as previously but makes it easier to override the hairline color consistently across a site. -
#2736
29a885bThanks @delucis! - Updates internal dependencies@astrojs/sitemapand@astrojs/mdxto the latest versions -
#2782
d9d415bThanks @delucis! - Fixes a documentation link in the JSDoc comment for theStarlightExpressiveCodeOptionstype -
#2708
442c819Thanks @delucis! - Fixes colour contrast correction in code blocks
0.31.1
Patch Changes
- #2805
ed6f9fdThanks @HiDeoo! - Exposes theStarlightIconTypeScript type referencing the names of Starlight’s built-in icons.
0.32.0
Minor Changes
-
#2390
f493361Thanks @delucis! - Moves route data toAstro.localsinstead of passing it down via component props⚠️ Breaking change: Previously, all of Starlight’s templating components, including user or plugin overrides, had access to a data object for the current route via
Astro.props. This data is now available asAstro.locals.starlightRouteinstead.To update, refactor any component overrides you have:
- Remove imports of
@astrojs/starlight/props, which is now deprecated. - Update code that accesses
Astro.propsto useAstro.locals.starlightRouteinstead. - Remove any spreading of
{...Astro.props}into child components, which is no longer required.
In the following example, a custom override for Starlight’s
LastUpdatedcomponent is updated for the new style:---import Default from '@astrojs/starlight/components/LastUpdated.astro';import type { Props } from '@astrojs/starlight/props';const { lastUpdated } = Astro.props;const { lastUpdated } = Astro.locals.starlightRoute;const updatedThisYear = lastUpdated?.getFullYear() === new Date().getFullYear();---{updatedThisYear && (<Default {...Astro.props}><slot /></Default><Default><slot /></Default>)}Community Starlight plugins may also need to be manually updated to work with Starlight 0.32. If you encounter any issues, please reach out to the plugin author to see if it is a known issue or if an updated version is being worked on.
- Remove imports of
-
#2578
f895f75Thanks @HiDeoo! - Deprecates the Starlight pluginsetuphook in favor of the newconfig:setuphook which provides the same functionality.⚠️ BREAKING CHANGE:
The Starlight plugin
setuphook is now deprecated and will be removed in a future release. Please update your plugins to use the newconfig:setuphook instead.export default {name: 'plugin-with-translations',hooks: {'setup'({ config }) {'config:setup'({ config }) {// Your plugin configuration setup code},},}; -
#2578
f895f75Thanks @HiDeoo! - Exposes the built-in localization system in the Starlight pluginconfig:setuphook.⚠️ BREAKING CHANGE:
This addition changes how Starlight plugins add or update translation strings used in Starlight’s localization APIs. Plugins previously using the
injectTranslations()callback function from the pluginconfig:setuphook should now use the same function available in thei18n:setuphook.export default {name: 'plugin-with-translations',hooks: {'config:setup'({ injectTranslations }) {'i18n:setup'({ injectTranslations }) {injectTranslations({en: {'myPlugin.doThing': 'Do the thing',},fr: {'myPlugin.doThing': 'Faire le truc',},});},},}; -
#2858
2df9d05Thanks @XREvo! - Adds support for Pagefind’s multisite search features -
#2578
f895f75Thanks @HiDeoo! - Adds a newHookParametersutility type to get the type of a plugin hook’s arguments. -
#2578
f895f75Thanks @HiDeoo! - Adds a newuseTranslations()callback function to the Starlight pluginconfig:setuphook to generate a utility function to access UI strings for a given language. -
#2578
f895f75Thanks @HiDeoo! - Adds a newabsolutePathToLang()callback function to the Starlight pluginconfig:setupto get the language for a given absolute file path.
Patch Changes
- #2848
9b32ba9Thanks @HiDeoo! - Fixes styling of filter and metadata elements in Pagefind search UI.
0.32.1
Patch Changes
0.32.2
Patch Changes
-
#2926
c0170fdThanks @resoltico! - Adds Latvian language support -
#2918
790c000Thanks @HiDeoo! - Fixes a trailing slash inconsistency in generated sidebar links when using thetrailingSlash: 'ignore'Astro option (the default) between internal and auto-generated links. Starlight behavior for this configuration value is to use a trailing slash as many common hosting providers redirect to URLs with a trailing slash by default.
0.32.3
Patch Changes
-
#2955
77b6a41Thanks @trueberryless! - Adds 5 new icons:figma,sketch,vim,vscode, andzed. -
#2961
da57fabThanks @ematipico! - Adds 1 new icon:jetbrains.
0.32.4
Patch Changes
0.32.5
Patch Changes
-
#3021
e3f881eThanks @jsparkdev! - Updates Korean language support -
#3013
5b599ddThanks @oluwatobiss! - Adds Substack icon to social links list
0.32.6
Patch Changes
-
#3030
5bdf139Thanks @trueberryless! - Updates the type of theisFallbackfield in route data fromtruetoboolean, keeping it optional but allowingfalseas a possible value. -
#3018
188b8cfThanks @trueberryless! - Adds validation for user configrouteMiddlewareso it does not conflict with Astro’s middleware.
0.33.0
Minor Changes
-
#3026
82deb84Thanks @HiDeoo! - Fixes a potential list styling issue if the last element of a list item is a<script>tag.⚠️ BREAKING CHANGE:
This release drops official support for Chromium-based browsers prior to version 105 (released 30 August 2022) and Firefox-based browsers prior to version 121 (released 19 December 2023). You can find a list of currently supported browsers and their versions using this browserslist query.
With this release, Starlight-generated sites will still work fine on those older browsers except for this small detail in list item styling, but future releases may introduce further breaking changes for impacted browsers, including in patch releases.
-
#3025
f87e9acThanks @delucis! - Makessocialconfiguration more flexible.⚠️ BREAKING CHANGE: The
socialconfiguration option has changed syntax. You will need to update this inastro.config.mjswhen upgrading.Previously, a limited set of platforms were supported using a shorthand syntax with labels built in to Starlight. While convenient, this approach was less flexible and required dedicated code for each social platform added.
Now, you must specify the icon and label for each social link explicitly and you can use any of Starlight’s built-in icons for social links.
The following example shows updating the old
socialsyntax to the new:social: {github: 'https://github.com/withastro/starlight',discord: 'https://astro.build/chat',},social: [{ icon: 'github', label: 'GitHub', href: 'https://github.com/withastro/starlight' },{ icon: 'discord', label: 'Discord', href: 'https://astro.build/chat' },], -
#2927
c46904cThanks @HiDeoo! - Adds theheadroute data property which contains an array of all tags to include in the<head>of the current page.Previously, the
<Head>component was responsible for generating a list of tags to include in the<head>of the current page and rendering them. This data is now available asAstro.locals.starlightRoute.headinstead and can be modified using route data middleware. The<Head>component now only renders the tags provided inAstro.locals.starlightRoute.head. -
#2924
6a56d1bThanks @HiDeoo! - ⚠️ BREAKING CHANGE: Ensures that the<Badge>and<Icon>components no longer render with a trailing space.In Astro, components that include styles render with a trailing space which can prevent some use cases from working as expected, e.g. when using such components inlined with text. This change ensures that the
<Badge>and<Icon>components no longer render with a trailing space.If you were previously relying on that implementation detail, you may need to update your code to account for this change. For example, considering the following code:
<Badge text="New" />FeatureThe rendered text would previously include a space between the badge and the text due to the trailing space automatically added by the component:
New FeatureSuch code will now render the badge and text without a space:
NewFeatureTo fix this, you can add a space between the badge and the text:
<Badge text="New" />Feature<Badge text="New" /> Feature -
#2727
7c8fa30Thanks @techfg! - Updates mobile menu toggle styles to display a close icon while the menu is open
Patch Changes
-
#2927
c46904cThanks @HiDeoo! - Fixes an issue where overriding the canonical URL of a page using theheadconfiguration option orheadfrontmatter field would strip any other<link>tags from the<head>. -
#2927
c46904cThanks @HiDeoo! - Fixes an issue where generated canonical URLs would include a trailing slash when using thetrailingSlashAstro option is set to'never'. -
#3025
f87e9acThanks @delucis! - Fixes Starlight’s autogenerated<meta name="twitter:site">tags when a Twitter link is set insocialconfig. Previously these incorrectly renderedcontent="/username"and now correctly rendercontent="@username".
0.33.1
Patch Changes
-
#3088
1885049Thanks @HiDeoo! - Fixes a regression in Starlight version0.33.0that caused the description and links to language alternates for multilingual websites to be missing from the<head>of the page. -
#3065
463adf5Thanks @HiDeoo! - Updates thesocialconfiguration option TSDoc example to match the shape of the expected value.
0.33.2
Patch Changes
-
#3090
fc3ffa8Thanks @delucis! - Updates internal@astrojs/mdx,@astrojs/sitemap, andastro-expressive-codedependencies -
#3109
b5cc1b4Thanks @dhruvkb! - Updates Expressive Code to v0.41.1
0.34.0
Minor Changes
-
#2322
f14eb0cThanks @HiDeoo! - Groups all of Starlight’s CSS declarations into a singlestarlightcascade layer.This change allows for easier customization of Starlight’s CSS as any custom unlayered CSS will override the default styles. If you are using cascade layers in your custom CSS, you can use the
@layerCSS at-rule to define the order of precedence for different layers including the ones used by Starlight.We recommend checking your site’s appearance when upgrading to make sure there are no style regressions caused by this change.
-
#3122
3a087d8Thanks @delucis! - Removes defaultattrsandcontentvalues from head entries parsed using Starlight’s schema.Previously when adding
headmetadata via frontmatter or user config, Starlight would automatically add values forattrsandcontentif not provided. Now, these properties are leftundefined.This makes it simpler to add tags in route middleware for example as you no longer need to provide empty values for
attrsandcontent:head.push({tag: 'style',content: 'div { color: red }'attrs: {},});head.push({tag: 'link',content: ''attrs: { rel: 'me', href: 'https://example.com' },});This is mostly an internal API but if you are overriding Starlight’s
Headcomponent or processing head entries in some way, you may wish to double check your handling ofAstro.locals.starlightRoute.headis compatible withattrsandcontentpotentially beingundefined. -
#3033
8c19678Thanks @delucis! - Adds support for generating clickable anchor links for headings.By default, Starlight now renders an anchor link beside headings in Markdown and MDX content. A new
<AnchorHeading>component is available to achieve the same thing in custom pages built using<StarlightPage>.If you want to disable this new Markdown processing set the
markdown.headingLinksoption in your Starlight config tofalse:starlight({title: 'My docs',markdown: {headingLinks: false,},}),⚠️ BREAKING CHANGE: The minimum supported version of Astro is now v5.5.0.
Please update Starlight and Astro together:
Terminal window npx @astrojs/upgrade -
#2322
f14eb0cThanks @HiDeoo! - Removes Shikicss-variablestheme fallback.⚠️ BREAKING CHANGE:
Previously, Starlight used to automatically provide a fallback theme for Shiki, the default syntax highlighter built into Astro if the configured Shiki theme was not
github-dark.This fallback was only relevant when the default Starlight code block renderer, Expressive Code, was disabled and Shiki was used. Starlight no longer provides this fallback.
If you were relying on this behavior, you now manually need to update your Astro configuration to use the Shiki
css-variablestheme to match the previous behavior.import { defineConfig } from 'astro/config';export default defineConfig({markdown: {shikiConfig: {theme: 'css-variables',},},});Additionally, you can use custom CSS to control the appearance of the code blocks. Here are the previously used CSS variables for the fallback theme:
:root {--astro-code-foreground: var(--sl-color-white);--astro-code-background: var(--sl-color-gray-6);--astro-code-token-constant: var(--sl-color-blue-high);--astro-code-token-string: var(--sl-color-green-high);--astro-code-token-comment: var(--sl-color-gray-2);--astro-code-token-keyword: var(--sl-color-purple-high);--astro-code-token-parameter: var(--sl-color-red-high);--astro-code-token-function: var(--sl-color-red-high);--astro-code-token-string-expression: var(--sl-color-green-high);--astro-code-token-punctuation: var(--sl-color-gray-2);--astro-code-token-link: var(--sl-color-blue-high);}
Patch Changes
- #3118
77a1104Thanks @delucis! - Fixes passing imported SVGs to thefrontmatterprop of the<StarlightPage>component in Astro ≥5.7.0
0.34.1
Patch Changes
-
#3140
f6eb1d5Thanks @HiDeoo! - Fixes a text selection issue for heading with a clickable anchor link when using double or triple click to select text. -
#3148
dc8b6d5Thanks @HiDeoo! - Fixes a regression of the Starlight icon color when using thecreditsconfiguration option.
0.34.2
Patch Changes
-
#3153
ea31f46Thanks @SuperKXT! - Fixes hover styles for highlighted directory in FileTree component. -
#2905
b5232bcThanks @HiDeoo! - Fixes a potential issue for projects with dynamic routes added by an user, an Astro integration, or a Starlight plugin where some styles could end up being missing. -
#3165
80a7871Thanks @KianNH! - IncreasesmaxBufferfor an internalspawnSync()call to support larger Git commit histories when using Starlight’slastUpdatedfeature. -
#3158
d1f3c8bThanks @heisenberg0924! - Adds Hungarian language support
0.34.3
Patch Changes
-
#3058
274cc06Thanks @techfg! - Fixes display of focus indicator around site title -
#3181
449c822Thanks @HiDeoo! - Fixes an issue where all headings in Markdown and MDX content were rendered with a clickable anchor link, even in non-Starlight pages. -
#3168
ca693feThanks @jsparkdev! - Updates Korean langage support with improvements and missing translations
0.34.4
Patch Changes
-
#3205
95d124aThanks @sgalcheung! - Fixes an issue preventing to use the<StarlightPage>component when thedocscontent collection that Starlight uses does not exist. -
#3206
e6ea584Thanks @HiDeoo! - Fixes a text selection issue for heading with a clickable anchor link when using double click to select text in Chrome and Safari. -
#3233
3064c40Thanks @torn4dom4n! - Updates Vietnamese UI translations. -
#3248
16c1239Thanks @HiDeoo! - Prevents icons in the<Card>component from being shrunk in some narrow viewports. -
#3225
21b93b8Thanks @randomguy-2650! - Updates German UI translations
0.34.5
Patch Changes
-
#3282
7680e87Thanks @alvinometric! - Moves padding of<main>element to a--sl-main-padCSS custom property to simplify setting custom values -
#3288
131371eThanks @HiDeoo! - Fixes a potential configuration issue for multilingual sites with a default language including a regional subtag.
0.34.6
Patch Changes
- #3293
88f0d34Thanks @HiDeoo! - Fixes an issue preventing to override the slug of a page with theslugfrontmatter property using the/value.
0.34.7
Patch Changes
- #3298
7bd02e3Thanks @HiDeoo! - Fixes a potential issue withabsolutePathToLang()plugin API not handling paths with spaces correctly.
0.34.8
Patch Changes
- #3306
21fcd94Thanks @HiDeoo! - Fixes a regression in Starlight version0.34.5that caused multilingual sites with a default locale explicitly set torootto report a configuration error.
0.35.0
Minor Changes
-
#2261
778b743Thanks @shubham-padia! - Adds support for using any of Starlight’s built-in icons in asides. -
#3272
e7fe267Thanks @delucis! - Adds a newgenerateIdoption to Starlight’sdocsLoader()This enables overriding the default sluggifier used to convert content filenames to URLs.
-
#3276
3917b20Thanks @delucis! - Excludes banner content from search resultsPreviously, content set in
bannerin page frontmatter was indexed by Starlight’s default search provider Pagefind. This could cause unexpected search results, especially for sites setting a common banner content on multiple pages. Starlight’s defaultBannercomponent is now excluded from search indexing.This change does not impact
Banneroverrides using custom components. -
#3266
1161af0Thanks @HiDeoo! - Adds support for custom HTML attributes on autogenerated sidebar links using theautogenerate.attrsoption. -
#3274
80ccff7Thanks @HiDeoo! - Fixes an issue where some Starlight remark and rehype plugins were transforming Markdown and MDX content in non-Starlight pages.⚠️ BREAKING CHANGE:
Previously, some of Starlight’s remark and rehype plugins, most notably the plugin transforming Starlight’s custom Markdown syntax for rendering asides, were applied to all Markdown and MDX content. This included content from individual Markdown pages and content from content collections other than the
docscollection used by Starlight.This change restricts the application of Starlight’s remark and rehype plugins to only Markdown and MDX content loaded using Starlight’s
docsLoader(). If you were relying on this behavior, please let us know about your use case in the dedicated#starlightchannel in the Astro Discord or by opening an issue.
Patch Changes
-
#3266
1161af0Thanks @HiDeoo! - Ensures invalid sidebar group configurations using theattrsoption are properly reported as a type error.Previously, invalid sidebar group configurations using the
attrsoption were not reported as a type error but only surfaced at runtime. This change is only a type-level change and does not affect the runtime behavior of Starlight which does not support theattrsoption for sidebar groups. -
#3274
80ccff7Thanks @HiDeoo! - Prevents Starlight remark and rehype plugins from transforming Markdown and MDX content when using the AstrorenderMarkdown()content loader API.
0.35.1
Patch Changes
0.35.2 Latest
Patch Changes
-
#3341
10f6fe2Thanks @HiDeoo! - Prevents potential build issues with the Astro Cloudflare adapter due to the dependency on Node.js builtins. -
#3327
bf58c60Thanks @delucis! - Fixes a routing bug for docs pages with a slug authored with non-normalized composition. This could occur for filenames containing diacritics in some circumstances, causing 404s.