Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 26, 2026

Bumps the dependencies group with 8 updates:

Package From To
types-python-dateutil 2.9.0.20251115 2.9.0.20260124
gunicorn 23.0.0 24.1.1
mesh-client 4.0.1 5.0.1
pytest 8.4.2 9.0.2
pytest-asyncio 1.2.0 0.23.3
black 25.12.0 26.1.0
packaging 25.0 26.0
starlette 0.50.0 0.52.1

Updates types-python-dateutil from 2.9.0.20251115 to 2.9.0.20260124

Commits

Updates gunicorn from 23.0.0 to 24.1.1

Release notes

Sourced from gunicorn's releases.

24.1.1

Bug Fixes

  • Fix forwarded_allow_ips and proxy_allow_ips to remain as strings for backward compatibility with external tools like uvicorn. Network validation now uses strict mode to detect invalid CIDR notation (e.g., 192.168.1.1/24 where host bits are set) (#3458, [PR #3459](benoitc/gunicorn#3459))

Full Changelog: benoitc/gunicorn@24.1.0...24.1.1

Gunicorn 24.1.0

New Features

  • Official Docker Image: Gunicorn now publishes official Docker images to GitHub Container Registry ([PR #3454](benoitc/gunicorn#3454))

    • Available at ghcr.io/benoitc/gunicorn
    • Based on Python 3.12 slim image
    • Uses recommended worker formula (2 × CPU + 1)
    • Configurable via environment variables
  • PROXY Protocol v2 Support: Extended PROXY protocol implementation to support the binary v2 format in addition to the existing text-based v1 format ([PR #3451](benoitc/gunicorn#3451))

    • New --proxy-protocol modes: off, v1, v2, auto
    • auto mode (default when enabled) detects v1 or v2 automatically
    • v2 binary format is more efficient and supports additional metadata
    • Works with HAProxy, AWS NLB/ALB, and other PROXY protocol v2 sources
  • CIDR Network Support: --forwarded-allow-ips and --proxy-allow-from now accept CIDR notation (e.g., 192.168.0.0/16) for specifying trusted networks ([PR #3449](benoitc/gunicorn#3449))

  • Socket Backlog Metric: New gunicorn.socket.backlog gauge metric reports the current socket backlog size on Linux systems ([PR #3450](benoitc/gunicorn#3450))

  • InotifyReloader Enhancement: The inotify-based reloader now watches newly imported modules, not just those loaded at startup ([PR #3447](benoitc/gunicorn#3447))

Bug Fixes

Installation

pip install gunicorn==24.1.0
</tr></table> 

... (truncated)

Commits
  • 375e79e release: bump version to 24.1.1
  • ad0c12d docs: add sponsors section to README
  • 70200ee chore: add GitHub Sponsors funding configuration
  • 6841804 docs: remove incorrect PR reference from Docker changelog entry
  • abce0ca docs: add 24.1.1 changelog entry for forwarded_allow_ips fix
  • e9a3f30 fix: keep forwarded_allow_ips as strings for backward compatibility (#3459)
  • d73ff4b docs: update main changelog with 24.1.0
  • 53f2c31 ci: allow docs deploy on workflow_dispatch
  • eab5f0b ci: trigger Docker publish on tags with or without v prefix
  • a20d3fb docs: add Docker image to 24.1.0 changelog
  • Additional commits viewable in compare view

Updates mesh-client from 4.0.1 to 5.0.1

Commits
  • 2167ad5 Merge pull request #132 from NHSDigital/develop
  • 23e1730 Merge pull request #131 from NHSDigital/mesh-2771-dependabot
  • c8a10ff mesh-2771: adding python 3.14 support
  • b7a8047 mesh-2771:ruff fixes
  • 734d904 mesh-2771: removing support for python 3.9
  • 0393e72 mesh-2771: dependabot updates, but while still supporting python 3.9
  • a031c93 Merge pull request #122 from NHSDigital/mesh-2092-dependabot-combined
  • 79b8d2f mesh-2092: fix gitallowed
  • da2a74c mesh-2092: add no redirects
  • ceff126 Merge branch 'dependabot/github_actions/mikepenz/action-junit-report-6.0.1' o...
  • Additional commits viewable in compare view

Updates pytest from 8.4.2 to 9.0.2

Release notes

Sourced from pytest's releases.

9.0.2

pytest 9.0.2 (2025-12-06)

Bug fixes

  • #13896: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.

    You may enable it again by passing -p terminalprogress. We may enable it by default again once compatibility improves in the future.

    Additionally, when the environment variable TERM is dumb, the escape codes are no longer emitted, even if the plugin is enabled.

  • #13904: Fixed the TOML type of the tmp_path_retention_count settings in the API reference from number to string.

  • #13946: The private config.inicfg attribute was changed in a breaking manner in pytest 9.0.0. Due to its usage in the ecosystem, it is now restored to working order using a compatibility shim. It will be deprecated in pytest 9.1 and removed in pytest 10.

  • #13965: Fixed quadratic-time behavior when handling unittest subtests in Python 3.10.

Improved documentation

  • #4492: The API Reference now contains cross-reference-able documentation of pytest's command-line flags <command-line-flags>.

9.0.1

pytest 9.0.1 (2025-11-12)

Bug fixes

  • #13895: Restore support for skipping tests via raise unittest.SkipTest.
  • #13896: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.
  • #13904: Fixed the TOML type of the verbosity settings in the API reference from number to string.
  • #13910: Fixed UserWarning: Do not expect file_or_dir on some earlier Python 3.12 and 3.13 point versions.

Packaging updates and notes for downstreams

  • #13933: The tox configuration has been adjusted to make sure the desired version string can be passed into its package_env through the SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST environment variable as a part of the release process -- by webknjaz.

Contributor-facing changes

  • #13891, #13942: The CI/CD part of the release automation is now capable of creating GitHub Releases without having a Git checkout on disk -- by bluetech and webknjaz.
  • #13933: The tox configuration has been adjusted to make sure the desired version string can be passed into its package_env through the SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST environment variable as a part of the release process -- by webknjaz.

... (truncated)

Commits
  • 3d10b51 Prepare release version 9.0.2
  • 188750b Merge pull request #14030 from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...
  • b7d7bef Merge pull request #14014 from bluetech/compat-note
  • bd08e85 Merge pull request #14013 from pytest-dev/patchback/backports/9.0.x/922b60377...
  • bc78386 Add CLI options reference documentation (#13930)
  • 5a4e398 Fix docs typo (#14005) (#14008)
  • d7ae6df Merge pull request #14006 from pytest-dev/maintenance/update-plugin-list-tmpl...
  • 556f6a2 pre-commit: fix rst-lint after new release (#13999) (#14001)
  • c60fbe6 Fix quadratic-time behavior when handling unittest subtests in Python 3.10 ...
  • 73d9b01 Merge pull request #13995 from nicoddemus/patchback/backports/9.0.x/1b5200c0f...
  • Additional commits viewable in compare view

Updates pytest-asyncio from 1.2.0 to 0.23.3

Commits
  • 260b791 [docs] Prepare release of v0.23.3.
  • 6a253e2 [docs] Shorten changelog by combining multiple issues.
  • e2cbb90 [docs] Mention correct issue in changelog.
  • 0c522bf [fix] Fixes a bug that caused an internal pytest error when using ImportWarni...
  • 31c7e6f Build(deps): Bump coverage from 7.3.3 to 7.3.4 in /dependencies/default
  • 38d5c7e Build(deps): Bump sphinx-rtd-theme in /dependencies/docs
  • 650ec58 Build(deps): Bump babel from 2.13.1 to 2.14.0 in /dependencies/docs
  • 0166a7e Build(deps): Bump typing-extensions in /dependencies/default
  • 3a15f30 Build(deps): Bump coverage from 7.3.2 to 7.3.3 in /dependencies/default
  • 28e91f0 Build(deps): Bump hypothesis in /dependencies/default
  • Additional commits viewable in compare view

Updates black from 25.12.0 to 26.1.0

Release notes

Sourced from black's releases.

26.1.0

Highlights

Introduces the 2026 stable style (#4892), stabilizing the following changes:

  • always_one_newline_after_import: Always force one blank line after import statements, except when the line after the import is a comment or an import statement (#4489)
  • fix_fmt_skip_in_one_liners: Fix # fmt: skip behavior on one-liner declarations, such as def foo(): return "mock" # fmt: skip, where previously the declaration would have been incorrectly collapsed (#4800)
  • fix_module_docstring_detection: Fix module docstrings being treated as normal strings if preceded by comments (#4764)
  • fix_type_expansion_split: Fix type expansions split in generic functions (#4777)
  • multiline_string_handling: Make expressions involving multiline strings more compact (#1879)
  • normalize_cr_newlines: Add \r style newlines to the potential newlines to normalize file newlines both from and to (#4710)
  • remove_parens_around_except_types: Remove parentheses around multiple exception types in except and except* without as (#4720)
  • remove_parens_from_assignment_lhs: Remove unnecessary parentheses from the left-hand side of assignments while preserving magic trailing commas and intentional multiline formatting (#4865)
  • standardize_type_comments: Format type comments which have zero or more spaces between # and type: or between type: and value to # type: (value) (#4645)

The following change was not in any previous stable release:

  • Regenerated the _width_table.py and added tests for the Khmer language (#4253)

This release alo bumps pathspec to v1 and fixes inconsistencies with Git's .gitignore logic (#4958). Now, files will be ignored if a pattern matches them, even if the parent directory is directly unignored. For example, Black would previously format exclude/not_this/foo.py with this .gitignore:

exclude/
!exclude/not_this/

Now, exclude/not_this/foo.py will remain ignored. To ensure exclude/not_this/ and all of it's children are included in formatting (and in Git), use this .gitignore:

*/exclude/*
!*/exclude/not_this/

This new behavior matches Git. The leading */ are only necessary if you wish to ignore matching subdirectories (like the previous behavior did), and not just matching root

... (truncated)

Changelog

Sourced from black's changelog.

26.1.0

Highlights

Introduces the 2026 stable style (#4892), stabilizing the following changes:

  • always_one_newline_after_import: Always force one blank line after import statements, except when the line after the import is a comment or an import statement (#4489)
  • fix_fmt_skip_in_one_liners: Fix # fmt: skip behavior on one-liner declarations, such as def foo(): return "mock" # fmt: skip, where previously the declaration would have been incorrectly collapsed (#4800)
  • fix_module_docstring_detection: Fix module docstrings being treated as normal strings if preceded by comments (#4764)
  • fix_type_expansion_split: Fix type expansions split in generic functions (#4777)
  • multiline_string_handling: Make expressions involving multiline strings more compact (#1879)
  • normalize_cr_newlines: Add \r style newlines to the potential newlines to normalize file newlines both from and to (#4710)
  • remove_parens_around_except_types: Remove parentheses around multiple exception types in except and except* without as (#4720)
  • remove_parens_from_assignment_lhs: Remove unnecessary parentheses from the left-hand side of assignments while preserving magic trailing commas and intentional multiline formatting (#4865)
  • standardize_type_comments: Format type comments which have zero or more spaces between # and type: or between type: and value to # type: (value) (#4645)

The following change was not in any previous stable release:

  • Regenerated the _width_table.py and added tests for the Khmer language (#4253)

This release alo bumps pathspec to v1 and fixes inconsistencies with Git's .gitignore logic (#4958). Now, files will be ignored if a pattern matches them, even if the parent directory is directly unignored. For example, Black would previously format exclude/not_this/foo.py with this .gitignore:

exclude/
!exclude/not_this/

Now, exclude/not_this/foo.py will remain ignored. To ensure exclude/not_this/ and all of it's children are included in formatting (and in Git), use this .gitignore:

*/exclude/*
!*/exclude/not_this/

This new behavior matches Git. The leading */ are only necessary if you wish to ignore

... (truncated)

Commits

Updates packaging from 25.0 to 26.0

Release notes

Sourced from packaging's releases.

26.0

Read about the performance improvements here: https://iscinumpy.dev/post/packaging-faster.

What's Changed

Features:

Behavior adaptations:

Fixes:

Performance:

... (truncated)

Changelog

Sourced from packaging's changelog.

26.0 - 2026-01-20


Features:
  • PEP 751: support pylock (:pull:900)
  • PEP 794: import name metadata (:pull:948)
  • Support for writing metadata to a file (:pull:846)
  • Support __replace__ on Version (:pull:1003)
  • Support positional pattern matching for Version and SpecifierSet (:pull:1004)

Behavior adaptations:

  • PEP 440 handling of prereleases for Specifier.contains, SpecifierSet.contains, and SpecifierSet.filter (:pull:897)
  • Handle PEP 440 edge case in SpecifierSet.filter (:pull:942)
  • Adjust arbitrary equality intersection preservation in SpecifierSet (:pull:951)
  • Return False instead of raising for .contains with invalid version (:pull:932)
  • Support arbitrary equality on arbitrary strings for Specifier and SpecifierSet's filter and contains method. (:pull:954)
  • Only try to parse as Version on certain marker keys, return False on unequal ordered comparisons (:pull:939)

Fixes:

  • Update _hash when unpickling Tag() (:pull:860)
  • Correct comment and simplify implicit prerelease handling in Specifier.prereleases (:pull:896)
  • Use explicit _GLibCVersion NamedTuple in _manylinux (:pull:868)
  • Detect invalid license expressions containing () (:pull:879)
  • Correct regex for metadata 'name' format (:pull:925)
  • Improve the message around expecting a semicolon (:pull:833)
  • Support nested parens in license expressions (:pull:931)
  • Add space before at symbol in Requirements string (:pull:953)
  • A root logger use found, use a packaging logger instead (:pull:965)
  • Better support for subclassing Marker and Requirement (:pull:1022)
  • Normalize all extras, not just if it comes first (:pull:1024)
  • Don't produce a broken repr if Marker fails to construct (:pull:1033)

Performance:

  • Avoid recompiling regexes in the tokenizer for a 3x speedup (:pull:1019)
  • Improve performance in _manylinux.py (:pull:869)
  • Minor cleanups to Version (:pull:913)
  • Skip redundant creation of Version's in specifier comparison (:pull:986)
  • Cache the Specifier's Version (:pull:985)
  • Make Version a little faster (:pull:987)
  • Minor Version regex cleanup (:pull:990)
  • Faster regex on Python 3.11.5+ for Version (:pull:988, :pull:1055)
  • Lazily calculate _key in Version (:pull:989, :pull:1048)
  • Faster canonicalize_version (:pull:993)
  • Use re.fullmatch in a couple more places (:pull:992, :pull:1029)
  • Use map instead of generator (:pull:996)
  • Deprecate ._version (_Version, a NamedTuple) (:pull:995, :pull:1062)
    </tr></table>

... (truncated)

Commits

Updates starlette from 0.50.0 to 0.52.1

Release notes

Sourced from starlette's releases.

Version 0.52.1

What's Changed


Full Changelog: Kludex/starlette@0.52.0...0.52.1

Version 0.52.0

In this release, State can be accessed using dictionary-style syntax for improved type safety (#3036).

from collections.abc import AsyncIterator
from contextlib import asynccontextmanager
from typing import TypedDict
import httpx
from starlette.applications import Starlette
from starlette.requests import Request
class State(TypedDict):
http_client: httpx.AsyncClient
@​asynccontextmanager
async def lifespan(app: Starlette) -> AsyncIterator[State]:
async with httpx.AsyncClient() as client:
yield {"http_client": client}
async def homepage(request: Request[State]):
client = request.state["http_client"]
# If you run the below line with mypy or pyright, it will reveal the correct type.
reveal_type(client)  # Revealed type is 'httpx.AsyncClient'

See Accessing State for more details.


Full Changelog: Kludex/starlette@0.51.0...0.52.0

Version 0.51.0

Added

  • Add allow_private_network in CORSMiddleware #3065.

Changed

... (truncated)

Changelog

Sourced from starlette's changelog.

0.52.1 (January 18, 2026)

Fixed

  • Only use typing_extensions in older Python versions #3109.

0.52.0 (January 18, 2026)

In this release, State can be accessed using dictionary-style syntax for improved type safety (#3036).

from collections.abc import AsyncIterator
from contextlib import asynccontextmanager
from typing import TypedDict
import httpx
from starlette.applications import Starlette
from starlette.requests import Request
class State(TypedDict):
http_client: httpx.AsyncClient
@​asynccontextmanager
async def lifespan(app: Starlette) -> AsyncIterator[State]:
async with httpx.AsyncClient() as client:
yield {"http_client": client}
async def homepage(request: Request[State]):
client = request.state["http_client"]
# If you run the below line with mypy or pyright, it will reveal the correct type.
reveal_type(client)  # Revealed type is 'httpx.AsyncClient'

See Accessing State for more details.

0.51.0 (January 10, 2026)

Added

  • Add allow_private_network in CORSMiddleware #3065.

Changed

  • Increase warning stacklevel on DeprecationWarning for wsgi module #3082.
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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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

Bumps the dependencies group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader) | `2.9.0.20251115` | `2.9.0.20260124` |
| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `24.1.1` |
| [mesh-client](https://github.com/NHSDigital/mesh-client) | `4.0.1` | `5.0.1` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.2.0` | `0.23.3` |
| [black](https://github.com/psf/black) | `25.12.0` | `26.1.0` |
| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |
| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |


Updates `types-python-dateutil` from 2.9.0.20251115 to 2.9.0.20260124
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

Updates `gunicorn` from 23.0.0 to 24.1.1
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](benoitc/gunicorn@23.0.0...24.1.1)

Updates `mesh-client` from 4.0.1 to 5.0.1
- [Release notes](https://github.com/NHSDigital/mesh-client/releases)
- [Commits](NHSDigital/mesh-client@4.0.1...5.0.1)

Updates `pytest` from 8.4.2 to 9.0.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.4.2...9.0.2)

Updates `pytest-asyncio` from 1.2.0 to 0.23.3
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](pytest-dev/pytest-asyncio@v1.2.0...v0.23.3)

Updates `black` from 25.12.0 to 26.1.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@25.12.0...26.1.0)

Updates `packaging` from 25.0 to 26.0
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](pypa/packaging@25.0...26.0)

Updates `starlette` from 0.50.0 to 0.52.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](Kludex/starlette@0.50.0...0.52.1)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-version: 2.9.0.20260124
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: gunicorn
  dependency-version: 24.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: mesh-client
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: pytest
  dependency-version: 9.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: pytest-asyncio
  dependency-version: 0.23.3
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: black
  dependency-version: 26.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: packaging
  dependency-version: '26.0'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: starlette
  dependency-version: 0.52.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jan 26, 2026
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Jan 28, 2026

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot bot closed this Jan 28, 2026
@dependabot dependabot bot deleted the dependabot/pip/dependencies-1223eef67f branch January 28, 2026 03:36
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 python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants