Skip to content

Update python dependencies - #2780

Open
renovate-bot wants to merge 4 commits into
e-valuation:mainfrom
renovate-bot:renovate/python
Open

Update python dependencies#2780
renovate-bot wants to merge 4 commits into
e-valuation:mainfrom
renovate-bot:renovate/python

Conversation

@renovate-bot

@renovate-bot renovate-bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
Django (changelog) ~=6.0.2~=6.1.1 age confidence
coverage ~=7.15.0~=7.16.0 age confidence
django-debug-toolbar (changelog) ~=7.0~=8.0 age confidence
django-stubs (changelog) ~=6.0.2~=6.1.0 age confidence
selenium ~=4.46.0~=4.48.0 age confidence

Release Notes

django/django (Django)

v6.1.1

Compare Source

v6.1

Compare Source

v6.0.8

Compare Source

coveragepy/coveragepy (coverage)

v7.16.0

Compare Source

  • When combining files, now path separator slashes will automatically be
    converted to the local file system style. This makes it less necessary to
    define [paths] configuration to combine data across operating systems.
    Fixes issue 2266_.

  • The :meth:.Coverage.switch_context method now returns the previous context.

  • Fix: previously, a [paths] pattern would be replaced everywhere in a file
    path when it was only meant to be replaced once, in the leading portion of
    the path. This is now fixed, in pull 2268_.

  • Fixes to validation of options and configuration settings:

    • Negative precision settings now always cause useful error messages (pull 2261_).

    • An invalid regex in the --contexts option (or the [report] contexts setting) reported a confusing "Couldn't use data file ...:
      user-defined function raised exception" error. Now it raises a proper
      configuration error naming the bad regex, like other regex settings do
      (pull 2262_).

    • Non-string values in TOML configuration settings now produce a helpful
      error message instead of a traceback. This affects list settings whose
      elements aren't strings (like omit, exclude_lines, or a [paths]
      entry), file settings like data_file, and any wrong-typed value in the
      [paths] section (pull 2263_).

    • coverage run refuses run-affecting command-line options like
      --branch alongside --concurrency=multiprocessing, since they can't
      reach the subprocesses. The check only recognized multiprocessing as
      the entire option value, so --concurrency=multiprocessing,thread
      slipped through and failed later with "Can't combine statement coverage
      data with branch data". Each named concurrency library is now properly
      considered (pull 2270_).

  • Fix: coverage annotate -d DIR raised an AssertionError if any
    measured file had an extension other than .py, such as a .pyw file on
    Windows. The original extension is now restored on the annotated copy (pull 2265_).

.. _pull 2261: #​2261
.. _pull 2262: #​2262
.. _pull 2263: #​2263
.. _pull 2265: #​2265
.. _issue 2266: #​2266
.. _pull 2268: #​2268
.. _pull 2270: #​2270

.. _changes_7-15-4:

v7.15.4

Compare Source

  • Fix: in the HTML report, a source file name containing a double quote (legal
    on POSIX) wasn't escaped where it's dropped into the href of the index
    and prev/next links, so it could close the attribute early and inject markup.
    Page URLs are now escaped. Thanks, Rajath Mohare <pull 2227_>_.

  • Fix: the LCOV report wrote file names and other fields into its
    line-oriented records without neutralizing control characters. A measured
    file whose name contained a newline (legal on POSIX) could forge extra
    records, inflating the coverage seen by tools that read the report. Control
    characters in a field are now replaced. Thanks, Rajath Mohare <pull 2226_>_.

  • Wheels are now provided for Python 3.15.

.. _pull 2226: #​2226
.. _pull 2227: #​2227

.. _changes_7-15-3:

v7.15.3

Compare Source

  • Fix: the sysmon core is incompatible with dynamic contexts. Previously, the
    combination would be prevented when read from the coverage.py configuration.
    But using the context API as pytest-cov does, contexts would be silently
    dropped. Now a warning is issued, thanks to Jisang Han <pull 2234_>.
    Closes issue 2200
    .

  • A performance improvement in the low-level line number bookkeeping when
    combining data files, thanks to Kevin Turcios <pull 2239_>_.

  • Performance improvement in HTML reporting by reducing the number of times
    files have to be parsed, thanks to Kevin Turcios <pull 2240_>_.

.. _issue 2200: #​2200
.. _pull 2234: #​2234
.. _pull 2239: #​2239
.. _pull 2240: #​2240

.. _changes_7-15-2:

v7.15.2

Compare Source

  • Fix: one of the performance improvements in 7.15.1 (pull 2215) dramatically
    increased memory use during reporting for large projects. Now we use a
    different approach that is both faster and slimmer than 7.15.0. Fixes issue 2229_.

.. _issue 2229: #​2229

.. _changes_7-15-1:

v7.15.1

Compare Source

  • Fix: in the HTML report with show_contexts enabled, a context label
    containing </script> (for example a parametrized pytest node id) could
    close the inline <script> element in a file page early, injecting markup.
    Context labels are now fully escaped. Thanks, Rajath Mohare <pull 2224_>_.

  • A number of performance improvements thanks to Paul Kehrer, in pull requests
    2213 <pull 2213_>, 2214 <pull 2214_>, 2215 <pull 2215_>, 2216 <pull 2216_>, 2218 <pull 2218_>, 2220 <pull 2220_>, and 2221 <pull 2221_>_.

.. _pull 2213: #​2213
.. _pull 2214: #​2214
.. _pull 2215: #​2215
.. _pull 2216: #​2216
.. _pull 2218: #​2218
.. _pull 2220: #​2220
.. _pull 2221: #​2221
.. _pull 2224: #​2224

.. _changes_7-15-0:

django-commons/django-debug-toolbar (django-debug-toolbar)

