Skip to content

Conversation

@astrobot-houston
Copy link
Contributor

@astrobot-houston astrobot-houston commented Apr 16, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@astrojs/[email protected]

Major Changes

  • #2322 f14eb0c Thanks @HiDeoo! - ⚠️ BREAKING CHANGE: The minimum supported version of Starlight is now 0.34.0

    Please use the @astrojs/upgrade command to upgrade your project:

    npx @astrojs/upgrade
  • #2322 f14eb0c Thanks @HiDeoo! - Adds support for Tailwind v4, drops support for Tailwind v3.

    ⚠️ BREAKING CHANGE: Tailwind v3 is no longer supported. Tailwind v4 support in Astro is now provided using a Vite plugin and the Astro Tailwind integration is no longer required.

    1. Remove the Astro Tailwind integration. The Astro Tailwind integration is no longer required with Tailwind v4.

       // astro.config.mjs
       import { defineConfig } from "astro/config";
       import starlight from "@astrojs/starlight";
      -import tailwind from "@astrojs/tailwind";
      
       export default defineConfig({
         integrations: [
           starlight({
             title: "Docs with Tailwind",
             customCss: ["./src/tailwind.css"],
           }),
      -    tailwind({ applyBaseStyles: false }),
         ],
       });
    2. Install Tailwind v4. Install the latest version of the tailwindcss and @tailwindcss/vite packages.

      Use the astro add tailwind command to install and configure both packages:

      npx astro add tailwind
    3. Update Tailwind base styles. Tailwind CSS base styles needs to be updated for Tailwind v4 and also to use Starlight Tailwind CSS.

      /* src/tailwind.css */
      -@tailwind base;
      -@tailwind components;
      -@tailwind utilities;
      +@layer base, starlight, theme, components, utilities;
      +
      +@import '@astrojs/starlight-tailwind';
      +@import 'tailwindcss/theme.css' layer(theme);
      +@import 'tailwindcss/utilities.css' layer(utilities);
      +
      +@theme {
      +	/*
      +	Configure your Tailwind theme that will be used by Starlight.
      +	https://starlight.astro.build/guides/css-and-tailwind/#styling-starlight-with-tailwind
      +	*/
      +}
      +
      +/*
      +Add additional Tailwind styles to this file:
      +https://tailwindcss.com/docs/adding-custom-styles#using-custom-css
      +*/
    4. Update Tailwind customizations. If you previously customized your Tailwind theme configuration in the tailwind.config.mjs file, such customizations are now defined through CSS using the @theme block in your Tailwind base styles.

      1. Locate existing customizations in your tailwind.config.mjs file. The following example defines customizations for the accent colors, gray scale, and font families used by Starlight:

        // tailwind.config.mjs
        import starlightPlugin from '@astrojs/starlight-tailwind';
        import colors from 'tailwindcss/colors';
        
        /** @type {import('tailwindcss').Config} */
        export default {
          content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
          theme: {
            extend: {
              colors: {
                // Custom accent colors.
                accent: colors.fuchsia,
                // Custom gray scale.
                gray: colors.slate,
              },
              fontFamily: {
                // Custom text font.
                sans: ['"Atkinson Hyperlegible"'],
                // Custom code font.
                mono: ['"IBM Plex Mono"'],
              },
            },
          },
          plugins: [starlightPlugin()],
        };
      2. The above customizations can be migrated to the new @theme block in the file containing your Tailwind base styles as follows:

        /* src/tailwind.css */
        @layer base, starlight, theme, components, utilities;
        
        @import '@astrojs/starlight-tailwind';
        @import 'tailwindcss/theme.css' layer(theme);
        @import 'tailwindcss/utilities.css' layer(utilities);
        
        @theme {
          /* Custom accent colors. */
          --color-accent-50: var(--color-fuchsia-50);
          --color-accent-100: var(--color-fuchsia-100);
          --color-accent-200: var(--color-fuchsia-200);
          --color-accent-300: var(--color-fuchsia-300);
          --color-accent-400: var(--color-fuchsia-400);
          --color-accent-500: var(--color-fuchsia-500);
          --color-accent-600: var(--color-fuchsia-600);
          --color-accent-700: var(--color-fuchsia-700);
          --color-accent-800: var(--color-fuchsia-800);
          --color-accent-900: var(--color-fuchsia-900);
          --color-accent-950: var(--color-fuchsia-950);
          /* Custom gray scale. */
          --color-gray-50: var(--color-slate-50);
          --color-gray-100: var(--color-slate-100);
          --color-gray-200: var(--color-slate-200);
          --color-gray-300: var(--color-slate-300);
          --color-gray-400: var(--color-slate-400);
          --color-gray-500: var(--color-slate-500);
          --color-gray-600: var(--color-slate-600);
          --color-gray-700: var(--color-slate-700);
          --color-gray-800: var(--color-slate-800);
          --color-gray-900: var(--color-slate-900);
          --color-gray-950: var(--color-slate-950);
          /* Custom text font. */
          --font-sans: 'Atkinson Hyperlegible';
          /* Custom code font. */
          --font-mono: 'IBM Plex Mono';
        }

    We recommend checking your site’s appearance when upgrading to make sure there are no style regressions caused by this change.

    For full details about upgrading from Tailwind v3 to v4, see the official upgrade guide.

