File: CHANGES.rst

package info (click to toggle)
django-filter 2.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 1,396 kB
  • sloc: python: 7,483; javascript: 7,213; makefile: 144
file content (406 lines) | stat: -rw-r--r-- 11,697 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
Version 2.4.0 (2020-9-27)
--------------------------

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

Version 2.3.0 (2020-6-5)
------------------------

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

Version 2.2 (2019-7-16)
-----------------------

* 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


Version 2.1 (2019-1-20)
-----------------------

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


Version 2.0 (2018-7-13)
-----------------------

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

https://django-filter.readthedocs.io/en/master/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)


Version 1.1 (2017-10-19)
------------------------

* Add Deprecations for 2.0 (#792)
* Improve IsoDateTimeField test clarity (#790)
* Fix form attr references in tests (#789)
* Simplify tox config, drop python 3.3 & django 1.8 (#787)
* Make get_filter_name a classmethod, allowing it to be overriden for each FilterClass (#775)
* Support active timezone (#750)
* Docs Typo: django_filters -> filters in docs (#773)
* Add Polish translations for some messages (#771)
* Remove support for Django 1.9 (EOL) (#752)
* Use required attribute from field when getting schema fields (#766)
* Prevent circular ImportError hiding for rest_framework sub-package (#741)
* Deprecate 'extra' field attrs on Filter (#734)
* Add SuffixedMultiWidget (#681)
* Fix null filtering for *Choice filters (#680)
* Use isort on imports (#761)
* Use urlencode from django.utils.http (#760)
* Remove OrderingFilter.help_text (#757)
* Update DRF test dependency to 3.6 (#747)


Version 1.0.4 (2017-05-19)
--------------------------

Quick fix for verbose_field_name issue from 1.0.3 (#722)


Version 1.0.3 (2017-05-16)
--------------------------

Improves compatibility with Django REST Framework schema generation.

See the `1.0.3 Milestone`__ for full details.

__ https://github.com/carltongibson/django-filter/milestone/13?closed=1



Version 1.0.2 (2017-03-20)
--------------------------

Updates for compatibility with Django 1.11 and Django REST Framework 3.6.

Adds CI testing against Python 3.6

See the `1.0.2 Milestone`__ for full details.

__ https://github.com/carltongibson/django-filter/milestone/12?closed=1


Version 1.0.1 (2016-11-28)
--------------------------

Small release to ease compatibility with DRF:

* #568 Adds ``rest_framework`` to the ``django_filters`` namespace to allow single
  ``import django_filters` usage.
* A number of small updates to the docs


Version 1.0 (2016-11-17)
------------------------

This release removes all the deprecated code from 0.14 and 0.15 for 1.0 #480.

Please see the `Migration Notes`__ for details of how to migrate.
Stick with 0.15.3 if you're not ready to update.

__ https://github.com/carltongibson/django-filter/blob/1.0.0/docs/guide/migration.txt

The release includes a number of small fixes and documentation updates.

See the `1.0 Milestone`__ for full details.

__ https://github.com/carltongibson/django-filter/milestone/8?closed=1


Version 0.15.3 (2016-10-17)
---------------------------

Adds compatibility for DRF (3.5+) get_schema_fields filter backend
introspection.

* #492 Port get_schema_fields from DRF


Version 0.15.2 (2016-09-29)
---------------------------

* #507 Fix compatibility issue when not using the DTL


Version 0.15.1 (2016-09-28)
---------------------------

A couple of quick bug fixes:

* #496 OrderingFilter not working with Select widget

* #498 DRF Backend Templates not loading



Version 0.15.0 (2016-09-20)
---------------------------

This is a preparatory release for a 1.0. Lots of clean-up, lots of changes,
mostly backwards compatible.

Special thanks to Ryan P Kilby (@rpkilby) for lots of hard work.

Most changes should raise a Deprecation Warning.

**Note**: if you're doing *Clever Things™* with the various filter options
— ``filter_overrides`` etc — you may run into an `AttributeError` since these
are now defined on the metaclass and not on the filter itself.
(See the discussion on #459)

Summary: Highly Recommended, but take a moment to ensure everything still works.

* Added the DRF backend. #481

* Deprecated `MethodFilter` in favour of `Filter.method` #382

* Move filter options to metaclass #459

* Added `get_filter_predicate` hook. (Allows e.g. filtering on annotated fields) #469

* Rework Ordering options into a filter #472

* Hardened all deprecations for 1.0. Please do see the `Migration Notes`__

__ https://github.com/carltongibson/django-filter/blob/1.0.0/docs/guide/migration.txt



Version 0.14.0 (2016-08-14)
---------------------------

* Confirmed support for Django 1.10.

* Add support for filtering on DurationField (new in Django 1.8).

* Fix UUIDFilter import issue

* Improve FieldLookupError message

* Add filters_for_model to improve extensibility

* Fix limit_choices_to behavior with callables

* Fix distinct behavior for range filters

* Various Minor Clean up issues.


Version 0.13.0 (2016-03-11)
---------------------------

* Add support for filtering by CSV #363

* Add DateTimeFromToRangeFilter #376

* Add Chinese translation #359

* Lots of fixes.


Version 0.12.0 (2016-01-07)
---------------------------

* Raised minimum Django version to 1.8.x

* FEATURE: Add support for custom ORM lookup types #221

* FEATURE: Add JavaScript friendly BooleanWidget #270

* FIXED: (More) Compatability with Django 1.8 and Django 1.9+

* BREAKING CHANGE: custom filter names are now also be used for ordering #230

    If you use ordering on a field you defined as custom filter with custom
    name, you should now use the filter name as ordering key as well.

    Eg. For a filter like :

        class F(FilterSet):
            account = CharFilter(name='username')
            class Meta:
                model = User
                fields = ['account', 'status']
                order_by = True

     Before, ordering was like `?o=username`. Since 0.12.0 it's `o=account`.


Version 0.11.0 (2015-08-14)
---------------------------

* FEATURE: Added default filter method lookup for MethodFilter #222

* FEATURE: Added support for yesterday in daterangefilter #234

* FEATURE: Created Filter for NumericRange. #236

* FEATURE: Added Date/time range filters #215

* FEATURE: Added option to raise with `strict` #255

* FEATURE: Added Form Field and Filter to parse ISO-8601 timestamps


Version 0.10.0 (2015-05-13)
---------------------

* FEATURE: Added ``conjoined`` parameter to ``MultipleChoiceFilter``

* FEATURE: Added ``together`` meta option to validate fields as a group

* FIXED: Added testing on Django 1.8

* FIXED: ``get_model_field`` on Django 1.8


Version 0.9.2 (2015-01-23)
--------------------------

* FIXED: Compatibility with Django v1.8a1

Version 0.9.1 (2014-12-03)
--------------------------

* FIXED: Compatibility with Debug Toolbar's versions panel

Version 0.9 (2014-11-28)
------------------------

* FEATURE: Allow Min/Max-Only use of RangeFilter

* FEATURE: Added TypedChoiceFilter

* FIXED: Correct logic for short circuit on MultipleChoiceFilter

    Added `always_filter` attribute and `is_noop()` test to apply short-circuiting.

    Set `always_filter` to `False` on init to apply default `is_noop()` test.
    Override `is_noop()` for more complex cases.

* MISC: Version bumping with ``bumpversion``


Version 0.8 (2014-09-29)
------------------------

 * FEATURE: Added exclusion filters support

 * FEATURE: Added `fields` dictionary shorthand syntax

 * FEATURE: Added `MethodFilter`.

 * FIXED: #115 "filters.Filter.filter() fails if it receives [] or () as value"

 * MISC: Various Documentation and Testing improvements



Version 0.7 (2013-08-10)
------------------------

 * FEATURE: Added support for AutoField.

 * FEATURE: There is a "distinct" flag to ensure that only unique rows are
   returned.

 * FEATURE: Support descending ordering (slighty backwards incompatible).

 * FEATURE: Support "strict" querysets, ie wrong filter data returns no results.

 * FIXED: Some translation strings were changed to be in line with admin.

 * FIXED: Support for Django 1.7.

Version 0.6 (2013-03-25)
------------------------

* raised minimum Django version to 1.4.x

* added Python 3.2 and Python 3.3 support

* added Django 1.5 support and initial 1.6 compatability

* FEATURE: recognition of custom model field subclasses

* FEATURE: allow optional display names for order_by values

* FEATURE: addition of class-based FilterView

* FEATURE: addition of count() method on FilterSet to prevent pagination
  from loading entire queryset

* FIXED: attempts to filter on reverse side of m2m, o2o or fk would
  raise an error


Version 0.5.4 (2012-11-16)
--------------------------

* project brought back to life