- Confirm support for Django 4.1
- Add
DEFENDER_ATTEMPT_COOLOFF_TIME
config to overrideDEFENDER_COOLOFF_TIME
specifically for attempt lifespan [@djmore4] - Add
DEFENDER_LOCKOUT_COOLOFF_TIME
config to overrideDEFENDER_COOLOFF_TIME
specifically for lockout duration [@djmore4]
- Add username support to Redis configuration. [@erdos4d]
- Remove port number from IP address string when behind reverse proxy [@ndrsn]
- Drop Python 3.6 support from package specifiers.
- Drop Python 3.6 support.
- Drop Django 3.1 support.
- Confirm support for Django 4.0
- Confirm support for Python 3.10
- Drop Django 2.2 support.
- Fix failing tests for Django main development branch (Django 4.0) [@JonathanWillitts]
- Move CI to GitHub Actions.
- Drop support for Django 3.0
- Add support for Django 3.2
- FIX: Change setup.py to allow for Django 3.1.x versions [@s4ke]
- FIX: dynamic load celery [@balsagoth]
- FIX: Redis requirement updated [@flaviomartins]
- FIX: if special character in redis password, we can set DEFENDER_REDIS_PASSWORD_QUOTE to True, and use quote password [@calmkart]
- Add support for Django 3.0 [@deeprave]
- Remove support from deprecated Python 3.4 and Django 2.0. [@aleksihakli]
- Add Read the Docs documentation. [@aleksihakli]
- Add support for Python 3.7, Python 3.8, PyPy3. [@aleksihakli]
- Add and test support for Django 2.2 [@chrisledet]
- Add support for redis client 3.2.1 [@softinio]
- Add redispy 3.2.0 compatibility [@nrth]
- Remove Python 3.3 [@fr0mhell]
- Remove Django 1.8-1.10 [@fr0mhell]
- Add Celery v4 [@fr0mhell]
- Update travis config [@fr0mhell]
- Update admin URL [@fr0mhell]
- Add new setting
DEFENDER_GET_USERNAME_FROM_REQUEST_PATH
for control how username is accessed from request [@andrewshkovskii] - Add new argument
get_username
fordecorators.watch_login
to propagateget_username
argument to other utils functions calls done inwatch_login
[@andrewshkovskii]
- Add 2 new setting variables for more granular failure limit control [@williamboman]
- Add ssl option when instantiating StrictRedis [@mjrimrie]
- Send signals when blocking username or ip [@williamboman]
- Remove mockredis as install requirement, make only test requirement [@blueyed]
- Fix regex in 'unblock_username_view' to handle special symbols [@ruthus18]
- Fix django requires version for 1.11.x [@kencochrane]
- Remove hiredis dependency [@ericbuckley]
- Correctly get raw client when using django_redis cache. [@cburger]
- Replace django.core.urlresolvers with django.urls For Django 2.0 [@s-wirth]
- Add username kwarg for providing username directly rather than via callback arg [@williamboman]
- Only use the username if it is actually provided [@cobusc]
- Middleware fix for django >- 1.10 #93 [@Temeez]
- Force the username to lowercase #90 [@MattBlack85]
- Better support for Django 1.11 [@dukebody]
- Add support to share redis config with django.core.cache [@Franr]
- Allow decoration of functions beyond the admin login [@MattBlack85]
- Doc improvements [@dukebody]
- Allow usernames with plus signs in unblock view [@dukebody]
- Code cleanup [@KenCochrane]
- Flex version requirements for dependencies
- Better support for Django 1.10
- Better support for Django 1.9
- Minor refactor to make it easier to retrieve username.
- Add
DEFENDER_DISABLE_IP_LOCKOUT
and added support for Python 3.5
- Add
DEFENDER_LOCK_OUT_BY_IP_AND_USERNAME
, and changed settings to support django 1.8.
- Fix the management command name
- Add management command
cleanup_django_defender
to clean up access attempt table. - Add
DEFENDER_STORE_ACCESS_ATTEMPTS
config to say if you want to store attempts to DB or not. - Add
DEFENDER_ACCESS_ATTEMPT_EXPIRATION
config to specify how long to store the access attempt records in the db, before the management command cleans them up. - Change the Django admin page to remove some filters which were making the page load slow with lots of login attempts in the database.
- Another bug fix release for more missing files in distribution
- Bug fixes for packing missing files
- Add fixes to include possible security issue
- Initial Version