Skip to content

bengal 0.3.1

Latest

Choose a tag to compare

@lbliii lbliii released this 13 Apr 23:54
· 9 commits to main since this release
69b82cb

Bengal 0.3.1

Key additions: Milo CLI autodoc framework, Towncrier changelog workflow. Key fixes: 40+ UX sharp edges hardened across CLI, directives, effects, and error handling; live progress bar repaired; kida-templates bumped to v0.6.0.

Added

  • Add milo as a first-class CLI autodoc framework, enabling automatic CLI reference documentation generation from milo-based CLIs with JSON Schema parameter extraction and lazy command support.
  • Adopt Towncrier for release notes: add changelog.d/ fragments, poe changelog / poe changelog-draft, and rename the package changelog to CHANGELOG.md.

Fixed

  • Harden CLI user-facing edges: route site-loading errors through existing error infrastructure, make required args enforced by argparse, remove double-negative boolean flags in serve, add traceback fallback when renderer fails, and fix misleading help text.
  • Update stale bengal site {build,serve,clean} references to flattened top-level commands across CI, tooling, source code, and documentation.
  • Fix live progress bar not updating in place by adding throttled ANSI rendering with deferred logger output, and eliminate false-positive cascade and directive warnings for virtual autodoc pages.
  • Fix 12 sharp edges across effects, CLI, and error handling: Effect.from_dict now uses tagged serialization to preserve Path vs string types, BuildCache.load sets site_root eagerly to prevent cache key races, EffectTracer.load handles JSON corruption gracefully, provenance recovery scans all pages instead of sampling 10, serve/dashboard commands wrap exceptions through handle_exception, 22 CLI return-None sites return structured dicts, output-mode flag conflicts are validated upfront, and 5 silent except-OSError-pass handlers now log debug messages.
  • Harden 17 UX sharp edges: codemod now confirms before writing, version create rolls back on failure, stale remote cache warns visibly, unknown config keys and features get "did you mean?" suggestions, template context validation wired into builds, CLI flags categorized in help, and exit codes standardized.
  • Surface silent failures across directives, incremental builds, and CLI: unknown directives now warn with fuzzy-match suggestions, contradictory CLI flags fail fast, silent full-rebuild triggers log reasons, and all CLI commands return structured dicts.
  • Bump kida-templates to v0.6.0 for optional chaining display fix, structured errors, and expanded error codes. Fix silent | int coercion of empty string in tag list component.