Many thanks for contributions to [lgarvey](https://github.com/lgarvey)
- The user identifier attribute is now customizable via the `SAML_IDP_DJANGO_USERNAME_FIELD` settings. [PR20](https://github.com/OTA-Insight/djangosaml2idp/pull/20)
- Supports the HTTP REDIRECT binding. [PR20](https://github.com/OTA-Insight/djangosaml2idp/pull/20)
- Bugfix in the NameID generation where destination instead of entity ID was used. (https://github.com/OTA-Insight/djangosaml2idp/issues/18)
- **BREAKING CHANGE**: the `has_access(user)` method on the Processor class has been changed to `has_access(request)`. This to allow a broader scope of access control checks to perform. If you have subclassed the `BaseProcessor` class and have overriden this method with a custom implementation, you will need to change this.
Many thanks for contributions to [jlunger-arcweb](https://github.com/jlunger-arcweb)
- IDP-initiated login
- Example project extended with IDP-initiated login and improved docs on it
Many thanks for contributions to [peppelinux](https://github.com/peppelinux), [saundersmatt](https://github.com/saundersmatt), [JosephKiranBabu](https://github.com/JosephKiranBabu)
- Python 3 support
- Django 2.x supported. Tested with 2.0 and 2.1
- Added some docstring on certain methods
- Added decorators to the views to restrict allowed HTTP methods, and disable browser caching of the views.
- Multi Factor Authentication: view is now a Class-Based View for easier subclassing. Functionality remains the same, so users who have implemented their own view with this name will not break.
- Updated certificates included in the example project
- Reworked login process view to a CBV.
- Small updates to example project to show where you are in the browser.
- Python 2 support
- Django < 2.x support
Many thanks for contributions to [goetzk](https://github.com/goetzk)
- Multi factor authentication