---
title: Bengal 0.2.4
description: Versioning for MkDocs migration, math rendering, Patitas consolidation, live reload
type: changelog
date: 2026-03-02
draft: false
lang: en
tags: [release, changelog, patitas, versioning, math]
keywords: [release, 0.2.4, patitas, versions.json, content.math, live reload]
category: changelog
---

# Bengal 0.2.4

**Key additions:** MkDocs-compatible versioning (`versions.json`, root redirect), KaTeX math rendering, Patitas consolidation for frontmatter and notebooks, and improved live reload in the dev server.

---

## Highlights

### Versioning for MkDocs Migration

Versioned documentation sites now emit a `versions.json` file compatible with MkDocs/Mike tooling, and support root redirects for docs-only deployments:

- **versions.json**: Lists versions with title, aliases, and URL prefixes (config: `versioning.emit_versions_json`, default true)
- **Root redirect**: Configurable redirect from site root to the default version (`versioning.default_redirect`, `versioning.default_redirect_target`)
- **Docs**: Versioning guide updated with format details and MkDocs migration comparison

### Math and LaTeX Rendering

Add math support via the `content.math` theme feature:

- **Opt-in**: Enable in `theme.features` to load KaTeX CSS/JS
- **Elements**: Renders `.math` (inline) and `.math-block` (display) elements
- **Docs**: New Math and LaTeX authoring guide; theme reference updated

### Patitas Consolidation

Frontmatter and notebook parsing now use Patitas exclusively:

- **Frontmatter**: Replaces `python-frontmatter`; requires `patitas>=0.3.3`
- **Notebooks**: Replaces embedded `nbformat`; `.ipynb` files parsed via `patitas.parse_notebook()`
- **Result**: Fewer dependencies, unified content pipeline

### Dev Server and Live Reload

- **Live reload**: Replaced thread bridge with pure async SSE for more reliable hot reload
- **DOM fragments**: Instant partial updates when editing content (no full page refresh)
- **Serve-first**: Now requires build cache; clearer behavior when starting with empty output

### Blog Theme

- **Series navigation**: New `series-nav` component for the default blog theme
- **Layout**: `blog-after-content` moved inside `blog-post-layout` for cleaner structure

---

## Other Changes

- **Rendering**: Improved error display when template engine raises errors
- **Build**: Parallel provenance filter for faster builds on large sites
- **Build**: Skip provenance verification on cold builds (no cached output)
- **Shortcodes**: Ref/RelRef, HasShortcode, nesting, strict mode, and CLI support
- **Health**: Refactored link validator with configurable resolution and skip rules

---

## Breaking Changes

None. Fully backward-compatible release.

---

## Upgrading

```bash
uv pip install --upgrade bengal
# or
pip install --upgrade bengal
# or use the self-update command
bengal upgrade
```
