Changelog
🐞 Patch Changes
-
#4149
fa10e87Thanks @ematipico! - Optimizes rendering of large nested sidebars -
#4215
f791de6Thanks @HiDeoo! - Adds a newseti:coffeeicon for CoffeeScript files in the<FileTree>component. -
#4215
f791de6Thanks @HiDeoo! - Fixes<FileTree>icons for.ejsandnpm-debug.logfiles displaying the default file icon.
-
🐞 Patch Changes
- #4211
33e21ecThanks @HiDeoo! - Fixes a potential page freeze due to table of contents highlighting when a<PageTitle>component override does not render a heading with the requiredid="_top".
- #4211
🐞 Patch Changes
- #4201
fafd989Thanks @linux-universe! - Add 1 new icon:fluxer
- #4201

🍿 Minor Changes
-
#3572
292fb17Thanks @HiDeoo! - Distributes package as JavaScript files with dedicated type declaration files instead of TypeScript source files. -
#4121
2623ae6Thanks @delucis! - Simplifies markup for Starlight’s mobile menu toggle⚠️ Potentially breaking change: If you use a theme plugin, custom styles, or component overrides targeting the
MobileMenuTogglebutton orPageFramecomponents, you may need to adjust these for the new markup. The button is no longer wrapped in a<starlight-menu-button>custom element and no longer uses thearia-expandedattribute. Instead, you can use the.sl-menu-buttonclass name to target the button and the:popover-openpseudo-class to style the menu open state specifically.In the following example, custom styles for the menu button are updated for the new approach:
starlight-menu-button button {.sl-menu-button {color: var(--sl-color-text);}starlight-menu-button[aria-expanded='true'] button {.sl-menu-button:has(~ :popover-open) {color: var(--sl-color-text-accent-high);}See
MobileMenuToggle.astroandPageFrame.astroon GitHub for the full source code of the updated components. -
#3572
292fb17Thanks @HiDeoo! - Removes thetaglineconfiguration option, which was never used.If your configuration included a
taglineoption, you can safely remove it without any replacement. -
#4134
6135f01Thanks @HiDeoo! - Updates internal@astrojs/mdx,@astrojs/markdown-satteri, andsatteridependencies.⚠️ BREAKING CHANGE: The following minimum versions are now required:
astrov7.2.10 or later@astrojs/markdown-satteri0.4.0 or later (if you use it)@astrojs/markdown-remark7.3.0 or later (if you use it)
Please update Starlight and Astro together:
Terminal window npx @astrojs/upgrade -
#4121
2623ae6Thanks @delucis! - Refactors Starlight’s mobile menu toggle to work when JavaScript fails or is disabled⚠️ BREAKING CHANGE: 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 browserslist query.
This change also removes the
data-mobile-menu-expandedattribute, which was previously added to<body>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.In the following example, a custom background colour for the site header while the menu is open is updated for the new approach:
[data-mobile-menu-expanded] header {body:has(sl-sidebar-pane:popover-open) header {background-color: var(--sl-color-bg);}
-
🐞 Patch Changes
-
#4167
32a5e29Thanks @HiDeoo! - Fixes a layout issue and anchor links appearing for hidden headings, e.g. footnote headings, whenmarkdown.headingLinksis enabled or the<AnchorHeading>component is used. -
#4148
cdfafd8Thanks @ematipico! - Optimizes sidebar data generation logic to speed up sites with large sidebars
-
🐞 Patch Changes
-
#4160
88442c3Thanks @ArmandPhilippot! - Adds the missing translations for Expressive Code in the following locales:ar,hi,it,ja,ko,pt,zh-CN, andzh-TW. -
#4159
a0e0ba2Thanks @trueberryless! - Adds 1 new icon:npmx
-
🐞 Patch Changes
-
#4142
cacbc9fThanks @alebelcor! - Adds 1 new icon:whatsApp -
#4133
3944311Thanks @delucis! - Internal refactor: numberedidattributes in the<Tabs>component are now page-specific instead of using a global counter -
#4138
cd4b665Thanks @delucis! - Fixes localisation of code block UI elements when using the Sätteri Markdown processor
-
🐞 Patch Changes
-
#3936
712eeddThanks @miichom! - Fixes support for modifying Zod enums when passing anextendoption to Starlight’sdocsSchema() -
#4092
0896b91Thanks @delucis! - Fixes support for links containing a protocol likemailto:in the sidebar -
#4088
4486ba4Thanks @delucis! - Simplifies Starlight’s client-side sidebar state persistence script slightly
-
🐞 Patch Changes
- #3911
1686eccThanks @timothyjordan! - Keeps keyboard focus inside the mobile menu while it is open, preventing focus moving to hidden interactive elements in page content.
- #3911
🐞 Patch Changes
-
#4008
58a3520Thanks @FrancoKaddour! - Fixes the table of contents overflowing the right edge of the viewport when a custom--sl-content-widthvalue exceeds available space -
#4015
bdbfffcThanks @delucis! - Fixes an issue where aside icons were rendered incorrectly in projects where Astro’s MDX integration had optimization disabled
-

🍿 Minor Changes
-
#3951
1202dd4Thanks @HiDeoo! - Adds support for Astro v7, drops support for Astro v6.Upgrade Astro and dependencies
⚠️ BREAKING CHANGE: Astro v6 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 v7. 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.
⚠️ BREAKING CHANGE: This release drops official support for Chromium-based browsers prior to version 111 (released 07 March 2023) and Safari-based browsers prior to version 16.4 (released 27 March 2023). You can find a list of currently supported browsers and their versions using this browserslist query.
🐞 Patch Changes
-

🍿 Minor Changes
-
#3923
edf2e6bThanks @Princesseuh! - Adds support for Astro 6.4 and the new Sätteri Markdown processor.It is now possible to opt into using Astro’s 6.4 Sätteri Markdown processor by installing the
@astrojs/markdown-satteripackage and configuring it in yourastro.config.mjsfile:astro.config.mjs import { defineConfig } from 'astro/config';import { satteri } from '@astrojs/markdown-satteri';export default defineConfig({markdown: {processor: satteri(),},});⚠️ BREAKING CHANGE: The minimum supported version of Astro is now v6.4.5.
Please update Starlight and Astro together:
Terminal window npx @astrojs/upgradeCommunity Starlight plugins and Astro integrations may also need to be manually updated to work with Sätteri. 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.
🐞 Patch Changes
- #3923
edf2e6bThanks @Princesseuh! - Updates Expressive Code to version 0.43.1.
-
🐞 Patch Changes
-
#3910
dddf405Thanks @andreialba! - Improves Romanian UI translations -
#3924
02f2ce1Thanks @BouRock! - Improves Turkish UI translations -
#3928
11a7ed2Thanks @delucis! - Updates Pagefind to v1.5 and adds support for Pagefind’s newdiacriticSimilarityandmetaWeightsadvanced ranking options -
#3927
e944870Thanks @HiDeoo! - Refactors internal file path handling for Starlight content collections.
-