v8.0.0

Compare Source

Changelog

  • Refreshed the toolbar's visual design with self-hosted Alef (panel titles) and Geist (body text) fonts, an updated color palette, and per-panel navigation icons.
  • Added a new project logo and brand identity, designed by Robin of RBNX Studio <https://www.rbnx.studio>_.
  • Added a "Docs" link to the toolbar that opens the documentation.
  • Changed the highlight color for the current request and other "relevant to you" rows from yellow to a green tint, with a left border accent for legibility in dark mode.
  • Added a design guidelines page to the documentation describing the project's logo, color palette and typography.
  • Improved toolbar accessibility: visible keyboard focus, keyboard-operable scroll regions, reduced-motion support, aria-expanded on panel toggles, an aria-live status for history refreshes, and WCAG 2.1 AA contrast in both themes.
  • Added a talk to the resources documentation.
  • Updated the example screenshot.
  • Updated the screenshot capture logic to find the toolbar elements in the shadow DOM.
  • Track and display processing time of application, including the toolbar's time, in the timer panel.
  • Fixed the History panel rendering a duplicate Refresh button below the one in its title bar.
  • Fixed the History panel's Refresh button submitting its form when clicked before the panel's script had loaded.
  • Documented the USE_SHADOW_DOM setting, which was added in 7.0.0 but was missing from the configuration documentation, and added test coverage for it.

What's Changed

New Contributors

Full Changelog: django-commons/django-debug-toolbar@7.1.1...8.0.0

v7.1.1

Compare Source

Changelog

  • Serialize TaskResult in the Tasks panel to accommodate the storage mechanism.
  • Removed whitespace on Task panel’s kwargs column.

What's Changed

Full Changelog: django-commons/django-debug-toolbar@7.1.0...7.1.1

v7.1.0

Compare Source

Changelog

  • Added a Tasks panel that shows tasks queued during the request via Django’s built-in tasks framework (django.tasks, Django 6.0+). On older versions of Django, the panel explains that upgrading is required.
  • Fixed the Django version check in the SQL panel test suite for Django’s boolean parameter handling.
  • Fixed show_toolbar_with_docker on Docker runtimes such as OrbStack that can resolve host.docker.internal to an address outside the container network.
  • Restored the select and explain buttons for queries that run without parameters.
  • Fixed the error shown when panel content fails to load, which could not find the toolbar window inside the shadow root.
  • Stopped the history panel buttons from submitting their form when clicked before the panel script has loaded, which navigated away from the page.
  • Added support for Django 6.1.

What's Changed

New Contributors

Full Changelog: django-commons/django-debug-toolbar@7.0.0...7.1.0

typeddjango/django-stubs (django-stubs)

v6.1.0

Compare Source

What's Changed

This is the first Django 6.1 release 🎉

Django 6.0 and 5.2 are now in partial support mode.
Django 5.1 and 5.0 support was dropped (techically they would still work, but we don't test them no more).
Python 3.10 support was dropped.

Feedback is very welcome! 👍

Full Changelog: typeddjango/django-stubs@6.0.9...6.1.0

v6.0.9

Compare Source

What's Changed

6.0.8 was supposed to be the last 6.0.x release, but we found several regressions that we wanted to fix.
Now we are working on 6.1.0 release :)

Full Changelog: typeddjango/django-stubs@6.0.8...6.0.9

v6.0.8

Compare Source

This is the last release with Django 6.0 full support.
The next release will be focused on Django 6.1 support with Django 6.0 partial support.

What's Changed

New Contributors

Full Changelog: typeddjango/django-stubs@6.0.7...6.0.8

v6.0.7: Version 6.0.7

Compare Source

What's Changed

New Contributors

Full Changelog: typeddjango/django-stubs@6.0.6...6.0.7

v6.0.6: Version 6.0.6

Compare Source

What's Changed
New Contributors

Full Changelog: typeddjango/django-stubs@6.0.5...6.0.6

v6.0.5: Version 6.0.5

Compare Source

What's Changed
New Contributors

Full Changelog: typeddjango/django-stubs@6.0.4...6.0.5

v6.0.4

Compare Source

mypy@2.0 support is added.

What's Changed
New Contributors

Full Changelog: typeddjango/django-stubs@6.0.3...6.0.4

v6.0.3

Compare Source

What's Changed

New Contributors

Full Changelog: typeddjango/django-stubs@6.0.2...6.0.3


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • On day 1 of the month (* * 1 * *)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@Kakadus

Kakadus commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

The test failures are related to deprecated functionality removed in Django 6.1 that incidentally did not raise a deprecation warning. This kind of forces us to implement EvapBaseUser.get_session_auth_hash and get_session_auth_fallback_hash, although we do not have password changes.
edit: We should now be able to inherit from AbstractBaseUser again given that we have the Django fix to disable natural keys.

The two mypy failures are fixed with a assert ... is not None and an upstreamed django-stubs fix.

@forking-renovate

Copy link
Copy Markdown

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@niklasmohrin niklasmohrin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool that we got the natural key fix :)

Comment thread evap/student/views.py
Comment on lines 393 to +394
value = questionnaire_form.cleaned_data.get(answer_field_id(contribution, questionnaire, question))
assert value is not None

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess then we are just doing this?

Suggested change
value = questionnaire_form.cleaned_data.get(answer_field_id(contribution, questionnaire, question))
assert value is not None
value = questionnaire_form.cleaned_data[answer_field_id(contribution, questionnaire, question)]

@niklasmohrin

Copy link
Copy Markdown
Member

Django's new fetch mode feature looks nice, might help to track down database access in student index: https://docs.djangoproject.com/en/6.1/topics/db/fetch-modes/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants