Skip to content

v0.8.0

Choose a tag to compare

@topunix topunix released this 26 Sep 11:36
· 133 commits to main since this release
d9d03b4

What's new

Explanations on the debug page (on by default). When Django renders its
debug page for a 500, the explanation now appears in a banner directly under
the exception headline, in addition to stdout. Set
EXPLAIN_ERRORS_INJECT_DEBUG_PAGE = False to turn it off. It requires
EXPLAIN_ERRORS_PRESERVE_DEBUG_PAGE = True (the default). A custom
DEFAULT_EXCEPTION_REPORTER is never overridden; injection is skipped
instead. Any failure while building the banner leaves Django's normal debug
page untouched.

Formatted explanations on the debug page. Inline code, code blocks, bold,
and lists in the explanation render as formatted text instead of raw Markdown.
Right-to-left languages such as Hebrew and Arabic display right to left, with
code kept left to right.

New setting: EXPLAIN_ERRORS_PRINT_STDOUT (default True). Set it to
False to stop printing the explanation to stdout. Failure messages always
print. A startup warning is logged if the settings leave no place for the
explanation to appear.

Provider-neutral messages. Output and error messages no longer assume
OpenAI, since explanations can come from any OpenAI-compatible provider.

Upgrading

  • The debug page looks different by default: a new section appears above the
    request metadata table. If anything depends on the page's exact markup
    (scrapers, screenshot tests), set EXPLAIN_ERRORS_INJECT_DEBUG_PAGE = False
    or update it.
  • The stdout prefix changed from Error Explanation by OpenAI: to
    Error explanation (<model>):. Update any log filters that match the old
    text.