Skip to content

fix(deps): update dependency django-filter to v25#3445

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/django-filter-25.x
Open

fix(deps): update dependency django-filter to v25#3445
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/django-filter-25.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Apr 9, 2025

This PR contains the following updates:

Package Change Age Confidence
django-filter (changelog) >=23.4,<24>=25.2,<26 age confidence

Release Notes

carltongibson/django-filter (django-filter)

v25.2

Compare Source

  • Added testing for Django 6.0.

  • Dropped support for Django <5.2 LTS

  • Dropped support for Python 3.9.

v25.1

Compare Source

  • Removed the in-built API schema generation methods, which have been
    deprecated since v23.2.

    You should use drf-spectacular <https://drf-spectacular.readthedocs.io/en/latest/>_
    for generating OpenAPI schemas with DRF.

  • Dropped support for EOL Python 3.8.

  • Added testing against Python 3.13.

  • Added official support for Django 5.2.

v24.3

Compare Source

  • Adds official support for Django 5.1.

  • Allow using dictionaries for grouped choices on Django 5.0+.

    Thanks to Sævar Öfjörð Magnússon.

  • Adds unknown_field_behavior FilterSet option to allowing warning and
    ignore behaviours for unknown field types during FilterSet generation.

    Thanks to Loes.

v24.2

Compare Source

  • Fixed a regression in v23.4 where callable choices were incorrectly evaluated
    at filter instantiation, on Django versions prior to 5.0.

    Thanks to Craig de Stigter for the report and reproduce.

v24.1

Compare Source

  • Updated supported Python and Django versions, and resolved upcoming Django
    deprecations.

    Required versions are now at least Python 3.8 and Django 4.2.

    Thanks to Michael Manganiello.

  • Allowed passing a FilterSet class to the filterset_factory().

    Thanks to Birger Schacht.

  • Set empty default value of filterset data to MultiValueDict.

    Thanks to Shlomo Gordon.

  • Preserve list values passed to the data dict in CSV widgets.

    Thanks to Bryan Brancotte.

  • Updates French and Ukrainian localisations.

    Thanks to Weblate.


Configuration

📅 Schedule: Branch creation - "every weekend" in timezone US/Eastern, Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR is behind base branch, 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
Copy link
Contributor Author

renovate bot commented Apr 9, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: uv.lock
Command failed: uv lock --upgrade-package django-filter
Using CPython 3.13.12
  × No solution found when resolving dependencies:
  ╰─▶ Because wagtail==5.2.8 depends on django-filter>=23.3,<24 and your
      project depends on django-filter>=25.2,<26, we can conclude that your
      project and wagtail==5.2.8 are incompatible.
      And because your project depends on wagtail==5.2.8, we can conclude that
      your project's requirements are unsatisfiable.

@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 9, 2025 08:10 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 95f0bec to 0525893 Compare April 9, 2025 08:43
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 9, 2025 08:43 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 0525893 to 53830b9 Compare April 9, 2025 13:09
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 9, 2025 13:09 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 53830b9 to f435124 Compare April 9, 2025 17:48
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 9, 2025 17:48 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from f435124 to 0db6258 Compare April 9, 2025 20:59
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 9, 2025 20:59 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 0db6258 to d56276d Compare April 10, 2025 01:07
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 10, 2025 01:07 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from d56276d to ba145ba Compare April 10, 2025 04:46
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 10, 2025 04:47 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from ba145ba to a6279fa Compare April 10, 2025 08:48
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 10, 2025 08:49 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from a6279fa to 7be2de0 Compare April 10, 2025 09:35
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 10, 2025 09:36 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 7be2de0 to a76bab1 Compare April 10, 2025 12:17
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 10, 2025 12:18 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from a76bab1 to cf62ce6 Compare April 10, 2025 14:35
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 10, 2025 14:35 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from cf62ce6 to 8808841 Compare April 11, 2025 09:39
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 11, 2025 09:39 Inactive
@asajjad2 asajjad2 self-assigned this Apr 11, 2025
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 8808841 to 50a732a Compare April 14, 2025 06:20
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 14, 2025 06:20 Inactive
@asajjad2
Copy link
Contributor

we would need to upgrade wagtail to minimum wagtail 6.3 to resolve this

