Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update django-filter to 24.3 #1422

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Aug 2, 2024

This PR updates django-filter from 1.1.0 to 24.3.

Changelog

24.3

-------------------------

* 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.

24.2

-------------------------

* 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.

24.1

-------------------------

* 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.

23.5

-------------------------

* Fixed OrderingFilter handling of empty values. (1628)

Thanks to Matt Munns.

23.4

-------------------------

* Official support for Django 5.0 and Python 3.12.

* Fix DeprecationWarning for pkgutil.find_loader.

Thanks to `wmorrell`.

* Adopted Furo theme for docs.

23.3

------------------------

* Adds initial compatibility with Django 5.0, prior to Django 5.0a1.

* Updates packaging to use pyproject.toml and Flit.

23.2

------------------------

* Deprecated the schema generation methods of the DRF related ``DjangoFilterBackend``.
These will be removed in version 25.1.

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

* In addition, stopped testing against the (very old now) ``coreapi`` schema generation.
These methods should continue to work if you're using them until v25.1, but
``coreapi`` is no longer maintained, and is raising warnings against the current
versions of Python. To workaround this is not worth the effort at this point.

* Updated Polish translations.

23.1

------------------------

* Declared support for Django 4.2.

* Various updated and new translations. Thanks to all who contributed, and
Weblate for hosting.

* Fixed QueryArrayWidget.value_from_datadict() to not mutate input data. (1540)

22.1

------------------------

* Update supported Python and Django versions: minimal Python is now 3.7,
minimum Django is now 3.2.

* Added testing for Python 3.10 and Django 4.1.

* Removed outdated deprecated warnings for code removed in version 2.1.

* Removed `filter_class` (use `filterset_class`) and `filter_fields`
(`filterset_fields`) that were deprecated in [version 2.0
(2018)](https://django-filter.readthedocs.io/en/main/guide/migration.html#view-attributes-renamed-867).

* The code base is now formatted with Black.

21.1

------------------------

This is a maintenance release updating CI testing for the latest
non-end-of-life versions of Python and Django, and updating package metadata
accordingly.

With this release ``django-filter`` is switching to a two-part CalVer
versioning scheme, such as ``21.1``. The first number is the year. The second
is the release number within that year.

On an on-going basis, Django-Filter aims to support all current Django
versions, the matching current Python versions, and the latest version of
Django REST Framework.

Please see:

* `Status of supported Python branches <https://devguide.python.org/#status-of-python-branches>`_
* `List of supported Django versions <https://www.djangoproject.com/download/#support-versions>`_

Support for Python and Django versions will be dropped when they reach
end-of-life. Support for Python versions will dropped when they reach
end-of-life, even when still supported by a current version of Django.

Other breaking changes are rare. Where required, every effort will be made to
apply a "Year plus two" deprecation period. For example, a change initially
introduced in ``23.x`` would offer a fallback where feasible and finally be
removed in ``25.1``. Where fallbacks are not feasible, breaking changes without
deprecation will be called out in the release notes.

Beyond that change, there are few changes. Some small bugfixes, improvements to
localisation, and documentation tweaks. Thanks to all who were involved.

2.4.0

--------------------------

* SECURITY: Added a ``MaxValueValidator`` to the form field for
``NumberFilter``. This prevents a potential DoS attack if numbers with very
large exponents were subsequently converted to integers.

The default limit value for the validator is ``1e50``.

The new ``NumberFilter.get_max_validator()`` allows customising the used
validator, and may return ``None`` to disable the validation entirely.

* Added testing against Django 3.1 and Python 3.9.

In addition tests against Django main development branch are now required to
pass.

2.3.0

------------------------

* Fixed import of FieldDoesNotExist. (1127)
* Added testing against Django 3.0. (1125)
* Declared support for, and added testing against, Python 3.8. (1138)
* Fix filterset multiple inheritance bug (1131)
* Allowed customising default lookup expression. (1129)
* Drop Django 2.1 and below (1180)
* Fixed IsoDateTimeRangeFieldTests for Django 3.1
* Require tests to pass against Django `master`.

2.2

-----------------------

* Added ``DjangoFilterBackend.get_schema_operation_parameters()`` for DRF 3.10+
OpenAPI schema generation. (1086)
* Added ``lookup_expr`` to ``MultipleChoiceFilter`` (1054)
* Dropped support for EOL Python 3.4

2.1

-----------------------

* Fixed a regression in ``FilterView`` introduced in 2.0. An empty ``QuerySet`` was
incorrectly used whenever the FilterSet was unbound (i.e. when there were
no GET parameters).  The correct, pre-2.0 behaviour is now restored.

A workaround was to set ``strict=False`` on the ``FilterSet``. This is no
longer necessary, so you may restore `strict` behaviour as desired.

* Added ``IsoDateTimeFromToRangeFilter``. Allows From-To filtering using
ISO-8601 formatted dates.

2.0

-----------------------

2.0 introduced a number of small changes and tidy-ups.
Please see the migration guide:

https://django-filter.readthedocs.io/en/main/guide/migration.html#migrating-to-2-0

* Added testing for Python 3.7 (944)
* Improve exception message for invalid filter result (943)
* Test QueryDict against CSV filters (937)
* Add `renderer` argument to `render()` method of `BooleanWidget` (923)
* Fix lookups for reverse relationships (915)
* Refactor backend filterset instantiation (865)
* Improve view-related attribute name consistency (867)
* Fix distinct call for range filters (855)
* Fix empty value check for CSV range (854)
* Rework DateRangeFilter (852)
* Added testing for Django 2.1
* Rework 'lookup types' handling into LookupChoiceFilter (851)
* Add linting and docs builds to CI (850)
* Use DRF BooleanFilter for NullBooleanField (844)
* Added Brazilian locale (841)
* List Django as a dependency in setup.py (846)
* Keep coverage reports files off version control. (924)
* Update migration docs (866)
* Added  be, cs and uk translations. Updated de and ru (861)
* Slovak translation (886)
* Added Django 2.0 support. (836)
* Fix warnings build (829)
* Add greek translation (827)
* Replaced super(ClassName, self) with super() (821)
* Fixed doc URL in utils.deprecate(). (820)
* Added danish translation to django-filter (809)
* Rework validation, add queryset filter method (788)
* Fix Schema warnings (803)
* Update {Range,LookupType}Widgets to use suffixes (770)
* Method signature improvements (800)
* Remove more deprecations (801)
* Drop python 2, Django<1.11 support (797)
* Remove 'Meta.together' option (791)
* [2.x] Remove some deprecations (795)
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant