Bengal 0.1.7

Fixes for build orchestration, asset discovery, and enhanced deployment health checks

Key additions: Detection for output/cache mismatches, fixes for theme asset discovery in hidden directories, and enhanced health checks for deployment robustness including 0-byte asset detection and GitHub Pagesbaseurlvalidation.


Highlights

Build & Cache Reliability

This release addresses critical edge cases discovered in CI environments and complex local setups:

  • Output/Cache Mismatch Detection: Fixes a bug where Bengal would skip builds if the.bengalcache was restored but the output directory (e.g.,public/) had been cleaned. Bengal now detects missing index files or assets and forces a rebuild automatically.
  • Theme Asset Discovery: Resolved an issue where theme assets installed in hidden directories (like.venv) were incorrectly ignored. The discovery engine now correctly filters hidden files based on their relative path within the assets directory.

Enhanced Deployment Health Checks

We've added several new validators to catch common deployment "silent failures" before they hit production:

  • Theme-Agnostic Asset Validation: Asset checks (H621, H626, H627) are now smarter. Instead of looking for specific filenames, they verify that any CSS is present and that JS directories aren't empty, making them compatible with all themes.
  • 0-Byte Asset Detection: New checks (H628, H629, H630) identify empty CSS and JS files, which often indicate a failure in bundling or copying that would otherwise result in an unstyled or broken site.
  • Case-Sensitivity Guard: Asset URL validation now detects case mismatches (e.g.,css/Style.cssvscss/style.css). This prevents bugs that "work on my Mac" but fail on case-sensitive Linux CI environments.
  • GitHub Pages Assistant: Added validation (H012, H013) for GitHub Pages project sites to ensurebaseurlis correctly configured to match the repository name, preventing common 404 issues on deployment.

Performance & Internal Improvements

  • Thread Safety: Optimized global context creation with a more efficient locking pattern for Python 3.14 free-threading.
  • Build Quality Score: Refined the scoring algorithm to include deployment-readiness suggestions.

Upgrading

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

This is a recommended update for all users, especially those deploying via GitHub Actions or using custom themes installed via pip.