Skip to content

Update dependency django-urlconfchecks to v0.17.0 - #87

Open
renovate[bot] wants to merge 1 commit into
devfrom
renovate/django-urlconfchecks-0.x
Open

renovate[bot] wants to merge 1 commit into
devfrom
renovate/django-urlconfchecks-0.x

Conversation

@renovate

@renovate renovate Bot commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
django-urlconfchecks ==0.11.0 → ==0.17.0 age confidence

Release Notes

AliSayyah/django-urlconfchecks (django-urlconfchecks)

v0.17.0

Compare Source

Added
  • Maintained differential, robustness, and stress fuzzing tools in tests/fuzz, with a weekly workflow and a tox -e fuzz entry point.
  • urlchecker.E008 when a parameter would receive both a positional value from the URL pattern (an unnamed re_path() group) and a keyword argument (a parent capture or extra kwarg) — Django raises "got multiple values for argument".
Fixed
  • urlchecker.W004 is no longer reported for an optional regex group whose name a parent include() kwarg also supplies: when the group doesn't match, Django passes the include's value.

v0.16.0

Compare Source

Added
  • urlchecker.W005 when a view's signature can't be inspected; the check no longer crashes on such callbacks.
Changed
  • urlchecker.W001 (view takes *args/**kwargs) is reported once per view instead of once per route, with the number of routes using it, and a hint to use functools.wraps in decorators or silence third-party wrappers. On real projects this cut W001 from 321 to 14 warnings (pretix), 243 to 7 (django-allauth) and 103 to 8 (wagtail bakerydemo).
Fixed

Found by differential fuzzing against Django's resolver and by running the checker on large open-source projects:

  • The check could crash on callbacks with a broken __signature__, __module__ or __qualname__, and on converters whose to_python isn't a callable.
  • URL keyword arguments are no longer matched to positional-only parameters (def view(request, pk, /)), which Django can't fill by keyword.
  • request must be receivable positionally: def view(*, request) and def view(**kwargs) now get E001.
  • A first parameter not named request (def view(req, **kwargs)) was reported as missing a value (E004), and positional regex values were mapped onto it.
  • Class-based views: an overridden setup() is checked like dispatch(); staticmethod/classmethod handlers are checked instead of skipped; callable objects used as handlers keep their first parameter.
  • Literal, NewType and TypeVar annotations are compared by their underlying types instead of always mismatching.
  • Named groups inside a negative lookahead/lookbehind are not treated as captured.
  • The CLI now runs manage.py the way python manage.py does when looking for the settings module. Projects whose manage.py sets DJANGO_SETTINGS_MODULE only under if __name__ == "__main__": without a main() function (healthchecks, netbox, paperless-ngx and many others) failed with ImproperlyConfigured.
  • When the settings module can't be found, the CLI prints a short message suggesting DJANGO_SETTINGS_MODULE or --urlconf instead of a traceback.

v0.15.0

Compare Source

Added
  • Class-based views are checked: each Django/DRF handler (get, post, …, an overridden dispatch, an explicit head) and DRF ViewSet action is checked against the URL's arguments, including handlers inherited from user mixins. Silence them as module.View.get, module.View.* or module.View.
  • re_path() views are checked: named groups as str keyword arguments, unnamed groups as positional arguments.
  • urlchecker.E007 for URLs that pass more positional arguments than the view accepts, and urlchecker.W004 for parameters fed by an optional regex group without a default.
  • VS Code usage documentation, including a ready-to-copy task (#​186).
Changed
  • Views with *args or **kwargs still have their named parameters checked (types, and required parameters without a URL source); this can report additional true positives alongside W001.
  • urlchecker.W001 is no longer emitted for class-based view handlers, where *args/**kwargs are idiomatic.
  • Replaced bump2version with bump-my-version in the development tooling.
Fixed
  • CLI flags (--format, --quiet, …) silently failed with exit code 1 in projects detected via manage.py, because they were passed on to Django's own command line.
  • --urlconf could not import modules from the current directory when run via the installed urlconfchecks command.
  • include() extra kwargs are passed to child views, and named groups captured by a regex parent reach path() children (both were false E004 errors).
  • A path() default that overrides a captured value is checked as that default only (previously a false E006).
  • W002 is emitted at most once per untyped converter class.

v0.14.0

Compare Source

Added
  • Support for Django 6.1 and Python 3.15.
  • Weekly CI job testing against Django's development branch.
Changed
  • Removed upper bounds on Python, Django and typer so new releases install without waiting for a package update.
  • Supported Python versions now follow the Python release cycle; versions are dropped at end-of-life.
  • Bumped development and test dependencies to their latest versions.
Removed
  • Python 3.10 support (end-of-life since 2026-10-01), and the tomli dependency it required.

v0.13.2

Compare Source

Changed
  • Updated the supported version matrix to Python 3.10-3.14 with Django 5.2 and 6.0.
Fixed
  • Resolved false URL signature type mismatches when views or custom converters use from __future__ import annotations.

v0.13.1

Compare Source

Fixed
  • Handle functools.partial callbacks in _make_callback_repr for Django Ninja or similar frameworks. thanks @​joseanoxp

v0.13.0

Compare Source

Added
  • Parameterized generics validation: lists, tuples (fixed/variadic), dicts, sets, and optional containers are now type-checked against URL converters and default kwargs.
  • Pyproject configuration: [tool.urlconfchecks] supports defaults for quiet, format, and silenced_views, with URLCONFCHECKS_PYPROJECT override; custom silencers merge with built-ins.
Fixed
  • Container type checking now reports mismatches instead of silently passing parameterized generics.

v0.12.0

Compare Source

Added
  • Added python 3.13 and 3.14 support.
  • CLI now supports --format json to emit structured results with per-type counts and totals.
  • CLI gains --quiet / -q to suppress normal output while preserving exit codes and summaries.
Changed
  • Dropped python 3.9 support
  • Project tooling now uses uv for syncing/building and Ruff for linting/formatting (pre-commit and CI).
  • Raised the minimum supported Django version to 4.2 (with targeted upper bounds per Python release).
  • Improved type compatibility checks for typing.Annotated, Optional, and Union, and cache URL converter lookups for faster runs.
Fixed
  • Custom boolean path converters are recognized and validated alongside the built-ins.

Configuration

📅 Schedule: (in timezone Etc/UTC)

  • Branch creation
    • At any time (no schedule defined)
  • 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.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


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

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

@renovate
renovate Bot force-pushed the renovate/django-urlconfchecks-0.x branch from 085b1e9 to 84c2450 Compare October 29, 2026 12:01
@renovate renovate Bot changed the title Update dependency django-urlconfchecks to v0.13.2 Update dependency django-urlconfchecks to v0.14.0 Oct 29, 2026
@renovate
renovate Bot force-pushed the renovate/django-urlconfchecks-0.x branch from 84c2450 to 73dd15e Compare October 29, 2026 16:59
@renovate renovate Bot changed the title Update dependency django-urlconfchecks to v0.14.0 Update dependency django-urlconfchecks to v0.16.0 Oct 29, 2026
@renovate
renovate Bot force-pushed the renovate/django-urlconfchecks-0.x branch from 73dd15e to 44c9525 Compare October 29, 2026 21:12
@renovate renovate Bot changed the title Update dependency django-urlconfchecks to v0.16.0 Update dependency django-urlconfchecks to v0.17.0 Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants