Repository navigation
fix: accept all sätteri plugin entry types - #17766
Merged
ematipico merged 1 commit intoAug 20, 2026
Merged
Conversation
🦋 Changeset detectedLatest commit: 9077691 The changes in this PR will be included in the next version bump. This PR includes changesets to release 424 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
ematipico
approved these changes
Aug 20, 2026
Princesseuh
approved these changes
Aug 20, 2026
Merged
3 tasks done
This was referenced Aug 22, 2026
nasyrov
added a commit
to withplumix/plumix
that referenced
this pull request
Aug 22, 2026
## What does this PR do? Brings `apps/docs` up to the dependency set the documentation work assumes. Nothing behaves differently — `astro.config.mjs` is untouched and the rendered site is byte-identical apart from Starlight dropping a dead `pageHide` listener (the DOM event is `pagehide`, so it never fired). Verified by snapshotting `dist/` before the change and diffing after a forced rebuild: same file set, and that one script line is the only delta across both pages, modulo scoped-style and asset hashes. Closes #1852 ### The Starlight range needs a note The ticket asked for `>=0.41.5` "a patch bump inside the existing range". The specifier is `>=0.41.5 <0.41.7` rather than a caret, because `^0.41.5` floats to `0.41.7`, which does not type-check. `0.41.7` shipped on 5 August with `@astrojs/markdown-satteri: ^0.3.5` and its own `satteri: ^0.9.1` — consistent then, since `0.3.5` and `0.3.6` were still on `satteri@^0.9.1`. On 19 August `@astrojs/markdown-satteri@0.3.7` moved to `satteri@^0.10.3` and that range swallowed it. Two Sätteri copies now meet inside Starlight's own `integrations/markdown-plugins.ts`, which `pnpm typecheck` compiles from source, so the docs app fails to type-check on a dependency it never imports. Confirmed upstream rather than a local resolution artefact: it reproduces on `0.41.6` and `0.41.7` with `astro` at both `7.1.1` and `7.2.4`, and forcing `satteri` to `0.10.5` through `pnpm.overrides` only swaps it for a different genuine error in the same file, because Starlight's code targets satteri 0.9. Starlight is migrating in [withastro/starlight#4134](withastro/starlight#4134), blocked on an Astro release carrying [withastro/astro#17766](withastro/astro#17766) (merged, unreleased). `apps/docs/README.md` records the constraint; #1865 tracks lifting it. ### Knip The five new dependencies have no consumer yet — that is the point of the prefactor — so each is listed in knip's `apps/docs` ignore set with a note on which ticket wires it up. ### Reviewer notes - `apps/docs` gets `vitest` without `@plumix/vitest-config`, coverage, or a `test:unit` script, unlike every other vitest-having package. Those belong with the content-check suite ticket. - The cap could alternatively live in root `pnpm.overrides`, the repo's existing mechanism for blocking a bad upstream version. I put it on the dependency so the acceptance criterion's floor and the upstream break sit where a reader is already looking; happy to move it. - No changeset: `apps/docs` is private. ## Type of change - [ ] Bug fix - [ ] Feature (requires [approved Discussion](https://github.com/withplumix/plumix/discussions/categories/ideas)) - [ ] Refactor (no behavior change) - [ ] Documentation - [ ] Performance improvement - [ ] Tests - [x] Chore (dependencies, CI, tooling) ## Checklist - [x] `pnpm typecheck` passes - [x] `pnpm lint` passes - [x] `pnpm build` passes - [ ] I have added/updated tests for my changes (if applicable) `pnpm format`, `pnpm knip`, `pnpm test` and `pnpm install --frozen-lockfile` also pass. No tests added: this change installs dependencies and wires nothing up. The suite that exercises them lands with the content-check ticket. ## AI-generated code disclosure - [x] This PR includes AI-generated code ## Screenshots No admin UI change.
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Aug 31, 2026
##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 2, 2026
##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 3, 2026
##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 3, 2026
##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 7, 2026
##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 10, 2026
##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 10, 2026
##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 15, 2026
##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 16, 2026
##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 16, 2026
##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 18, 2026
##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 23, 2026
##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 24, 2026
##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 24, 2026
##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Sep 29, 2026
##### [v8.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#802) ##### Patch Changes - [#18036](withastro/astro#18036) [`f4444eb`](withastro/astro@f4444eb) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes an incompatibility where `@astrojs/mdx` v8 could be installed with `astro` versions that bundle an older `@astrojs/markdown-satteri` lacking MDX support. Also improves the error message when the processor is too old to suggest updating `astro` itself. - Updated dependencies \[[`3fd16ee`](withastro/astro@3fd16ee), [`8358d59`](withastro/astro@8358d59)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.2 ##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Oct 1, 2026
##### [v8.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#802) ##### Patch Changes - [#18036](withastro/astro#18036) [`f4444eb`](withastro/astro@f4444eb) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes an incompatibility where `@astrojs/mdx` v8 could be installed with `astro` versions that bundle an older `@astrojs/markdown-satteri` lacking MDX support. Also improves the error message when the processor is too old to suggest updating `astro` itself. - Updated dependencies \[[`3fd16ee`](withastro/astro@3fd16ee), [`8358d59`](withastro/astro@8358d59)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.2 ##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
renovate Bot
added a commit
to gwennlbh/portfolio
that referenced
this pull request
Oct 5, 2026
##### [v8.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#802) ##### Patch Changes - [#18036](withastro/astro#18036) [`f4444eb`](withastro/astro@f4444eb) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes an incompatibility where `@astrojs/mdx` v8 could be installed with `astro` versions that bundle an older `@astrojs/markdown-satteri` lacking MDX support. Also improves the error message when the processor is too old to suggest updating `astro` itself. - Updated dependencies \[[`3fd16ee`](withastro/astro@3fd16ee), [`8358d59`](withastro/astro@8358d59)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.2 ##### [v8.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#801) ##### Patch Changes - Updated dependencies \[[`a548223`](withastro/astro@a548223)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.1 ##### [v8.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#800) ##### Major Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Moves MDX file processing to the Markdown processors. '[@astrojs/mdx](https://github.com/astrojs/mdx)' is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors. ##### What should I do? If you haven't explicitly installed a Markdown processor, you don't need to do anything. Otherwise, ensure that your configured Markdown processor uses the following version: - `@astrojs/markdown-satteri` 0.4.0 or later if you use `satteri()` - `@astrojs/markdown-remark` 7.3.0 or later if you use `unified()` ##### Patch Changes - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes `.mdx` files still using `markdown.processor` when `extendMarkdownConfig` is `false`. They now use a clean default processor instead; pass `mdx({ processor })` to choose one explicitly. - [#17262](withastro/astro#17262) [`f8e9458`](withastro/astro@f8e9458) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a warning when the deprecated `remarkPlugins`, `rehypePlugins`, `recmaPlugins` and `remarkRehype` options are ignored because your Markdown processor does not run them. They still apply when your processor is `unified()`, and were previously dropped silently otherwise. - Updated dependencies \[[`f8e9458`](withastro/astro@f8e9458), [`f8e9458`](withastro/astro@f8e9458)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.11.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.4.0 ##### [v7.0.8](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#708) ##### Patch Changes - [#17757](withastro/astro#17757) [`660991c`](withastro/astro@660991c) Thanks [@astro-factory](https://github.com/apps/astro-factory)! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error - [#17766](withastro/astro#17766) [`0762a83`](withastro/astro@0762a83) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3. ##### [v7.0.7](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#707) ##### Patch Changes - [#17731](withastro/astro#17731) [`bc171af`](withastro/astro@bc171af) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. - Updated dependencies \[[`05763a0`](withastro/astro@05763a0)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.4 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.4 ##### [v7.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#706) ##### Patch Changes - Updated dependencies \[[`8c193f6`](withastro/astro@8c193f6)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.3 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.3 ##### [v7.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#705) ##### Patch Changes - Updated dependencies \[[`c895b12`](withastro/astro@c895b12)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.2 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.2 ##### [v7.0.4](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#704) ##### Patch Changes - [#17514](withastro/astro#17514) [`41a00dd`](withastro/astro@41a00dd) Thanks [@gtritchie](https://github.com/gtritchie)! - Fixes a bug where the integration was emitting React-cased attribute names. ##### [v7.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#703) ##### Patch Changes - [#17341](withastro/astro#17341) [`64b0d66`](withastro/astro@64b0d66) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Fixes custom `pre` components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. ##### [v7.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#702) ##### Patch Changes - Updated dependencies \[[`eb6f97e`](withastro/astro@eb6f97e)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.1 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.1 ##### [v7.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#701) ##### Patch Changes - [#17249](withastro/astro#17249) [`02b73b0`](withastro/astro@02b73b0) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where the `peerDependencies` field used incorrect dependencies. ##### [v7.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#700) ##### Major Changes - [#15819](withastro/astro#15819) [`cafec4e`](withastro/astro@cafec4e) Thanks [@delucis](https://github.com/delucis)! - Upgrade to Vite v8 ##### Minor Changes - [#17093](withastro/astro#17093) [`4585fe5`](withastro/astro@4585fe5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Replaces the import entrypoint of `getContainerRenderer()` A new `container-renderer` entrypoint exporting `getContainerRenderer()` has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used. If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the `getContainerRenderer()` import for React: ```diff - import { getContainerRenderer } from '@astrojs/react'; + import { getContainerRenderer } from '@astrojs/react/container-renderer'; ``` Importing `getContainerRenderer()` from the package root still works, but is now deprecated and logs a warning. - [#17129](withastro/astro#17129) [`ff7b718`](withastro/astro@ff7b718) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for [modifying frontmatter programmatically](https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically) with the default Markdown processor. A Sätteri plugin can now read and mutate `ctx.data.astro.frontmatter`, and Astro uses the result as the page's frontmatter, in both Markdown and MDX. ##### Patch Changes - [#17124](withastro/astro#17124) [`7e7ab87`](withastro/astro@7e7ab87) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates `satteri` to `0.9.0`. See the [Sätteri changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md) for details. - [#17027](withastro/astro#17027) [`241250b`](withastro/astro@241250b) Thanks [@ocavue](https://github.com/ocavue)! - Triggers beta prereleases for packages that are still on alpha ##### [v6.0.3](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#603) ##### Patch Changes - [#16969](withastro/astro#16969) [`4a31f90`](withastro/astro@4a31f90) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for Prism syntax highlighting to the Sätteri Markdown and MDX processors. Setting `markdown.syntaxHighlight` to `'prism'` now highlights your code blocks with Prism. ```js // astro.config.mjs import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri(), syntaxHighlight: 'prism', }, }); ``` ##### [v6.0.2](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#602) ##### Patch Changes - [#16955](withastro/astro#16955) [`9a93d68`](withastro/astro@9a93d68) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates Sätteri processor to v0.8.0. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#080--2026-06-03) for details on bugs fixed and features added. - Updated dependencies \[[`9a93d68`](withastro/astro@9a93d68)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.2 ##### [v6.0.1](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#601) ##### Patch Changes - Updated dependencies \[[`eeb064c`](withastro/astro@eeb064c)]: - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.1 ##### [v6.0.0](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#600) ##### Major Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new `markdown.processor` configuration option, allowing you to choose an alternative Markdown processor. Websites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor. The default processor is `unified()`. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { unified } from '@astrojs/markdown-remark'; import remarkToc from 'remark-toc'; export default defineConfig({ markdown: { processor: unified({ remarkPlugins: [remarkToc], }), }, }); ``` In addition to this new configuration option, Astro provides a new alternative processor based on Rust: [Sätteri](https://satteri.bruits.org/). You can choose to use it now by installing `@astrojs/markdown-satteri`, importing the `satteri()` processor, and adapting your existing configuration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, }); ``` This processor does not support the remark and rehype plugins. This means you may need to convert them to [MDAST or HAST plugins](https://satteri.bruits.org/docs/plugins/) to retain your current functionality. The existing top-level `markdown.remarkPlugins`, `markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and `markdown.smartypants` options still work, but are now deprecated and will be removed in a future major update. The matching `remarkPlugins`, `rehypePlugins`, and `remarkRehype` options on the MDX integration are also deprecated for the same reason. To anticipate their removal, move them onto `unified({...})` (or your preferred plugin processor) : ```diff // astro.config.mjs import { defineConfig } from 'astro/config'; import remarkToc from 'remark-toc'; import rehypeSlug from 'rehype-slug'; + import { unified } from '@astrojs/markdown-remark'; export default defineConfig({ markdown: { + processor: unified({ + remarkPlugins: [remarkToc], + rehypePlugins: [rehypeSlug], + remarkRehype: true, + gfm: true, + smartypants: true, + }), - remarkPlugins: [remarkToc], - rehypePlugins: [rehypeSlug], - remarkRehype: true, - gfm: true, - smartypants: true, }, }); ``` For more information on enabling and using this feature in your project, see our [Markdown guide](https://docs.astro.build/en/guides/markdown-content/). To give feedback on this new Rust processor, see the [Native Markdown / MDX parsing and processing RFC](withastro/roadmap#1364). ##### Minor Changes - [#16848](withastro/astro#16848) [`f732f3c`](withastro/astro@f732f3c) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds support for using [`@astrojs/markdown-satteri`](https://www.npmjs.com/package/@astrojs/markdown-satteri) to parse `.mdx` files. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [mdx()], }); ``` Note that the [`recmaPlugins` option](https://docs.astro.build/en/guides/integrations-guide/mdx/#recmaplugins) is not supported when using Sätteri as your MDX processor. If you would like to use Sätteri for Markdown files, but still use Unified for MDX, you can pass a different Markdown processor to the MDX integration: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; import { satteri } from '@astrojs/markdown-satteri'; import { unified } from '@astrojs/markdown-remark'; import myPlugin from './my-recma-plugin.js'; export default defineConfig({ markdown: { processor: satteri({ features: { directive: true }, }), }, integrations: [ mdx({ recmaPlugins: [myPlugin], processor: unified(), }), ], }); ``` ##### Patch Changes - Updated dependencies \[[`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c), [`f732f3c`](withastro/astro@f732f3c)]: - [@astrojs/internal-helpers](https://github.com/astrojs/internal-helpers)@0.10.0 - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.2.0 - [@astrojs/markdown-satteri](https://github.com/astrojs/markdown-satteri)@0.2.0 ##### [v5.0.6](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#506) ##### Patch Changes - [#16579](withastro/astro#16579) [`49e10e3`](withastro/astro@49e10e3) Thanks [@igor-koop](https://github.com/igor-koop)! - Fixes an issue where the `smartypants` option was ignored. ##### [v5.0.5](https://github.com/withastro/astro/blob/HEAD/packages/integrations/mdx/CHANGELOG.md#505) ##### Patch Changes - Updated dependencies \[[`9256345`](withastro/astro@9256345)]: - [@astrojs/markdown-remark](https://github.com/astrojs/markdown-remark)@7.1.2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
This PR fixes the Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3 released yesterday.
Testing
I added a test using a conditional plugin factory which is a new supported type of plugin entry.
Docs
This is a type-only change.