Skip to content

chore(deps): bump the pip-backend-patch-minor group across 1 directory with 4 updates#99

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/backend/pip-backend-patch-minor-a12bae7af7
Open

chore(deps): bump the pip-backend-patch-minor group across 1 directory with 4 updates#99
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/backend/pip-backend-patch-minor-a12bae7af7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Contributor

Bumps the pip-backend-patch-minor group with 4 updates in the /backend directory: asgiref, click, django and wcwidth.

Updates asgiref from 3.11.1 to 3.12.1

Changelog

Sourced from asgiref's changelog.

3.12.1 (2026-07-14)

  • Restored the previous SyncToAsync.call internal code shape, which was relied on by some APM services. (#572)

    Note, this change was available whilst maintaining the underlying fix (from #564). It does not constitute an API stability promise. Ideally APMs are not monkey patching internal APIs, and future changes will be made here if needed.

3.12.0 (2026-07-14)

  • AsyncToSync no longer captures the running event loop on instantiation. (#562)

    This resolves a series of deadlocks that users experienced after asgiref 3.9.0, particularly with pytest-asyncio. pytest-asyncio stops the event loop between tests, and long-running unawaited futures could find themselves trying to schedule work onto a stopped loop, and so would never complete. Ideally, code should be structured to await long-running futures before returning, but this change should help users experiencing issues here.

    The loop is now resolved when the callable is invoked rather than when it is created. If async_to_sync is called from within sync_to_async, the parent event loop is still used, as before.

    The possibility of deadlock therefore remains in some nested patterns. For example, an async function may call a long-running sync_to_async function that itself uses async_to_sync; if the outer function returns before the sync future completes, the parent event loop may already be stopped, and the nested calls cannot be driven to completion.

    This is not a bug in asgiref — the same patterns deadlock in plain asyncio. As above, restructure your code to await the sync_to_async future before exiting the driving coroutine.

  • Fixed an event loop deadlock when exiting ThreadSensitiveContext while its executor thread was still blocked waiting on the event loop. (#535)

  • Dropped support for EOL Python 3.9.

  • Fixed StatelessServer.run() failing on Python 3.14, where asyncio.get_event_loop() no longer creates an event loop if none exists. It now uses asyncio.run(). (#559)

  • Fixed Local leaking data between unrelated sync threads when sys.flags.thread_inherit_context is enabled (Python 3.14+), so a newly

... (truncated)

Commits
  • ef9d4b8 Releasing 3.12.1
  • 34fba63 Restore previous SyncToAsync.call internal code shape.
  • a43900c Separate mypy from tests extra.
  • 1b7c338 Releasing 3.12.0
  • 157d9d4 Renovate precommit (#552)
  • deda0d4 Test free-threading builds and fix Local data leak for thread_inherit_context...
  • a54250a Don’t capture the event loop in AsyncToSync.__init__ (#562)
  • 836356a Use asyncio.run in StatelessServer.run (#561)
  • e04afd5 Dropped support for Python 3.9. (#543)
  • 95d2430 Fixed #535: ThreadSensitiveContext.aexit blocking the event loop. (#563)
  • Additional commits viewable in compare view

Updates click from 8.4.1 to 8.4.2

Release notes

Sourced from click's releases.

8.4.2

This is the Click 8.4.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.

PyPI: https://pypi.org/project/click/8.4.2/ Changes: https://click.palletsprojects.com/page/changes/#version-8-4-2 Milestone: https://github.com/pallets/click/milestone/34

  • Fix Fish shell completion broken in 8.4.0 by #3126. Newlines and tabs in option help text are now escaped, keeping the original completion format while still supporting multi-line help. #3502 #3043 #3504 #3508
  • Deprecated commands and options with empty or missing help text no longer render a stray leading space before the (DEPRECATED) label. #3509
  • A {class}Group with invoke_without_command=True marks its subcommand as optional in the usage help, showing [COMMAND] instead of COMMAND. #3059 #3507
  • echo_via_pager flushes after each write, so passing a generator streams output to the pager incrementally instead of staying hidden until the pipe buffer fills. #3242 #2542 #3534
  • echo_via_pager and get_pager_file no longer close a borrowed stdout stream when no external pager runs, completing the partial I/O operation on closed file fix from #3482. #3449 #3533
  • Fix CLI usage symopsis for optional arguments producing double square brackets [[a|b|c]]... whose type already brackets their metavar. #3578
  • {func}version_option resolves a package_name that does not match an installed distribution as an import (top-level module) name via {func}importlib.metadata.packages_distributions. Packages whose top-level module name differs from their distribution name (PIL vs Pillow, jwt vs PyJWT) no longer raise RuntimeError out of the box. #2331 #1884 #3125 #3582
Changelog

Sourced from click's changelog.

Version 8.4.2

Released 2026-06-24

  • Fix Fish shell completion broken in 8.4.0 by {pr}3126. Newlines and tabs in option help text are now escaped, keeping the original completion format while still supporting multi-line help. {issue}3502 {issue}3043 {pr}3504 {pr}3508
  • Deprecated commands and options with empty or missing help text no longer render a stray leading space before the (DEPRECATED) label. {pr}3509
  • A {class}Group with invoke_without_command=True marks its subcommand as optional in the usage help, showing [COMMAND] instead of COMMAND. {issue}3059 {pr}3507
  • echo_via_pager flushes after each write, so passing a generator streams output to the pager incrementally instead of staying hidden until the pipe buffer fills. {issue}3242 {issue}2542 {pr}3534
  • echo_via_pager and get_pager_file no longer close a borrowed stdout stream when no external pager runs, completing the partial I/O operation on closed file fix from {pr}3482. {issue}3449 {pr}3533
  • Fix CLI usage symopsis for optional arguments producing double square brackets [[a|b|c]]... whose type already brackets their metavar. {pr}3578
  • {func}version_option resolves a package_name that does not match an installed distribution as an import (top-level module) name via {func}importlib.metadata.packages_distributions. Packages whose top-level module name differs from their distribution name (PIL vs Pillow, jwt vs PyJWT) no longer raise RuntimeError out of the box. {issue}2331 {issue}1884 {issue}3125 {pr}3582
Commits
  • b2e30a1 Release version 8.4.2
  • 7a16b20 Fix package_name resolution when module differs from distribution name (#3582)
  • bec5928 Fix package_name resolution when top-level module differs from distribution...
  • 916883a Fix tests to not rely on -Wdefault option (#3591)
  • 09195f6 Fix double-bracketing of choices in synopsis (#3578)
  • 1557e26 Check for warning exception with idiomatic context manager
  • d9ff133 Static typing improvements in click.shell_completion (#3460)
  • 762c97e Fix double-bracketing of choices in synopsis
  • 8929d39 Convert changes to markdown. (#3559)
  • 237be50 Move changes headings down a level.
  • Additional commits viewable in compare view

Updates django from 5.2.15 to 5.2.16

Commits

Updates wcwidth from 0.8.1 to 0.8.2

Release notes

Sourced from wcwidth's releases.

0.8.2: bugfix: IndexError when 'n' exceeds length

Full Changelog: jquast/wcwidth@0.8.1...0.8.2

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

…y with 4 updates

Bumps the pip-backend-patch-minor group with 4 updates in the /backend directory: [asgiref](https://github.com/django/asgiref), [click](https://github.com/pallets/click), [django](https://github.com/django/django) and [wcwidth](https://github.com/jquast/wcwidth).


Updates `asgiref` from 3.11.1 to 3.12.1
- [Changelog](https://github.com/django/asgiref/blob/main/CHANGELOG.txt)
- [Commits](django/asgiref@3.11.1...3.12.1)

Updates `click` from 8.4.1 to 8.4.2
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.md)
- [Commits](pallets/click@8.4.1...8.4.2)

Updates `django` from 5.2.15 to 5.2.16
- [Commits](django/django@5.2.15...5.2.16)

Updates `wcwidth` from 0.8.1 to 0.8.2
- [Release notes](https://github.com/jquast/wcwidth/releases)
- [Commits](jquast/wcwidth@0.8.1...0.8.2)

---
updated-dependencies:
- dependency-name: asgiref
  dependency-version: 3.12.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: pip-backend-patch-minor
- dependency-name: click
  dependency-version: 8.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: pip-backend-patch-minor
- dependency-name: django
  dependency-version: 5.2.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: pip-backend-patch-minor
- dependency-name: wcwidth
  dependency-version: 0.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: pip-backend-patch-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: area:ci, type:chore. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jul 20, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@Prekzursil

Copy link
Copy Markdown
Owner

PR-specific note (#99). This is the only Python PR of the four (asgiref 3.11.1->3.12.1, click 8.4.1->8.4.2, Django 5.2.15->5.2.16, wcwidth 0.8.1->0.8.2 in backend/requirements.txt) and overlaps none of the npm PRs. Its verify failure is Blocker 2 verbatim and is NOT caused by this PR — it touches no JS manifest at all.


Diagnosis: left OPEN. This PR is unique and still wanted, but it is blocked by two repo-level defects on main, neither of which this PR causes or can fix.

Blocker 1 — the required quality / quality check cannot pass for any PR.
It fails at step 20, gate-deps osv-scanner. osv-scanner exits 1 on ANY finding,
so the gate is all-or-nothing. Measured locally against a clean clone of main
(osv-scanner 2.3.8, the same version CI pins):

Total 17 packages affected by 25 known vulnerabilities
  (1 Critical, 14 High, 9 Medium, 1 Low) from 2 ecosystems

That set is NOT closable by bounded-floor bumps, so it is an owner call:

  • react-router / react-router-dom 6.30.4 — GHSA-jjmj-jmhj-qwj2 has no
    patched 6.x at all
    . The advisory records introduced 6.30.2 / last_affected 6.30.4 for react-router-dom, and the fix lands only in
    react-router 7.13.0. Clearing it therefore requires a react-router v6 -> v7
    major migration
    , which is a runtime-dependency change with real app impact,
    not a dependency-hygiene bump.
  • svgo 1.3.2 -> 2.8.3 and brace-expansion -> 5.0.8 are also cross-major.
    Note that forcing brace-expansion 5.x is NOT safe here on its own: 5.x
    exports { EXPANSION_MAX, EXPANSION_MAX_LENGTH, expand } with no callable
    module and no default export, while minimatch 3.x/9.x call the module
    directly — measured TypeError: expand is not a function. The consumer has to
    move up (glob/minimatch), not the dependency down.

Blocker 2 — npm ci is broken on main, so verify fails independently.
Reproduced locally on a clean clone of main with no PR applied:

npm error code EUSAGE
npm error Invalid: lock file's ws@7.5.11 does not satisfy ws@7.5.13
npm error `npm ci` can only install packages when your package.json and
npm error package-lock.json ... are in sync.

frontend/webcoder_ui/package.json overrides ws to ^7.5.11; since the lock
was written, 7.5.13 published, so the resolved ideal tree wants 7.5.13 while the
lock still pins 7.5.11. This is a pre-existing main defect (a caret override
drifting), not anything this PR did, and it blocks verify on every PR in the
repo. Fix is a lockfile refresh (npm install in frontend/webcoder_ui)
committed to main.

Note main's last recorded green quality run is 477b7ae from 2026-06-27, which
predates all 25 of these advisories — so main is stale-green, not actually green.

No action taken on this PR beyond this comment: it carries a real, unique change
and should survive.

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

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant