Back to Explore

remarkjs/react-markdown

GitHub
2 watchersOpen source

Last release:

React component that safely renders Markdown strings into React elements. Useful for displaying CommonMark and GFM content in React, with support for pluggable transformations and custom React components for specific HTML-like tags.

Project status

  • The source, remarkjs/react-markdown, appears under active development (last upstream push on 2026-09-01), but the provided “recent updates” history only goes up to 2025-03, so published update cadence since then is not evidenced here.
  • Apparent update cadence (from the provided tagged updates): multiple updates clustered in early 2025 (Feb to Mar 2025), then no further tagged updates are shown after 2025-03.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 10.1.0

    Release 10.1.0 introduces a new `fallback` prop for `MarkdownHooks` and includes a fix for a race condition. The implementation also changes how `MarkdownHooks` renders before the markdown processor finishes and adjusts internal hook lifecycle handling.

    Features
  • 10.0.1

    Release 10.0.1 is described as a TypeScript performance fix around how components are typed. The diff shows no runtime logic changes, but there are multiple TypeScript-relevant type definition adjustments in the main entrypoint’s JSDoc, plus README and internal type-test harness changes.

  • 10.0.0

    Release 10.0.0 removes support for the `className` prop from `react-markdown`. The change eliminates the automatic wrapping `div` that previously applied the provided `className` to the rendered markdown output.

    Breaking
  • 9.1.0

    Release 9.1.0 introduces support for async Remark/Rehype plugins. The implementation adds new React components that route unified’s processing through sync, async-await, or client-side hook-based execution.

    Features
  • 9.0.3

    Release 9.0.3 appears to be a packaging-only update. The provided code diff shows only a version bump in package.json from 9.0.2 to 9.0.3, with no other code changes visible.

  • 9.0.2

    Release 9.0.2 focuses on TypeScript type updates intended to fix React 19 compatibility, and on enabling declaration maps. It also includes minor documentation fixes (typos) in the changelog.

  • 9.0.1

    Release 9.0.1 mainly updates the default URL sanitization logic to fix an issue with double encoding, and refreshes documentation examples to use React 18+ `createRoot`. The code changes also remove a dependency and reimplement the “safe protocol” decision logic directly in `defaultUrlTransform`.

  • 9.0.0

    react-markdown 9.0.0 is a major release that modernizes the package to ESM exports, requires Node.js 16 and React 18, and consolidates URL rewriting into a single urlTransform option. It also removes multiple legacy/unsafe options and changes runtime behavior to surface errors for removed props with improved messaging.

    BreakingFeatures
  • 8.0.7

    react-markdown 8.0.7 includes a documented performance tweak related to React element keys and a documentation/types fix for the syntax highlight example. The code change for keys is more substantial than the release notes describe, as it changes how element keys are generated during rendering.

  • 8.0.6

    Release 8.0.6 is presented as an update to TypeScript 5. The actual diff is small, with only minor type-definition changes plus a dev dependency and test update.