@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 50a732a to ea538ef Compare April 14, 2025 13:39
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 14, 2025 13:39 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 4700f3a to e674d30 Compare April 24, 2025 13:17
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 24, 2025 13:17 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from e674d30 to 17a6a7b Compare April 25, 2025 07:31
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 25, 2025 07:31 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 17a6a7b to 7e45c69 Compare April 28, 2025 15:37
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 28, 2025 15:38 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 7e45c69 to 3f8c93b Compare April 30, 2025 15:36
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 April 30, 2025 15:37 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 3f8c93b to 222608e Compare May 5, 2025 12:11
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 5, 2025 12:11 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 222608e to 9570e4e Compare May 7, 2025 15:16
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 7, 2025 15:16 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 9570e4e to ca6b828 Compare May 7, 2025 18:42
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 7, 2025 18:42 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from ca6b828 to 268f312 Compare May 7, 2025 21:47
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 7, 2025 21:48 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 268f312 to 9d0fdf1 Compare May 8, 2025 07:49
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 8, 2025 07:49 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 9d0fdf1 to e3d5932 Compare May 8, 2025 08:05
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 8, 2025 08:05 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from e3d5932 to 3e4dce3 Compare May 8, 2025 15:20
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 8, 2025 15:20 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from 3e4dce3 to b2c5d19 Compare May 8, 2025 21:34
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 8, 2025 21:35 Inactive
@renovate renovate bot force-pushed the renovate/django-filter-25.x branch from b2c5d19 to 6208738 Compare May 12, 2025 14:30
@odlbot odlbot temporarily deployed to xpro-ci-pr-3445 May 12, 2025 14:30 Inactive
pyproject.toml Outdated
django = "4.2.28"
django-anymail = { version = "13.1", extras = ["mailgun"] }
django-filter = "^23.4"
django-filter = "^25.2"
Copy link

Choose a reason for hiding this comment

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

Bug: The update to django-filter v25.2 is incompatible with the project's Django v4.2.28, as the new library version only supports Django 5.2 and later.
Severity: MEDIUM

Suggested Fix

To resolve the incompatibility, either downgrade django-filter to a version compatible with Django 4.2 (e.g., ^24.2), or upgrade the project's Django version to 5.2 or newer before updating django-filter.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pyproject.toml#L24

Potential issue: The `pyproject.toml` file is being updated to use `django-filter`
version `25.2`. According to the library's release notes, this version officially drops
support for Django versions lower than 5.2. The project is currently using Django
`4.2.28`. While the immediate runtime impact is not certain, using a library version
that is explicitly not supported by the project's framework version introduces a
significant risk of unexpected failures, subtle bugs, or breakage in future patch
releases of the dependency. This creates an unsupported and unstable configuration.

Did we get this right? 👍 / 👎 to inform future reviews.

"django==4.2.29",
"django-anymail[mailgun]==13.1",
"django-filter>=23.4,<24",
"django-filter>=25.2,<26",
Copy link

Choose a reason for hiding this comment

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

Bug: The pyproject.toml file updates django-filter to a new version, but the uv.lock file was not regenerated and still points to the old, incompatible version.
Severity: HIGH

Suggested Fix

The dependency upgrade to django-filter 25.2 cannot be completed as-is due to its incompatibility with Django 4.2.29. The change to pyproject.toml should be reverted. If an upgrade is necessary, a version of django-filter compatible with Django 4.2 should be chosen, and both pyproject.toml and uv.lock must be updated accordingly.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pyproject.toml#L24

Potential issue: The `pyproject.toml` file was updated to require
`django-filter>=25.2,<26`, but the `uv.lock` file was not regenerated. The lock file
still specifies an older version range (`>=23.4,<24`) and resolves to `django-filter
23.5`. This means the intended dependency upgrade has not been applied, and developers
will continue to install the old version. Furthermore, attempting to regenerate the lock
file will cause a failure because `django-filter 25.2` is incompatible with the
project's Django version (`4.2.29`), as it requires Django `5.2` or newer.

"django==4.2.29",
"django-anymail[mailgun]==13.1",
"django-filter>=23.4,<24",
"django-filter>=25.2,<26",
Copy link

Choose a reason for hiding this comment

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

Bug: The pyproject.toml dependency change for django-filter is not reflected in the uv.lock file, causing a version mismatch that will either prevent the upgrade or break future builds.
Severity: HIGH

Suggested Fix

Regenerate the uv.lock file by running the appropriate lock command (e.g., uv lock) and commit the updated file. This will synchronize the lock file with the dependency specifications in pyproject.toml.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pyproject.toml#L24

Potential issue: The `django-filter` dependency was updated in `pyproject.toml` to
version `>=25.2,<26`, but the `uv.lock` file was not regenerated. Consequently,
deployments using the lock file will continue to install the old version,
`django-filter==23.5`, rendering the upgrade ineffective. If the lock file is
regenerated later, the process will fail because `django-filter>=25.2` requires
`Django>=5.2`, while the project uses `django==4.2.29`. This incompatibility will break
the build for anyone attempting to update dependencies.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants