BREAKING CHANGE: This release is the first 2.x release, and drops support for EOL python and Django versions, all feature development will be done against 2.X branch.**
Changes since 1.4.0:
- Add support for python 3.10 and Django 4.0 (Merge 7bfb5b6)
- Add compiled IT translation (Merge e39395f)
- Don't add empty form to AdvancedFilterFormSet.forms (Merge 7bfb5b6)
- Drop support for EOL Python 2.7 and 3.5 (Merge dfeb005)
- Drop support for EOL Django 3.0 (Merge dfeb005)
- Drop support for EOL Django up to 2.2 (Merge dfeb005)
- Upgrade Python syntax with pyupgrade --py36-plus (Merge dfeb005)
- Remove six (Merge dfeb005)
- Remove unused import (Merge dfeb005)
- Drop support for python 3.6 (Merge 7bfb5b6)
- Correct support matrix (Merge 7bfb5b6)
- Simplify url path import (Merge 7bfb5b6)
- Remove standalone clean env from tox envlist (Merge 7bfb5b6)
- Remove unused cached_property import (Merge 7bfb5b6)
- Add Django 3.2 to classifiers (#163)
- f-string for model_name string interpolation (Merge dfeb005)
- remove unsupported django 3.1 from tox matrix (Merge 7bfb5b6)
- update README and remove Django 3.1 classifier
- Fabrizio Corallini
- Dmytro Litvinov
- Hugo van Kemenade
- Pavel Savchenko
NOTE: This release will be the last one to include features in 1.X branch, other than urgent hotfixes; version 2.X will drop support for EOL python and Django versions, and all future development will be done against 2.X branch
Changes since 1.3.0:
- Add Latvian translation (#135)
- Commit compiled translation files (Merge db448fa)
- switch from ugettext to gettext (#134)
- don't use default dict (Merge db448fa)
- correctly update extra_context (Merge db448fa)
- support parallel coverage reporting (Merge db448fa)
- Fix CI for 2021 (#147)
- Don't run tests in GitHub actions twice, one per PR is enough (da6fe7f24982a0fa69fcebff79d658b087de5e5b)
- Ignore vscode settings (Merge db448fa)
- Pavel Savchenko
- Māris Nartišs
Apologies for the late release, and thanks to everyone that contributed.
- Add support for python 3.9 and django 3.1
- import FieldDoesNotExist from django.core.exceptions
- Update django-braces
- Update Admin to show model
- Add Turkish translation
- Correct travis.yml deprecated/dupe keywords
- Pavel Savchenko
- predatell
- Özcan YARIMDÜNYA
- Thu Trang Pham
- João Batista
It's finally time to drop the dirty old rags and don some fresh colors.
Thanks to effort from multiple contributors, this version includes support for newest Django version.
- Add support for Django 2.2 and 3.0
- Drop support for Django < 1.9
- Drop support for Python 3.3-3.4
django-advanced-filters now support only python 2.7, and 3.5 - 3.8.
- Switch deprecated force_text to force_str (Merge 0427d11)
- Avoid installing newer braces (Merge 0427d11)
- Allow choices sort on None fields (Merge 142ecd0)
- Update dependencies stated in the README
- Refactor some unittest test cases into pytest (Merge 41271b7)
- Test the CleanWhiteSpacesMixin helper
- Update requirements for new test deps matrix (Merge 0427d11)
- Replace deprecated assertEquals (Merge 41271b7)
- Replace deprecated logger.warn with warning (Merge 41271b7)
- Bump test dependencies (Merge 41271b7)
- Update python and add Django classifiers
- Petr Dlouhý
- Alon Raizman
- Hugo Maingonnat
- Arpit
- Pavel Savchenko
This release is for fixing the bug when installing with specific environment ( locale that defaults to CP-1252).
- Add encoding='utf-8' to open() in setup.py (Merge 2fe81aa)
- add CONTRIBUTING.rst with common processes (Merge ee7907e)
- Update issue templates (Merge ee7907e)
- Rebecca Turner
- Pavel Savchenko
This release highlights support for Django 2.0 and 2.1 as well as deprecating support for versions Django < 1.7 and Python 2.6 and 3.3
- bump django-braces==1.13 for Django 2 support (Merge 80e055e)
- use request context processor in test_project (Merge 80e055e)
- ignore .DS_Store
- fixes for Django 2.0 and 1.11, update tests (Merge 80e055e)
- test in Django 2.1 (Merge d8d236d)
- add updated migrations of model attributes (Merge 80e055e)
- fix ValueError while creating empty form (Merge d8d236d)
- python 2.6 and django < 1.7 are deprecated
- lower and upper bounds in install_requires
- avoid all-catch except clause (Merge 80e055e)
- correct tox env django spec for ver 1.11 (Merge 80e055e)
- correct make_query assertion for Django>=2 (Merge 80e055e)
- update pytest-django in diff. envs + tox (Merge d8d236d)
- Goncalo Gomes
- predatell
- Petr Dlouhý
- benny daon
- Pavel Savchenko
- Equivalent to the prev version, bumped since we can't reupload the files to PyPi.
This is mostly a minor release with the biggest being the AdvancedFilterForm.Media fix, 2 additional translations and bunch of docs cleanup (thanks everyone)!
Changes since 1.0.6:
- Fix AdvancedFilterForm Media declaration
- Fix pep8: E128 on forms.py (Merge d7acb36)
- Add Japanese locale (Merge d7acb36)
- Add Spanish locale (Merge 1a482cf)
- a bit of polishing (Merge 4c88ea3)
- removing confusing migrations paragraph (Merge 4c88ea3)
- KINOSHITA Shinji
- Pavel Savchenko
- Benny Daon
- Mathieu Richardoz
- José Sánchez Moreno
This release is long overdue, and includes some important fixes as well as general improvements to code and documentation.
- fixing TypeError: can only concatenate tuple (not "list") to tuple
- ensure select2 is included last (Merge 9831ba5)
- add script to load jQuery globally
- remove invalid template variables
- fix input focusing error in chrome
- fix error when one missing range parameter caused error + test (Merge 365b646)
- don't override original change_list_templates in AdminAdvancedFiltersMixin
- make date range placeholder more pleasant (Merge 365b646)
- add created_at field
- Russian locale provided
- make it clear easy-select2 is not required anymore (Merge 9831ba5)
- Clarify how to import AdminAdvancedFiltersMixin in README
- add more fields/filter to test ModelAdmin
- Grigoriy Beziuk
- Никита Конин
- Pavel Savchenko
- Yuval Adam
- Petr Dlouhý
- updated AdvancedFilterQueryForm to include numeric comparison operators (Merge d3ee9f4)
- Fixed a bug where editing an existing Advanced Filter defaulted all operators to 'Equals' (Merge d3ee9f4)
- set AFQFormSet extra=0 instead of extra=1. I did this because having to check Delete is not clear to end users. (Merge d3ee9f4)
- changed the Advanced Filter admin so you a User by default can only view/edit filters that they create (unless they are a superuser) (Merge d3ee9f4)
- Fixed failing tests. Fixed bug where users weren't properly getting permissions to change or delete their filters (Merge d3ee9f4)
- changed solution for extra form appearing on editing. Now initialize form checks for falsy value for extra rather than extra just being None (Merge d3ee9f4)
- removed 'not instance from requirements for no extras (Merge d3ee9f4)
- pep8 fix (Merge d3ee9f4)
- Fixed labeling error with 'Greater Than or Equal To' (Merge d3ee9f4)
- Changes URL declaration to avoid deprecated pattern
- select2 only initializes if there are choices available. otherwise, the standard text input will be used (Merge 35d7063)
- Revert "select2 only initializes if there are choices available. otherwise, the standard text input will be used" (Merge 35d7063)
- updated query for choices for select2 field so that it will take only distinct choices. This allows max_choices to be the maximum unique choices. (Merge 35d7063)
- Changes URL declaration to avoid deprecated pattern (Merge 35d7063)
- refactored retrieval of choices so that the db is getting distinct values; added test (Merge 35d7063)
- pep8 (Merge 35d7063)
- Use order_by to avoid ambiguity
- drop django-easy-select2 and include select2 directly
- test with both Python 3.5 and Django 1.10
- removed print statement from test (Merge 35d7063)
- fixed failing test to account for new distinct for max choices (Merge 35d7063)
- added test to make sure all operators are properly restored from Queries (Merge d3ee9f4)
- Pavel Savchenko
- PJ Passalacqua
- Hermano Cabral
This release contains a fix to allow distribution installation on Python 3 which was broken since 1.0.2
This is a quick fix for packaging (setup.py) errors and documentation.
- add missing Django 1.7 migrations
- README updated to mention
manage.py migrate
command - Use ReST for README and CHANGELOG: avoid conversion from markdown
This release features better test coverage and support for Django 1.9.
- stretch formset table to the modal container width
- toggle advanced
vendor/jquery
dir according to Django version - retain support older Django versions
- clean up legacy tags in templates
- add admin views tests
- add Django 1.9 to test matrix
- other minor improvements
- Improve README with a newer screenshot and pretty tables for badges
- Pavel Savchenko
- Leonardo J. Caballero G
- Schuyler Duveen
- proper support for py26 and py3X and different Django releases
- avoid querying all instances for choices
- resolve settings inside view and refine error handling
- add doctests to the
form_helpers
- add tests for
forms
- add test case
views.TestGetFieldChoicesView
- setup.py/travis: add
test-reqs.txt
as extras_require - refactor testing to use
py.test
and runtox
fromsetup.py
- travis: use latest version of each Django release
README
: explain what we test against
- Add a new (required) field
`AdvancedFilter.model
<https://raw.githubusercontent.com/modlinltd/django-advanced-filters/develop/README.rst#model-correlation>`__ - Add parsing query dict into initialized formsets (allows for editing existing instance).
- Add
`AdvancedFilterAdmin
<#editing-previously-created-advanced-filters>`__ for actually accessing and editing existing ``AdvancedFilter` instances <https://raw.githubusercontent.com/modlinltd/django-advanced-filters/develop/README.rst#editing-previously-created-advanced-filters>`__. - Use Select2 and
an AJAX view to dynamically populate
`field
options <https://raw.githubusercontent.com/modlinltd/django-advanced-filters/develop/README.rst#fields>`__. - Add proper support for nested serialization of queries.
- Implement more
`operators
<https://raw.githubusercontent.com/modlinltd/django-advanced-filters/develop/README.rst#operators>`__ (isnull
,istrue
andisfalse
) - Allow custom verbose naming of fields in advanced_filter_fields
- Add helper methods to the model to hide (and decouple) core serialization functionality from users.
- Strip whitespace in field values validation
- Setup and packaging (
setup.py
/MANIFEST.in
) - Hide
QSerializer
calling logic in the model - Allow modifying
advanced_filter_form
property (defaults toAdvancedFilterForm
) - Correct documentation regarding position of mixin in subclass (issue #1)