# Streamdown 2\.4: More customization, accessibility and custom rendering

**Published:** March 5, 2026 | **Authors:** Hayden Bleasel

---

Streamdown v2.4 introduces customization hooks, accessibility features, and user experience improvements for developers rendering markdown.

Teams can now customize the appearance of their markdown output using several new properties. You can override the built-in icons by passing a specific component map to the `icons` prop.

```tsx
import { Streamdown, type IconMap } from "streamdown"
<Streamdown
  icons={{ CheckIcon: MyCheckIcon }}
>
  {content}
</Streamdown>
```

The `createCodePlugin` now accepts a `themes` option for light and dark Shiki themes, a `startLine` meta option for custom starting line numbers, and an `inlineCode` virtual component for styling inline code independently from blocks.

```tsx
import { createCodePlugin } from "streamdown"
const codePlugin = createCodePlugin({
  themes: {
    light: "github-light",
    dark: "github-dark",
  },
})
```

Streamdown now supports internationalization and text direction. The `dir` prop automatically applies left-to-right or right-to-left formatting based on the first strong Unicode character, and the `translations` prop supports custom languages.

```tsx
<Streamdown
  dir="auto"
  translations={{ copy: "نسخ", copied: "تم النسخ" }}
>
  {content}
</Streamdown>
```

Tables include a fullscreen overlay controlled via the `controls` prop, complete with scroll locking and Escape key support. Developers can hook into streaming events using the `onAnimationStart` and `onAnimationEnd` callbacks.

This release fixes empty lines collapsing in syntax-highlighted blocks and prevents ordered lists from retriggering animations during streaming.

For projects using Tailwind v4, the new `prefix` prop namespaces utility classes to avoid collisions.

```tsx
<Streamdown prefix="sd-">{content}</Streamdown>
```

To get started, [learn more](https://streamdown.ai/docs).

---

📚 **More updates:** [View all changelog entries](/changelog/sitemap.md) | [Blog](/blog/sitemap.md)