Astro: [email protected] Release

Release date:
January 23, 2023
Previous version:
[email protected] (released January 19, 2023)
Magnitude:
0 Diff Delta
Contributors:
0 total committers
Data confidence:
Commits:

Top Contributors in [email protected]

Could not determine top contributors for this release.

Directory Browser for [email protected]

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Major Changes

  • #5941 304823811 Thanks @bholmesdev! - Content collections: Introduce a new slug frontmatter field for overriding the generated slug. This replaces the previous slug() collection config option from Astro 1.X and the 2.0 beta.

    When present in a Markdown or MDX file, this will override the generated slug for that entry.

    # src/content/blog/post-1.md
    ---
    title: Post 1
    + slug: post-1-custom-slug
    ---
    

    Astro will respect this slug in the generated slug type and when using the getEntryBySlug() utility:

    ---
    import { getEntryBySlug } from 'astro:content';
    
    // Retrieve `src/content/blog/post-1.md` by slug with type safety
    const post = await getEntryBySlug('blog', 'post-1-custom-slug');
    ---
    

    Migration

    If you relied on the slug() config option, you will need to move all custom slugs to slug frontmatter properties in each collection entry.

    Additionally, Astro no longer allows slug as a collection schema property. This ensures Astro can manage the slug property for type generation and performance. Remove this property from your schema and any relevant slug() configuration:

    const blog = defineCollection({
      schema: z.object({
    -   slug: z.string().optional(),
      }),
    - slug({ defaultSlug, data }) {
    -   return data.slug ?? defaultSlug;
    - },
    })
    

Patch Changes