Changelog
🐞 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
-

🍿 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
-
🐞 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
-
🐞 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.
-
🐞 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.
-

🍿 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
-

🍿 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
-
🐞 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.
-
🐞 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.
-

🍿 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.
-
🐞 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
-
🐞 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>
-