Changelog¶
Listed are the high-level, notable changes for each django-cas-ng release. Backwards incompatible changes or other upgrade issues are also described here. For additional detail, read the complete commit history.
django-cas-ng 5.0.0 [2023-09-05]
- PR #332: Allow custom “next_page” in LoginView and LogoutView get method @B-Alica 
- PR #334: Add doc CAS_ADMIN_REDIRECT @YDX-2147483647 
- PR #331 to close #317: Change session_key max length to 768 for utf8mb4 
- PR #330: Add testing on python 3.11 @nikolas 
- PR #330: Add testing on python 3.11 @nikolas 
- PR #326: Rename new setting to use AFFILIATIONS for consistency @nikolas 
- PR #327: Remove support for django 2.0 and 2.1 @nikolas 
- PR #325: Introduce new config setting CAS_AFFILIATION_HANDLERS @nikolas 
- PR #323: Remove python 3.5 @nikolas 
- PR #322: Fix bug where group creation in affils mapper failed @nikolas 
- PR #318: Add new CAS_MAP_AFFILIATIONS config option to support CAS affiliation - close #314 @nikolas 
django-cas-ng 4.3.0 [2022-01-08]
- PR #308: Improve redirect url when CAS_ROOT_PROXIED_AS is empty @mbaechtold 
- PR #307: Fix #306 the logout service url when using CAS_ROOT_PROXIED_AS @doomse 
- Add compatibility with Django 4.0. @mbaechtold 
- PR #305: Fix #304: warning on system check from Django 3.2 @corralien 
- PR #303: Remove unused travis files@nikolas 
- PR #302: Add django 3.2 and py3.9/3.10 testing @nikolas 
- PR #298: Add CAS_SESSION_FACTORY setting to allow customizing requests Session @intgr 
- PR #296: Fix #281: session.session_key is None for signed_cookies sessions on first request @davidmgvaz 
- PR #295: Fix #294 DataError at /accounts/login/ value too long 
django-cas-ng 4.2.1 [2021-06-11]
- PR #290: Fix #289 Change in conditional in Middleware to avoid infinite redirects @elyak123 
django-cas-ng 4.2.0 [2021-06-03]
- PR #285: Fix #284: Change default of CAS_USERNAME_ATTRIBUTE to cas:user @b4ldr 
- PR #282: Bugfix: Let checking of the “next” URL parameter be configurable @sebastianmanger 
- PR #278: Add Django 3.1 to tox @nikolas 
- PR #277: Fix tox isort command @nikolas 
- PR #276: Don’t use ‘del’ statement, to fix deepsource error @nikolas 
- PR #275: Fix deepsource error @nikolas 
- PR #274: Truncate session key if it’s longer than possible @nikolas 
- PR #273: Remove Signal(providing_args=) argument, deprecated in Django 3.1 @intgr 
- PR #268: returned translations after merging a broken branch @jolob5l 
- PR #267: Add annotations for utils.py @jolob5l 
- PR #266: typing support @jolob5l 
- PR #265: Add russian and ukranian translations @jolob5l 
- PR #263: Fix typo in ProxyGrantingTicket.session_key max_length @nikolas 
- PR #262: Add the CAS_ADMIN_REDIRECT option to disable admin redirect @nikolas 
- PR #261: Increase session_key size to account for signed cookies - closes #260 @nikolas 
- PR #259: Change thrown exception to specific type @spielmannj 
- PR #258: Fix: v1 cas client create error @ibuler 
- PR #257: Fix: urljoin @LeoSirius 
- django-cas-ng 4.1.1 [2020-02-26]
- PR #246: Mark package as PEP 561 typing compliant. @intgr 
- PR #247: Improved type annotations. @intgr 
- Add russian and ukranian translations. 
 