@astrojs/[email protected]

Minor Changes

  • #3033 8c19678 Thanks @delucis! - Adds support for generating clickable anchor links for headings.

    By default, the Starlight Markdoc preset now includes a default heading node, which renders an anchor link beside headings in your Markdoc content.

    If you want to disable this new feature, pass headingLinks: false in your Markdoc config:

    export default defineMarkdocConfig({
      // Disable the default heading anchor link support
      extends: [starlightMarkdoc({ headingLinks: false })],
    });

    ⚠️ BREAKING CHANGE: The minimum supported peer version of Starlight is now v0.34.0.

    Please update Starlight and the Starlight Markdoc preset together:

    npx @astrojs/upgrade

@astrojs/[email protected]

Minor Changes

  • #2322 f14eb0c Thanks @HiDeoo! - Groups all of Starlight's CSS declarations into a single starlight cascade 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 @layer CSS 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 3a087d8 Thanks @delucis! - Removes default attrs and content values from head entries parsed using Starlight’s schema.

    Previously when adding head metadata via frontmatter or user config, Starlight would automatically add values for attrs and content if not provided. Now, these properties are left undefined.

    This makes it simpler to add tags in route middleware for example as you no longer need to provide empty values for attrs and content:

    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 Head component or processing head entries in some way, you may wish to double check your handling of Astro.locals.starlightRoute.head is compatible with attrs and content potentially being undefined.

  • #3033 8c19678 Thanks @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.headingLinks option in your Starlight config to false:

    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:

    npx @astrojs/upgrade
  • #2322 f14eb0c Thanks @HiDeoo! - Removes Shiki css-variables theme 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-variables theme 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 77a1104 Thanks @delucis! - Fixes passing imported SVGs to the frontmatter prop of the <StarlightPage> component in Astro ≥5.7.0

@github-actions github-actions bot added the 🌟 core Changes to Starlight’s main package label Apr 16, 2025
@netlify
Copy link

netlify bot commented Apr 16, 2025

Deploy Preview for astro-starlight ready!

Name Link
🔨 Latest commit e33a4fe
🔍 Latest deploy log https://app.netlify.com/sites/astro-starlight/deploys/67ff7d381fb6d500085acabf
😎 Deploy Preview https://deploy-preview-3124--astro-starlight.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 100 (🟢 up 18 from production)
Accessibility: 100 (no change from production)
Best Practices: 100 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify site configuration.

@github-actions github-actions bot force-pushed the changeset-release/main branch from 545b9c0 to 0c8e239 Compare April 16, 2025 09:28
@astrobot-houston
Copy link
Contributor Author

astrobot-houston commented Apr 16, 2025

size-limit report 📦

Path Size
/index.html 7.21 KB (+0.02% 🔺)
/_astro/*.js 25.76 KB (0%)
/_astro/*.css 14.21 KB (0%)

@github-actions github-actions bot force-pushed the changeset-release/main branch 4 times, most recently from 0963a5a to 520601c Compare April 16, 2025 09:39
@github-actions github-actions bot added 🌟 tailwind Changes to Starlight’s Tailwind package 🌟 markdoc Changes to Starlight’s Markdoc package labels Apr 16, 2025
@github-actions github-actions bot force-pushed the changeset-release/main branch from b29aa75 to 16ea3db Compare April 16, 2025 09:48
@delucis delucis merged commit 3cd02f3 into main Apr 16, 2025
5 checks passed
@delucis delucis deleted the changeset-release/main branch April 16, 2025 09:59
HiDeoo added a commit to HiDeoo/starlight that referenced this pull request Apr 16, 2025
* main:
  [ci] release (withastro#3124)
  Fix E2E tests broken by formatter
  [ci] format
  Add built-in heading anchor link support (withastro#3033)
  i18n(fr): update `environmental-impact` (withastro#3123)
  Cascade Layers (withastro#2322)
  Fix image metadata validation in StarlightPage schema (withastro#3118)
  Don’t set defaults for `attrs` and `content` in head entries (withastro#3122)
  [ci] format
  i18n(es) Translate `route-data` (withastro#3071)
Yoxnear pushed a commit to Yoxnear/starlight-custom that referenced this pull request Jul 23, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Swithinbank <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🌟 core Changes to Starlight’s main package 🌟 markdoc Changes to Starlight’s Markdoc package 🌟 tailwind Changes to Starlight’s Tailwind package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants