
🍿 Minor Changes
-
#8808
2993055beThanks @delucis! - Adds support for an--outDirCLI flag toastro build -
#8502
c4270e476Thanks @bluwy! - Updates the internalshikisyntax highlighter toshikiji, an ESM-focused alternative that simplifies bundling and maintenance.There are no new options and no changes to how you author code blocks and syntax highlighting.
Potentially breaking change: While this refactor should be transparent for most projects, the transition to
shikijinow produces a smaller HTML markup by attaching a fallbackcolorstyle to thepreorcodeelement, instead of to the linespandirectly. For example:Before:
<code class="astro-code" style="background-color: #24292e"><pre><span class="line" style="color: #e1e4e8">my code</span></pre></code>After:
<code class="astro-code" style="background-color: #24292e; color: #e1e4e8"><pre><span class="line">my code<span></pre></code>This does not affect the colors as the
spanwill inherit thecolorfrom the parent, but if you’re relying on a specific HTML markup, please check your site carefully after upgrading to verify the styles. -
#8798
f369fa250Thanks @Princesseuh! - Fixedtsconfig.json’s new array format forextendsnot working. This was done by migrating Astro to usetsconfckinstead oftsconfig-resolverto find and parsetsconfig.jsonfiles. -
#8620
b2ae9ee0cThanks @Princesseuh! - Adds experimental support for generatingsrcsetattributes and a new<Picture />component.Two new properties have been added to
ImageandgetImage():densitiesandwidths.These properties can be used to generate a
srcsetattribute, either based on absolute widths in pixels (e.g. [300, 600, 900]) or pixel density descriptors (e.g.["2x"]or[1.5, 2]).---import { Image } from 'astro';import myImage from './my-image.jpg';---<Image src={myImage} width={myImage.width / 2} densities={[1.5, 2]} alt="My cool image" /><imgsrc="/_astro/my_image.hash.webp"srcset="/_astro/my_image.hash.webp 1.5x, /_astro/my_image.hash.webp 2x"alt="My cool image"/>The experimental
<Picture />component can be used to generate a<picture>element with multiple<source>elements.The example below uses the
formatproperty to generate a<source>in each of the specified image formats:---import { Picture } from 'astro:assets';import myImage from './my-image.jpg';---<Picture src={myImage} formats={['avif', 'webp']} alt="My super image in multiple formats!" />The above code will generate the following HTML, and allow the browser to determine the best image to display:
<picture><source srcset="..." type="image/avif" /><source srcset="..." type="image/webp" /><img src="..." alt="My super image in multiple formats!" /></picture>The
Picturecomponent takes all the same props as theImagecomponent, including the newdensitiesandwidthsproperties.
🐞 Patch Changes
-
#8771
bd5aa1cd3Thanks @lilnasy! - Fixed an issue where the transitions router did not work within framework components. -
#8800
391729686Thanks @lilnasy! - Fixed an issue where attempting to assign a variable onto locals threw an error. -
#8795
f999365b8Thanks @bluwy! - Fix markdown page charset to be utf-8 by default (same as Astro 2) -
#8810
0abff97feThanks @jacobthesheep! - Removenetwork-information-typespackage since TypeScript supports Network Information API natively. -
#8813
3bef32f81Thanks @martrapp! - Save and restore focus for persisted input elements during view transitions -
Updated dependencies [
c4270e476]:- @astrojs/markdown-remark@3.3.0