Many thanks for contributions to [askvortsov1](https://github.com/askvortsov1) and [peppelinux](https://github.com/peppelinux) for the contributions in this release
Added
- More NameID formats supported, and a check on support for a format by the IDP was added. [32](https://github.com/OTA-Insight/djangosaml2idp/issues/32), [38](https://github.com/OTA-Insight/djangosaml2idp/issues/38), [46](https://github.com/OTA-Insight/djangosaml2idp/issues/45)
- The field on user to be used for the NameID can now be configured per SP via the `nameid_field` in the `SAML_IDP_SPCONFIG`.
- The setting for signed responses and assertions can be configured per SP in the `SAML_IDP_SPCONFIG`. The default algorithm if not specified has been upgraded from SHA1 to SHA256. [35](https://github.com/OTA-Insight/djangosaml2idp/issues/35)
- SLO (single_logout_service) support for both POST and REDIRECT binding. The path of the new view is `slo/<str:binding>/`. [23](https://github.com/OTA-Insight/djangosaml2idp/issues/23)
- The `attribute_mapping` per SP in the `SAML_IDP_SPCONFIG` for constructing the identity dict now accepts a callable method on an object next to a normal attribute.
- Assertions can now be encrypted. This can be configured per SP using the `encrypt_saml_responses` in the `SAML_IDP_SPCONFIG`, and set globally using the `SAML_ENCRYPT_AUTHN_RESPONSE` setting. [36](https://github.com/OTA-Insight/djangosaml2idp/issues/36)
Changed
- **BREAKING CHANGE**: the `create_identity(...)` method on the Processor class has had it's signature change. It now does not accept extra kwargs anymore, only the user and the attribute_mapping. This might or might not be relevant to you; it is if you have subclassed a processor and have customized the `create_identity` method there.
- Improved logging with pretty representation of requests/responses.