---
title: Bengal 0.3.2
description: CLI startup fix, wheel smoke guard, plugin readiness introspection, preview reload fixes, and rendering/performance polish
type: changelog
date: 2026-05-02
draft: false
lang: en
tags: [release, changelog, cli, bugfixes, preview, performance, plugins]
keywords: [release, 0.3.2, cli, milo-cli, wheel-smoke, plugin-readiness, preview-reload, kida, performance]
category: changelog
---

# Bengal 0.3.2

**Key fix:** Bengal 0.3.1 could install successfully but crash before any CLI command ran when fresh installs resolved `milo-cli` 0.2.2. Bengal 0.3.2 removes the conflicting flag registration, bumps the dependency floor, and adds installed-wheel smoke coverage so the release path catches this class of dependency drift before PyPI publish.

---

## Highlights

### CLI Startup Restored

Fresh installs now resolve and run the CLI correctly:

```bash
bengal --version
bengal --help
bengal cache hash --help
```

The regression came from a redundant explicit `no_include_version` parameter in `cache hash`. Newer Milo automatically generates `--no-<flag>` options for boolean defaults, so the explicit parameter collided with Milo's generated flag at parser construction time.

0.3.2 fixes the command definition and adds three release guards:

- A fast parser-construction unit test that builds the full Milo parser.
- An integration test that installs the built wheel into a fresh virtual environment against latest PyPI-resolved dependencies.
- A pre-publish GitHub Actions smoke test that runs the installed wheel before uploading to PyPI.

### Plugin Readiness Introspection

New plugin commands help authors and extension developers see what Bengal can discover and what is ready to use:

```bash
bengal plugin list
bengal plugin info <name>
bengal plugin validate
```

The output distinguishes wired plugin capabilities from pending registry surfaces, which makes plugin debugging less dependent on reading internals.

### Preview And Warm-Build Fixes

Local preview no longer reloads unrelated open pages when one rendered page changes, and it suppresses reload notifications when rendered HTML bytes are unchanged. The dev server also handles `localhost` more reliably when an existing Bengal server is listening on IPv6.

Warm-build paths received targeted performance and correctness work: lazy Kida template context is preserved, template dependency discovery is cached, fingerprint fast paths are reused for data/templates, section version membership is memoized, and missing site-wide postprocess artifacts can regenerate without rebuilding pages.

---

## Added

- `bengal plugin list`, `bengal plugin info`, and `bengal plugin validate` for plugin readiness inspection.
- Agent-oriented docs and scaffolding improvements, including clearer extension-point guidance and `bengal new content-type <name>`.
- Error UX infrastructure for template errors, including stable error codes, dev-server overlay support, JSON error output, and grouped build summaries.

## Changed

- Bump `milo-cli` to 0.2.2 and align Bengal's boolean flag definitions with Milo's generated `--no-` behavior.
- Upgrade Kida template support and adjust default-theme templates for strict undefined handling.
- Continue moving Page, Section, and Site compatibility behavior behind rendering/orchestration helpers while keeping template-facing APIs stable.
- Add scoped steward guidance for high-risk packages and test layers.

## Fixed

- Fix the installed-wheel CLI crash from Bengal 0.3.1.
- Fix default-theme render failures under Kida strict undefined mode.
- Fix template-change handling in the dev server after the legacy template detector removal.
- Fix preview reload routing, byte-stable reload suppression, view-transition loading, and IPv6-aware dev-server port probing.
- Improve Markdown mirror generation and agent-discoverable output directives.
- Add missing error codes to theme-library configuration failures, preserve warm no-op incremental cache-hit stats before early return, remove scheduler-sensitive assertions from local test gates, and update Makefile build/serve helpers for the current `--source site` CLI shape.

## Removed

- Remove the Textual dashboard runtime and dashboard-specific CLI/test surface so the CLI stays focused on fast pure-Python site generation.

---

## Upgrading

```bash
uv pip install --upgrade bengal
# or
pip install --upgrade bengal
```

If you installed Bengal 0.3.1 and the CLI crashes before showing help or version output, upgrade directly to 0.3.2.
