django-debug-toolbar
A configurable set of panels that display various debug information about the current request/response.
Description
===================================== Django Debug Toolbar |latest-version| ===================================== |build-status| |coverage| |docs| |python-support| |django-support| .. |latest-version| image:: https://img.shields.io/pypi/v/django-debug-toolbar.svg :target: https://pypi.org/project/django-debug-toolbar/ :alt: Latest version on PyPI .. |build-status| image:: https://github.com/django-commons/django-debug-toolbar/workflows/Test/badge.svg :target: https://github.com/django-commons/django-debug-toolbar/actions/workflows/test.yml :alt: Build Status .. |coverage| image:: https://img.shields.io/badge/Coverage-94%25-green :target: https://github.com/django-commons/django-debug-toolbar/actions/workflows/test.yml?query=branch%3Amain :alt: Test coverage status .. |docs| image:: https://img.shields.io/readthedocs/django-debug-toolbar/latest.svg :target: https://readthedocs.org/projects/django-debug-toolbar/ :alt: Documentation status .. |python-support| image:: https://img.shields.io/pypi/pyversions/django-debug-toolbar :target: https://pypi.org/project/django-debug-toolbar/ :alt: Supported Python versions .. |django-support| image:: https://img.shields.io/pypi/djversions/django-debug-toolbar :target: https://pypi.org/project/django-debug-toolbar/ :alt: Supported Django versions The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/response and when clicked, display more details about the panel's content. Here's a screenshot of the toolbar in action: .. image:: https://raw.github.com/django-commons/django-debug-toolbar/main/example/django-debug-toolbar.png :alt: Django Debug Toolbar screenshot In addition to the built-in panels, a number of third-party panels are contributed by the community. The current stable version of the Debug Toolbar is 6.3.0. It works on Django ≥ 4.2.0. The Debug Toolbar has experimental support for `Django's asynchronous views <https://docs.djangoproject.com/en/dev/topics/async/>`_. Please note that the Debug Toolbar still lacks the capability for handling concurrent requests. If you find any issues, please report them on the `issue tracker`_. Documentation, including installation and configuration instructions, is available at https://django-debug-toolbar.readthedocs.io/. The Django Debug Toolbar is released under the BSD license, like Django itself. If you like it, please consider contributing! The Django Debug Toolbar was originally created by Rob Hudson <rob@cogit8.org> in August 2008 and was further developed by many contributors_. .. _contributors: https://github.com/django-commons/django-debug-toolbar/graphs/contributors .. _issue tracker: https://github.com/django-commons/django-debug-toolbar/issues
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 6.3.0 | Imported from PyPI (6.3.0) | Low | 4/21/2026 |
| 6.2.0 | <!-- Release notes generated using configuration in .github/release.yml at 6.2.0 --> ## What's Changed * Deprecate RedirectsPanel in favor of the HistoryPanel by @JohananOppongAmoateng in https://github.com/django-commons/django-debug-toolbar/pull/2223 * Add cache view to example app by @federicobond in https://github.com/django-commons/django-debug-toolbar/pull/2243 * Add zizmor for GHA security analysis by @tim-schilling in https://github.com/django-commons/django-debug-toolbar/pull/2201 | Low | 1/20/2026 |
| 6.1.0 | ## What's Changed See [change log here](https://django-debug-toolbar.readthedocs.io/en/latest/changes.html#:~:text=6.1.0%20(2025-10-30)) Commits: * Added a note about the default password in make example by @abdibaker in https://github.com/django-commons/django-debug-toolbar/pull/2180 * Removed logging about the toolbar failing to serialize a value into JSON by @tim-schilling in https://github.com/django-commons/django-debug-toolbar/pull/2181 * Explicitly call out the selenium job in th | Low | 10/30/2025 |
| 6.0.0 | ## Description The v6.0.0 release of Django Debug Toolbar significantly revamps how panels for the toolbar work. Each panel will now persist its data in a store. A store can either be backed by various backends. The toolbar will support a memory and database backend to start. **The toolbar is now using Django's `SafeExceptionReporterFilter.cleanse_setting()` function to filter out sensitive information.** Some data will be replaced with `"********************"`. This is because the toolbar | Low | 7/25/2025 |
| 5.2.0 | ## What's Changed * Enhance RedirectsPanel with customizable redirect response hook by @blingblin-g in https://github.com/django-commons/django-debug-toolbar/pull/2104 * Sanitize sensitive variables in RequestPanel by @dr-rompecabezas in https://github.com/django-commons/django-debug-toolbar/pull/2105 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/django-commons/django-debug-toolbar/pull/2112 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https: | Low | 4/29/2025 |
| 5.1.0 | ## What's Changed * Update version for sigstore action to full version. by @tim-schilling in https://github.com/django-commons/django-debug-toolbar/pull/2056 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/django-commons/django-debug-toolbar/pull/2053 * Add Django 5.2 to tox matrix by @tim-schilling in https://github.com/django-commons/django-debug-toolbar/pull/2064 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/django-commons/ | Low | 3/20/2025 |
| 5.0.1 | ## What's Changed There were no functional changes in this version. ### PRs * Update release workflows to latest trusted publisher GHA. by @tim-schilling in https://github.com/django-commons/django-debug-toolbar/pull/2054 **Full Changelog**: https://github.com/django-commons/django-debug-toolbar/compare/5.0.0...5.0.1 | Low | 1/14/2025 |
| 5.0.0 | ## What's Changed Please note that Django Debug Toolbar has now moved into the Django Commons organization. ### Changelog * Added Python 3.13 to the CI matrix. * Removed support for Python 3.8 as it has reached end of life. * Converted to Django Commons PyPI release process. * Fixed a crash which occurred when using non-``str`` static file values. * Documented experimental async support. * Improved troubleshooting doc for incorrect mime types for .js static files * Support async a | Low | 1/11/2025 |
| 5.0.0-alpha | ## Why 5.0 and why alpha? Version 5.0 does not contain any backwards incompatible changes. Instead it should be more compatible with async Django projects. However, the change did require some reasonably sized changes to the middleware. This is a large enough change that we wanted it to be effectively communicated to users of the toolbar. This release is an alpha because the async logic was tested, but we also understand that we haven't tested it in every scenario. We fully expect the proj | Low | 9/2/2024 |
| 4.4.6 | ## What's Changed * Close #1509: Revert the infinite recursion fix, Django has changed the behavior by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1955 * Fixed order and grammatical number of panels in documentation by @bkdekoning in https://github.com/jazzband/django-debug-toolbar/pull/1956 * Alerts panel: Only process HTML responses by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1960 **Full Changelog**: https://github.com/jazzband/django- | Low | 7/10/2024 |
| 4.4.5 | ## What's Changed * Fix #1951: Do not crash if the 'alerts' key doesn't exist by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1953 * Only import the jinja2 instrumentation when jinja2 itself is importable by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1954 **Full Changelog**: https://github.com/jazzband/django-debug-toolbar/compare/4.4.4...4.4.5 | Low | 7/5/2024 |
| 4.4.4 | ## What's Changed * Check for for StreamingHttpResponse when generating stats in Alert by @danjac in https://github.com/jazzband/django-debug-toolbar/pull/1946 * Actually use the Jinja2 template backend by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1882 ## New Contributors * @danjac made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1946 **Full Changelog**: https://github.com/jazzband/django-debug-toolbar/compare/4.4.3...4.4.4 | Low | 7/5/2024 |
| 4.4.3 | ## What's Changed * Fix overriding font-family for both light and dark themes by @federicobond in https://github.com/jazzband/django-debug-toolbar/pull/1930 * Restore compatibility with iptools.IpRangeList by @quinox in https://github.com/jazzband/django-debug-toolbar/pull/1929 * Limit the cases for E001 to likely scenarios by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1925 * Introduce debug_toolbar_urls to simplify installation by @tim-schilling in https://githu | Low | 7/4/2024 |
| 4.4.2 | ## What's Changed * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-debug-toolbar/pull/1909 * Avoid setting color-scheme on :root, we're only a guest on pages by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1923 * Add a section to the installation docs about running tests by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1921 * Version 4.4.2 by @matthiask in https://github.com/jazzband/django-debug-tool | Low | 5/27/2024 |
| 4.4.1 | ## What's changed See [changelog for 4.4.1](https://github.com/jazzband/django-debug-toolbar/blob/main/docs/changes.rst#441-2024-05-26) ## PRs merged * Limit metadata version for Jazzband's release process by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1916 **Full Changelog**: https://github.com/jazzband/django-debug-toolbar/compare/4.4...4.4.1 | Low | 5/26/2024 |
| 4.4 | **Note:** Version 4.4 (4.4.0) was not released to PyPI due to a metadata version incompatibility. Version 4.4.1 fixes that. ## What's changed See [changelog for 4.4](https://github.com/jazzband/django-debug-toolbar/blob/main/docs/changes.rst#440-2024-05-26) ## PRs merged * Use url template tag for example URLs by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1879 * Keep GitHub Actions up to date with GitHub's Dependabot by @cclauss in https://github.com/jazz | Low | 5/26/2024 |
| 4.3 | ## What's Changed * docs(panels): remove very old / outdated third-party panels by @Zerotask in https://github.com/jazzband/django-debug-toolbar/pull/1825 * Add note on lack of async support to docs by @salomvary in https://github.com/jazzband/django-debug-toolbar/pull/1829 * do not quote SQL params before passing them to mogrify by @tkoschnick in https://github.com/jazzband/django-debug-toolbar/pull/1832 * panels(templates): avoid evaluating LazyObject by @nijel in https://github.com/jazzba | Low | 2/1/2024 |
| 4.2 | ## What's Changed * Fixed #1780 -- Adjusted system check to allow for nested template loa… by @carltongibson in https://github.com/jazzband/django-debug-toolbar/pull/1783 * Include all files in sdist archives by @mgorny in https://github.com/jazzband/django-debug-toolbar/pull/1785 * SQL panel work by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1786 * Use ruff for linting by @WhyNotHugo in https://github.com/jazzband/django-debug-toolbar/pull/1781 * Minor testing clea | Low | 8/11/2023 |
| 4.1 | ## What's Changed * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-debug-toolbar/pull/1755 * SQL query formatting improvements by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1752 * Use the new STORAGES setting in Django 4.2 by @radwon in https://github.com/jazzband/django-debug-toolbar/pull/1759 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-debug-toolbar/pull/1761 * Switc | Low | 5/16/2023 |
| 4.0.0 | * Added Django 4.2a1 to the CI. * Dropped support for Python 3.7. * Fixed PostgreSQL raw query with a tuple parameter during on explain. * Use ``TOOLBAR_LANGUAGE`` setting when rendering individual panels that are loaded via AJAX. * Add decorator for rendering toolbar views with ``TOOLBAR_LANGUAGE``. * Removed the logging panel. The panel's implementation was too complex, caused memory leaks and sometimes very verbose and hard to silence output in some environments (but not others) | Low | 4/3/2023 |
| 3.8.1 | Note: 3.8.0 was not released, use 3.8.1 ## What's Changed * fix: Simplify logic for Panel.enabled property by @adamantike in https://github.com/jazzband/django-debug-toolbar/pull/1676 * Auto-update History panel with JavaScript fetch requests. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1685 * Improve the template_source view coverage a bit by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1688 * Support rerendering the toolbar on HTMX b | Low | 12/3/2022 |
| 3.8 | This tag was not released due to a bug in the release job. Use 3.8.1 | Low | 12/3/2022 |
| 3.7 | ## What's Changed * Fix JS linting error from pre-commit. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1670 * Use system font stack in the toolbar by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1672 * Profiling panel improvements by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1669 * added functionality to keep unsort the session dict by @ritiksoni00 in https://github.com/jazzband/django-debug-toolbar/pull/1673 | Low | 9/25/2022 |
| 3.6 | ## What's Changed * Remove unused import from installation.rst by @jonatron in https://github.com/jazzband/django-debug-toolbar/pull/1648 * Check if djdt-store-id is in all headers before usage. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1651 * docs: Fix a few typos by @timgates42 in https://github.com/jazzband/django-debug-toolbar/pull/1652 * Make Selenium tests pass, hopefully by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1655 * Add | Low | 8/23/2022 |
| 3.5 | ## What's Changed * Explicit external link, hopefully fixes the docs linting action by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1618 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-debug-toolbar/pull/1617 * Add the upcoming Django 4.1 to the CI matrix by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1623 * Remove a couple of archived third-party repos by @cclauss in https://github.com/jazzband/dj | Low | 6/24/2022 |
| 3.4 | ## What's Changed * The path may not always be a true path for stacktraces. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1613 * Add changelog for unpacking error when rendering stacktrace. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1614 * Rename SQLPanel context var to control SQL access. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1615 **Full Changelog**: https://github.com/jazzband/django-debug | Low | 5/3/2022 |
| 3.3 | ## What's Changed * Drop support for Django 3.1 by @hramezani in https://github.com/jazzband/django-debug-toolbar/pull/1548 * Drop support for Django 2.2 by @hramezani in https://github.com/jazzband/django-debug-toolbar/pull/1551 * Added MrBenn Panel to Third Party Panels by @robertispas in https://github.com/jazzband/django-debug-toolbar/pull/1554 * Add pyupgrade and django-upgrade pre-commit hooks by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1553 * Documentation | Low | 5/3/2022 |
| 3.2.4 | ## What's Changed * Revert PR 1426 - PostGIS param stripping. This was removing leading and trailing characters from string typed parameters for postgres applications. **Full Changelog**: https://github.com/jazzband/django-debug-toolbar/compare/3.2.3...3.2.4 | Low | 12/15/2021 |
| 3.2.3 | ## What's Changed * Update translations and revert xgettext aliasing. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1494 * Utilize pre-commit to help devs follow style guidelines by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1495 * Changed cache monkey-patching for Django 3.2+ by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1497 * Add check and docs for TEMPLATES APP_DIRS=False. by @tim-schilling in https:// | Low | 12/12/2021 |
| 3.2.2 | ## What's Changed * Use current_thread instead of currentThread method that was deprecated in Python 3.10 by @tirkarthi in https://github.com/jazzband/django-debug-toolbar/pull/1465 * Drop support for Django 3.0. by @hramezani in https://github.com/jazzband/django-debug-toolbar/pull/1461 * Support JS events when loading a panel. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1441 * Use twine to check generated package and readme by @francoisfreitag in https://gith | Low | 10/26/2021 |
| 1.0-beta | This is the second pre-release leading up 1.0. | Low | 12/15/2013 |
| 1.0-alpha | This is the first pre-release leading up 1.0. | Low | 12/8/2013 |
