Conversation
|
|
Important Review skippedIgnore keyword(s) in the title. ⛔ Ignored keywords (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the
Comment |
aa67c03 to
3bfaa26
Compare
a5bc4f6 to
cef76be
Compare
f3238f6 to
05db75c
Compare
75623e9 to
d3a131a
Compare
cea41cd to
1107870
Compare
5fed6e7 to
03d862c
Compare
03d862c to
23f1843
Compare
This PR contains the following updates:
^5.1.0→^5.1.1^0.35.2→^0.37.6^5.2.6→^5.2.8^1.0.6→^1.0.7^5.13.7→^5.17.33.7.4→3.8.1^0.34.3→^0.34.5^0.3.0→^0.3.2^0.4.0→^0.5.0^0.13.0→^0.13.2^0.17.2→^0.19.2^0.6.0→^0.6.2^0.5.1→^0.5.4^0.5.1→^0.5.2^0.11.0→^0.12.0Release Notes
withastro/starlight (@astrojs/starlight)
v0.37.6Compare Source
Patch Changes
a562096Thanks @mschoeffmann! - Adds icons for Chrome, Edge, Firefox, and Safariv0.37.5Compare Source
Patch Changes
0ba556dThanks @controversial! - Excludes the accessible labels for heading anchor links from Pagefind resultsv0.37.4Compare Source
Patch Changes
#3534
703fab0Thanks @HiDeoo! - Fixes support for running builds whennpxis unavailable.Previously, Starlight would spawn a process to run the Pagefind search indexing binary using
npx. On platforms wherenpxisn’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
a0e6368Thanks @delucis! - Fixes several edge cases in highlighting the current page heading in Starlight’s table of contents#3663
00cbf00Thanks @lines-of-codes! - Adds Thai language support#3658
ac79329Thanks @delucis! - Avoids adding redundantaria-current="false"attributes to sidebar entries#3382
db295c2Thanks @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.3Compare Source
Patch Changes
292666cThanks @maxchang3! - Prevents unwanted font size adjustments on iOS after orientation changes.v0.37.2Compare Source
Patch Changes
9f4efc3Thanks @gerstenbergit! - Adds Greek language supportv0.37.1Compare Source
Patch Changes
30f6e7fThanks @delucis! - Fixes support for providing an absolute URL to Starlight’sfaviconconfiguration optionv0.37.0Compare Source
Minor Changes
#3491
28810f0Thanks @JusticeMatthew! - Changes text overflow styling in Markdown contentoverflow-wrapCSS style for common elements tobreak-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:
#3351
239698cThanks @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
ca7b771Thanks @shubham-padia! - Fixes an issue where a vertical scrollbar could be displayed on the Starlight<Tabs>component when zooming the page<Tabs>component no longer usesmargin-bottomandborder-bottomto highlight the current tab. This is now done with abox-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:
#3549
1cf50ebThanks @jacobdalamb! - Updates the default sans-serif system font stack, dropping support for the-apple-systemandBlinkMacSystemFontfont 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:
#3332
f61f99dThanks @HiDeoo! - Adds a newmarkdown.processedDirsconfiguration 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.3Compare Source
Patch Changes
#3555
547dc30Thanks @Its-Just-Nans! - Improves the error message thrown when using a file in thepublic/directory with Starlight’scustomCssconfiguration option#3496
b78fda4Thanks @delucis! - Fixes invalid<head>output when configuration is missing:<meta property="og:description" />if Starlight’sdescriptionoption is unset<link rel="canonical" />and<meta property="og:url" />if Astro’ssiteoption is unset#3511
8727df1Thanks @astrobot-houston! - Updates theseti:gitlabicon to match latest version from Seti UI Iconsv0.36.2Compare Source
Patch Changes
#3500
7700456Thanks @delucis! - This is the first release published with OIDC trusted publishing.#3484
620fb38Thanks @gboubeta-uvigo! - Improves Spanish UI translationsv0.36.1Compare Source
Patch Changes
#3479
2fec483Thanks @gboubeta-uvigo! - Updates Galician UI translations#3457
c6c0c51Thanks @HiDeoo! - Deduplicates sitemap link tags in the head.When enabling sitemap in Starlight, a
<link rel="sitemap" href="/sitemap-index.xml">tag is automatically added to the head of each page. Manually specifying sitemap link tags using the Starlightheadconfiguration option or theheadfrontmatter field will now override the default sitemap link tag added by Starlight.This change ensures that users manually adding the
@astrojs/sitemapintegration to the Astrointegrationsarray for more fine-grained control over sitemap generation and also using thefilenameBaseintegration option can customize the sitemap link tag in the head.#3448
1fc7501Thanks @dionysuzx! - Enlarges the Farcaster icon to better match other social icons#3473
07204ddThanks @gboubeta! - Fixes a typo in Galician table of contents labelv0.36.0Compare Source
Minor Changes
#3427
c3b2d0fThanks @delucis! - Fixes styling of labels that wrap across multiple lines in<Tabs>component<Tabs>component, you may want to double check the visual appearance of your tabs when updating.If you want to preserve the previous styling, you can add the following custom CSS to your site:
#3380
3364af3Thanks @HiDeoo! - Makes head entry parsing stricter in Starlight config and content frontmatter.metatag defining somecontentwhich generates invalid HTML as<meta>is a void element which cannot have any child nodes. Now, it is an error to define ametatag including somecontent.If you see errors after updating, look for head entries in the Starlight configuration in the
astro.config.mjsfile or in the frontmatter of your content files that include acontentproperty for ametatag. To fix the error, move thecontentproperty to theattrsobject with at least an additional attribute to identify the kind of metadata it represents:head: { tag: 'meta', - content: 'foo', attrs: { name: 'my-meta', + content: 'foo', }, },#3340
2018c31Thanks @HiDeoo! - Adds missing vertical spacing between Markdown content and UI Framework components using client directives.--sl-content-gap-y) between Markdown content blocks. This change introduces similar spacing between Markdown content blocks and UI Framework components using client directives which was not present before.If you were relying on the previous behavior, you can manually override the spacing by manually specifying the top margin on the component using custom CSS, e.g. by relying on a CSS class to target the component.
Patch Changes
a0d0670Thanks @andersk! - Fixes HTML validity in sidebar groups by ensuring<summary>is the first child of<details>withastro/astro (astro)
v5.17.3Compare Source
Patch Changes
#15564
522f880Thanks @matthewp! - Add a default body size limit for server actions to prevent oversized requests from exhausting memory.#15569
e01e98bThanks @matthewp! - Respect image allowlists when inferring remote image sizes and reject remote redirects.v5.17.2Compare Source
Patch Changes
c13b536Thanks @matthewp! - Improves Host header handling for SSR deployments behind proxiesv5.17.1Compare Source
Patch Changes
#15334
d715f1fThanks @florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API onlyRemoves the
getFontBuffer()helper function exported fromastro:assetswhen using the experimental Fonts APIThis experimental feature introduced in v15.6.13 ended up causing significant memory usage during build. This feature has been removed and will be reintroduced after further exploration and testing.
If you were relying on this function, you can replicate the previous behavior manually:
node:fsfontDataandcontext.urlv5.17.0Compare Source
Minor Changes
#14932
b19d816Thanks @patrickarlt! - Adds support for returning a Promise from theparser()option of thefile()loaderThis enables you to run asynchronous code such as fetching remote data or using async parsers when loading files with the Content Layer API.
For example:
See the
parser()reference documentation for more information.#15171
f220726Thanks @mark-ignacio! - Adds a new, optionalkernelconfiguration option to select a resize algorithm in the Sharp image serviceBy default, Sharp resizes images with the
lanczos3kernel. This new config option allows you to set the default resizing algorithm to any resizing option supported by Sharp (e.g.linear,mks2021).Kernel selection can produce quite noticeable differences depending on various characteristics of the source image - especially drawn art - so changing the kernel gives you more control over the appearance of images on your site:
This selection will apply to all images on your site, and is not yet configurable on a per-image basis. For more information, see Sharps documentation on resizing images.
#15063
08e0fd7Thanks @jmortlock! - Adds a newpartitionedoption when setting a cookie to allow creating partitioned cookies.Partitioned cookies can only be read within the context of the top-level site on which they were set. This allows cross-site tracking to be blocked, while still enabling legitimate uses of third-party cookies.
You can create a partitioned cookie by passing
partitioned: truewhen setting a cookie. Note that partitioned cookies must also be set withsecure: true:For more information, see the
AstroCookieSetOptionsAPI reference.#15022
f1fce0eThanks @ascorbic! - Adds a newretainBodyoption to theglob()loader to allow reducing the size of the data store.Currently, the
glob()loader stores the raw body of each content file in the entry, in addition to the rendered HTML.The
retainBodyoption defaults totrue, but you can set it tofalseto prevent the raw body of content files from being stored in the data store. This significantly reduces the deployed size of the data store and helps avoid hitting size limits for sites with very large collections.The rendered body will still be available in the
entry.rendered.htmlproperty for markdown files, and theentry.filePathproperty will still point to the original file.When
retainBodyisfalse,entry.bodywill beundefinedinstead of containing the raw file contents.#15153
928529fThanks @jcayzac! - Adds a newbackgroundproperty to the<Image />component.This optional property lets you pass a background color to flatten the image with. By default, Sharp uses a black background when flattening an image that is being converted to a format that does not support transparency (e.g.
jpeg). Providing a value forbackgroundon an<Image />component, or passing it to thegetImage()helper, will flatten images using that color instead.This is especially useful when the requested output format doesn't support an alpha channel (e.g.
jpeg) and can't support transparent backgrounds.See more about this new property in the image reference docs
#15015
54f6006Thanks @tony! - Adds optionalplacementconfig option for the dev toolbar.You can now configure the default toolbar position (
'bottom-left','bottom-center', or'bottom-right') viadevToolbar.placementin your Astro config. This option is helpful for sites with UI elements (chat widgets, cookie banners) that are consistently obscured by the toolbar in the dev environment.You can set a project default that is consistent across environments (e.g. dev machines, browser instances, team members):
User preferences from the toolbar UI (stored in
localStorage) still take priority, so this setting can be overridden in individual situations as necessary.v5.16.16Compare Source
Patch Changes
#15281
a1b80c6Thanks @matthewp! - Ensures server island requests carry an encrypted component export identifier so they do not accidentally resolve to the wrong component.#15304
02ee3c7Thanks @cameronapak! - Fix: Remove await from getActionResult example#15324
ab41c3eThanks @Princesseuh! - Fixes an issue where certain unauthorized links could be rendered as clickable in the error overlayv5.16.15Compare Source
Patch Changes
0aafc83Thanks @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 providerv5.16.14Compare Source
Patch Changes
#15213
c775fceThanks @florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API onlyUpdates 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:
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
c775fceThanks @florian-lefebvre! - ExposesrootonFontProviderinit()contextWhen building a custom
FontProviderfor the experimental Fonts API, theinit()method receives acontext. This context now exposes arootURL, useful for resolving local files:import type { FontProvider } from "astro"; export function registryFontProvider(): FontProvider { return { // ... - init: async ({ storage }) => { + init: async ({ storage, root }) => { // ... }, }; }#15185
edabeaaThanks @EricGrill! - Add.vercelto.gitignorewhen adding the Vercel adapter viaastro add vercelv5.16.13Compare Source
Patch Changes
#15182
cb60ee1Thanks @florian-lefebvre! - Adds a newgetFontBuffer()method to retrieve font file buffers when using the experimental Fonts APIThe
getFontData()helper function fromastro:assetswas 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 fromastro:assetsto retrieve font file buffers from URL returned bygetFontData(). 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.12Compare Source
Patch Changes
#15175
47ae148Thanks @florian-lefebvre! - Allows experimental Font providers to specify family optionsPreviously, an Astro
FontProvidercould 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
47ae148Thanks @florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API onlyUpdates 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
optionsproperty 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
c0595b3Thanks @florian-lefebvre! - BREAKING CHANGE to the experimental Fonts API onlyRemoves
getFontData()exported fromastro:assetswithfontDatawhen using the experimental Fonts APIAccessing 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 givencssVariable. That was however limiting for programmatic usages that need to access all font data.The
getFontData()helper function is removed and replaced by a newfontDataobject:We may reintroduce
getFontData()later on for a more friendly DX, based on your feedback.#15254
8d84b30Thanks @lamalex! - Fixes CSSassetsPrefixwith remote URLs incorrectly prepending a forward slashWhen using
build.assetsPrefixwith 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
731f52dThanks @kedarvartak! - Fixes an issue where stopping the dev server withq+enterincorrectly created adistfolder and copied font files when using the experimental Fonts API#15230
3da6272Thanks @rahuld109! - Fixes greedy regex in error message markdown rendering that caused link syntax examples to capture extra characters#15253
2a6315aThanks @matthewp! - Fixes hydration for React components nested inside HTML elements in MDX files#15227
9a609f4Thanks @matthewp! - Fixes styles not being included for conditionally rendered Svelte 5 components in production builds#14607
ee52160Thanks @simensfo! - Reintroduces css deduplication for hydrated client components. Ensures assets already added to a client chunk are not flagged as orphanedv5.16.11Compare Source
Patch Changes
#15017
9e7a3c8Thanks @ixchio! - Fixes CSS double-bundling when the same CSS file is imported in both a page's frontmatter and a component's script tag#15225
6fe62e1Thanks @ematipico! - Updates to the latest version ofdevaluev5.16.10Compare Source
Patch Changes
2fa19c4- Improved error handling in the rendering phaseAdded 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
d8e64efThanks @ArmandPhilippot! - Fixes the links to Astro Docs so that they match the current docs structure.#15169
b803d8bThanks @rururux! - fix: fix image 500 error when moving dist directory in standalone Node#14622
9b35c62Thanks @aprici7y! - Fixes CSS url() references to public assets returning 404 in dev mode when base path is configured#15219
43df4ceThanks @matthewp! - Upgrades thediffpackage to v8v5.16.9Compare Source
Patch Changes
37ab65a](https://redirect.github.com/withastro/astro/commit/37ab65acbConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.
This PR was generated by Mend Renovate. View the repository job log.