Update django-debug-toolbar to 3.0
Created by: pyup-bot
This PR updates django-debug-toolbar from 1.9.1 to 3.0.
Changelog
3.0
----------------
* Added an ``.editorconfig`` file specifying indentation rules etc.
* Updated the italian translation.
* Added support for Django 3.1a1. ``fetch()`` and ``jQuery.ajax`` requests are
now detected by the absence of a ``Accept: text/html`` header instead of the
jQuery-specific ``X-Requested-With`` header on Django 3.1 or better.
* Pruned unused CSS and removed hacks for ancient browsers.
* Added the new :attr:`Panel.scripts <debug_toolbar.panels.Panel.scripts>`
property. This property should return a list of JavaScript resources to be
loaded in the browser when displaying the panel. Right now, this is used by a
single panel, the Timer panel. Third party panels can use this property to
add scripts rather then embedding them in the content HTML.
* Switched from JSHint to ESLint. Added an ESLint job to the Travis CI matrix.
* Debug toolbar state which is only needed in the JavaScript code now uses
localStorage.
* Updated the code to avoid a few deprecation warnings and resource warnings.
* Started loading JavaScript as ES6 modules.
* Added support for ``cache.touch()`` when using django-debug-toolbar.
* Eliminated more inline CSS.
* Updated ``tox.ini`` and ``Makefile`` to use isort>=5.
* Increased RESULTS_CACHE_SIZE to 25 to better support AJAX requests.
* Fixed the close button CSS by explicitly specifying the
``box-sizing`` property.
* Simplified the ``isort`` configuration by taking advantage of isort's
``black`` profile.
* Added HistoryPanel including support for AJAX requests.
**Backwards incompatible changes**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Loading panel content no longer executes the scripts elements embedded in the
HTML. Third party panels that require JavaScript resources should now use the
:attr:`Panel.scripts <debug_toolbar.panels.Panel.scripts>` property.
* Removed support for end of life Django 1.11. The minimum supported Django is
now 2.2.
2.2
----------------
* Removed support for end of life Django 2.0 and 2.1.
* Added support for Python 3.8.
* Add locals() option for sql panel.
* Added support for Django 3.0.
2.1
----------------
* Changed the Travis CI matrix to run style checks first.
* Exposed the ``djdt.init`` function too.
* Small improvements to the code to take advantage of newer Django APIs
and avoid warnings because of deprecated code.
* Verified compatibility with the upcoming Django 3.0 (at the time of
writing).
2.0
----------------
* Updated ``StaticFilesPanel`` to be compatible with Django 3.0.
* The ``ProfilingPanel`` is now enabled but inactive by default.
* Fixed toggling of table rows in the profiling panel UI.
* The ``ProfilingPanel`` no longer skips remaining panels or middlewares.
* Improved the installation documentation.
* Fixed a possible crash in the template panel.
* Added support for psycopg2 ``Composed`` objects.
* Changed the Jinja2 tests to use Django's own Jinja2 template backend.
* Added instrumentation to queries using server side cursors.
* Too many small improvements and cleanups to list them all.
**Backwards incompatible changes**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Removed support for Python 2.
* Removed support for Django's deprecated ``MIDDLEWARE_CLASSES`` setting.
* Restructured ``Panel`` to execute more like the new-style Django MIDDLEWARE.
The ``Panel.__init__()`` method is now passed ``get_response`` as the first
positional argument. The ``Panel.process_request()`` method must now always
return a response. Usually this is the response returned by
``get_response()`` but the panel may also return a different response as is
the case in the ``RedirectsPanel``. Third party panels must adjust to this
new architecture. ``Panel.process_response()`` and ``Panel.process_view()``
have been removed as a result of this change.
The deprecated API, ``debug_toolbar.panels.DebugPanel``, has been removed.
Third party panels should use ``debug_toolbar.panels.Panel`` instead.
The following deprecated settings have been removed:
* ``HIDDEN_STACKTRACE_MODULES``
* ``HIDE_DJANGO_SQL``
* ``INTERCEPT_REDIRECTS``
* ``RESULTS_STORE_SIZE``
* ``ROOT_TAG_ATTRS``
* ``TAG``
1.11
-----------------
* Use ``defer`` on all ``<script>`` tags to avoid blocking HTML parsing,
removed inline JavaScript.
* Stop inlining images in CSS to avoid Content Security Policy errors
altogether.
* Reformatted the code using `black <https://github.com/ambv/black>`__.
* Added the Django mail panel to the list of third-party panels.
* Convert system check errors to warnings to accommodate exotic
configurations.
* Fixed a crash when explaining raw querysets.
* Fixed an obscure unicode error with binary data fields.
* Added MariaDB and Python 3.7 builds to the CI.
1.10.1
-------------------
* Fixed a problem where the duplicate query detection breaks for
non-hashable query parameters.
* Added support for structured types when recording SQL.
* Made Travis CI also run one test no PostgreSQL.
* Added fallbacks for inline images in CSS.
* Improved cross-browser compatibility around ``URLSearchParams`` usage.
* Fixed a few typos and redundancies in the documentation, removed
mentions of django-debug-toolbar's jQuery which aren't accurate
anymore.
1.10
-----------------
* Removed support for Django < 1.11.
* Added support and testing for Django 2.1 and Python 3.7. No actual code
changes were required.
* Removed the jQuery dependency. This means that django-debug-toolbar
now requires modern browsers with support for ``fetch``, ``classList``
etc. The ``JQUERY_URL`` setting is also removed because it isn't
necessary anymore. If you depend on jQuery, integrate it yourself.
* Added support for the server timing header.
* Added a differentiation between similar and duplicate queries. Similar
queries are what duplicate queries used to be (same SQL, different
parameters).
* Stopped hiding frames from Django's contrib apps in stacktraces by
default.
* Lots of small cleanups and bugfixes.