django-cas-ng 4.1.0 [2020-02-25]
PR #244: New setting CAS_FORCE_SSL_SERVICE_URL forces the service url to always target HTTPS. @mikegostomski
PR #241: Fix #240: SessionTicket and ProxyGrantingTicket do not delete issue. @vpr-dev
Add typing hints for public API.
Fix potential issues in deep source.
django-cas-ng 4.0.1 [2020-01-16]
Split README into docs.
Update reference to new repo URL.
django-cas-ng 4.0.0 [2020-01-16]
Break change: Drop python 2.x support
Break change: Drop django 1.x support
PR-206: New behavior for CAS_USERNAME_ATTRIBUTE setting which will now fallback to setting the specified attribute for username when set with a value other than the default (uid) when using a CAS_VERSION that did not previously support this behavior (anything other than CAS_VERSION = ‘CAS_2_SAML_1_0).
PR-195: Fix bug where session_key is empty after logging in.
PR-196: Add support for CAS response callbacks by setting CAS_RESPONSE_CALLBACKS (fix #109)
PR-131: Fix get_proxy_ticket method usage
PR-134: Allow relative CAS_SERVER_URL starts with ‘/’ without protocol and hostname.
Fix #138 Patched README.rst example code.
PR-127: Update requirements.txt: django-cas to 1.2.0
PR-234: Run flake8 on the entire project
PR-233: Update Travis configuration and test matrix
PR-232: Remove test branches for Django.VERSION < 2
PR-231: Replace deprecated ugettext_lazy with gettext_lazy
PR-230: Document project as Python 3.5+ only
PR-229: Remove unnecessary workaround for unsupported Pythons
PR-222: Upgrade to support Django 3.0
django-cas-ng 3.6.0 [2018-11-23]
Removed support for Django < 1.11.
PR-188: Introduce isort for automatic import ordering
PR-187: Remove unused workarounds for EOL Django < 1.10
PR-186: Simplify dependency handling in tox.ini
PR-184: Remove unnecessary distutils fallback from setup.py
PR-183: Use skip_install=true for lint or static tox targets
PR-182: Distribute package as a universal wheel
PR-181: Remove unused submodule python-cas
PR-180: Trim trailing white space throughout the project
PR-179: Class-based Login, Logout and Callback views, plus successful_login overridable method
PR-177: Fix #172 attributes that do not change being removed
PR-176: Fix #106: Adding CAS_VE RIFY_SSL_CERTIFICATE setting
PR-173: Include ‘django_cas_ng.middleware.CASMiddleware’ middleware in example settings of README
PR-171: Fix #170 in README: Fix broken links, add syntax highlighting and slight changes to the bad_attributes_reject example
Fix #164: Remove dead links in README
django-cas-ng 3.5.10 [2018-10-09]
PR-149: Add CAS_PROXIED_AS config: Allow functioanlity behind a proxy server like mod_auth_cas for apache.
PR-150: Django 2.0 compatibility (user.is_authenticated).
PR-154: Catalan and Spanish translation
PR-156: Add support for CAS attributes renaming
PR-165: Fix CAS_ROOT_PROXIED_AS double slash
django-cas-ng 3.5.9 [2018-01-02]
Add the optional setting CAS_CREATE_USER_WITH_ID. (PR #129)
Fix get_proxy_ticket method usage. (PR #131)
Add django 2.0 compability. (PR #143 #146)
Added bad_attributes_reject to check SAML key/value attributes. (PR #145)
django-cas-ng 3.5.8 [2017-06-30]
Upgrade django-cas to 1.2.0
Fix: Coerce boolean strings in attributes to actual boolean values
Update middleware for consistency with new-style django middleware
Add CAS_APPLY_ATTRIBUTES_TO_USER new settings option to apply attributes to User model.
Add support for applying attributes returned from ticket to User model
django-cas-ng 3.5.7 [2016-11-06]
Added the request to the signals
Address #114 by providing a setting CAS_STORE_NEXT
Change authenticate() argument order for changes in Django 1.11
CAS_REDIRECT_URL should accept named URL patterns
Add requests to requirements
django-cas-ng 3.5.6 [2016-11-06]
- Depends python_cas>=1.2.0 
django-cas-ng 3.5.5 [2016-09-28]
- Login after the session is created, fix the need for double login (such as #83, might fix it but seems slightly different) 
- Fix #96 Login after the session is created, fix the need for double login 
- Fix #95 by delete django requirement from setup.py 
- Fix #91 - raise PermissionDenied rather than return HttpResponseForbidden 
- Add check_additional_permissions to the backend. This allows one to subclass the backend and add arbitrary user permissions checks when authenticating. 
django-cas-ng 3.5.4 [2016-04-27]
- Support for string view arguments to url() is deprecated and will be removed in Django 1.10. 
- Add migrations. 
- Add initial migrations file. 
- Add CAS_FORCE_CHANGE_USERNAME_CASE option to convert username case to lower or upper. This prevent duplicate account creation in some case. 
- Bugfix for loop redirect when CAS_ADMIN_PREFIX is set as root. 
django-cas-ng 3.5.3 [2015-11-20]
- Add translation mo files into release build. 
django-cas-ng 3.5.2 [2015-11-19]
- Add python-cas to install_requires. 
django-cas-ng 3.5.1 [2015-11-10]
- Remove the auto_now and keep the auto_now_add per the documentation. 
django-cas-ng 3.5.0 [2015-11-08]
- Add support for Proxy Granting Ticket. 
- Add Single Logout support. 
- Add Python3 support. 
- Add Django 1.8 support. 
- Add support for custom user model. 
- Add CAS_USERNAME_ATTRIBUTE which allows picking an alternative variable to store the username in the cas attributes. 
- Add CAS_DISPLAY_LOGIN_MESSAGE setting to control whether show welcome message, default is true. 
- Fix redirecting with the “?next” parameter. 
django-cas-ng 3.4.2 [2015-01-11]
- Fix forbidden error. 
- Add CAS_CREATE_USER setting to control over whether or not a user is created. 
django-cas-ng 3.4.1 [2014-11-27]
- Specific django version in dependence. 
- Removed the ticket GET param from the service, as it could break CAS. 
django-cas-ng 3.4.0 [2014-11-12]
- Add signal support - django_cas_ng.signals.cas_user_authenticated
- Add python 3.4 test env 
django-cas-ng 3.3.0 [2014-11-05]
- Support Django 1.7 
- Integrate with travis-ci 
django-cas-ng 3.2.0 [2014-10-25]
- Add CAS_RENEW setting to enforce CAS renew feature. Default is False. 
- Port to Python 3 (Python 2 also supported) 
- Allow multiple attributes with the same name for CAS3 
- django-cas-ng 3.1.0 [2014-05-25]
- Support Django 1.5 custom user model.